diff options
author | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-08 03:30:17 +0000 |
---|---|---|
committer | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-08 03:30:17 +0000 |
commit | d4d48be8a5e8e71041dad670af0e18d893888e3e (patch) | |
tree | a9b53fc091ead9ed740dfba21bdc715fcffff85c /remoting/client/rectangle_update_decoder.h | |
parent | e7594613917ab0d665abea21aa60701407c2c06e (diff) | |
download | chromium_src-d4d48be8a5e8e71041dad670af0e18d893888e3e.zip chromium_src-d4d48be8a5e8e71041dad670af0e18d893888e3e.tar.gz chromium_src-d4d48be8a5e8e71041dad670af0e18d893888e3e.tar.bz2 |
Fix startup race-conditions in new Decoder pipeline:
Fix RectangleUpdateDecoder to cope with rendering requests before it is ready.
Fix PepperView not to InitiateDrawing() until initialized.
Fix DecoderVp8::RenderFrame() to allow being called before a frame is decoded.
Add DCHECKs for screen and view size to DecoderVp8.
Clarify requirements on FrameProducer interface implementation in comments.
Clarify screen and view size requirements on Decoder interface methods.
BUG=116842,116851
Review URL: http://codereview.chromium.org/9624022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125536 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/client/rectangle_update_decoder.h')
-rw-r--r-- | remoting/client/rectangle_update_decoder.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/remoting/client/rectangle_update_decoder.h b/remoting/client/rectangle_update_decoder.h index 0ca7046..c61acb4 100644 --- a/remoting/client/rectangle_update_decoder.h +++ b/remoting/client/rectangle_update_decoder.h @@ -40,7 +40,7 @@ class RectangleUpdateDecoder : RectangleUpdateDecoder(base::MessageLoopProxy* message_loop, FrameConsumer* consumer); - // Initializes decoder with the infromation from the protocol config. + // Initializes decoder with the information from the protocol config. void Initialize(const protocol::SessionConfig& config); // Decodes the contents of |packet|. DecodePacket may keep a reference to @@ -48,7 +48,8 @@ class RectangleUpdateDecoder : // executed. void DecodePacket(const VideoPacket* packet, const base::Closure& done); - // FrameProducer implementation. + // FrameProducer implementation. These methods may be called before we are + // Initialize()d, or we know the source screen size. virtual void DrawBuffer(pp::ImageData* buffer) OVERRIDE; virtual void InvalidateRegion(const SkRegion& region) OVERRIDE; virtual void RequestReturnBuffers(const base::Closure& done) OVERRIDE; |