Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Unified Diff: remoting/base/decoder_row_based.h

Issue 9331003: Improving the decoder pipeline. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Integer ScaleRect Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/base/decoder.h ('k') | remoting/base/decoder_row_based.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/base/decoder_row_based.h
diff --git a/remoting/base/decoder_row_based.h b/remoting/base/decoder_row_based.h
index 183086cea6c6039567932e2f85d75cc2a4c600ae..a88daa060806cf6857c811b3e0c50a6002e88b64 100644
--- a/remoting/base/decoder_row_based.h
+++ b/remoting/base/decoder_row_based.h
@@ -20,11 +20,16 @@ class DecoderRowBased : public Decoder {
// Decoder implementation.
virtual bool IsReadyForData() OVERRIDE;
- virtual void Initialize(scoped_refptr<media::VideoFrame> frame) OVERRIDE;
+ virtual void Initialize(const SkISize& screen_size) OVERRIDE;
virtual DecodeResult DecodePacket(const VideoPacket* packet) OVERRIDE;
- virtual void GetUpdatedRegion(SkRegion* region) OVERRIDE;
- virtual void Reset() OVERRIDE;
virtual VideoPacketFormat::Encoding Encoding() OVERRIDE;
+ virtual void Invalidate(const SkISize& view_size,
+ const SkRegion& region) OVERRIDE;
+ virtual void RenderFrame(const SkISize& view_size,
+ const SkIRect& clip_area,
+ uint8* image_buffer,
+ int image_stride,
+ SkRegion* output_region) OVERRIDE;
private:
enum State {
@@ -48,9 +53,6 @@ class DecoderRowBased : public Decoder {
// Keeps track of the updating rect.
SkIRect clip_;
- // The video frame to write to.
- scoped_refptr<media::VideoFrame> frame_;
-
// The compression for the input byte stream.
scoped_ptr<Decompressor> decompressor_;
@@ -63,8 +65,15 @@ class DecoderRowBased : public Decoder {
// The current row in the rect that we are updaing.
int row_y_;
+ // The region updated that hasn't been copied to the screen yet.
SkRegion updated_region_;
+ // Size of the remote screen.
+ SkISize screen_size_;
+
+ // The bitmap holding the remote screen bits.
+ scoped_array<uint8> screen_buffer_;
+
DISALLOW_COPY_AND_ASSIGN(DecoderRowBased);
};
« no previous file with comments | « remoting/base/decoder.h ('k') | remoting/base/decoder_row_based.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698