| Index: remoting/client/rectangle_update_decoder.h
|
| diff --git a/remoting/client/rectangle_update_decoder.h b/remoting/client/rectangle_update_decoder.h
|
| index e6c344e48a763cb58558866a1738a84390a46acb..1eb93b500f28e303366f4eb808214cbe40da1a09 100644
|
| --- a/remoting/client/rectangle_update_decoder.h
|
| +++ b/remoting/client/rectangle_update_decoder.h
|
| @@ -7,8 +7,8 @@
|
|
|
| #include "base/scoped_ptr.h"
|
| #include "base/task.h"
|
| +#include "gfx/size.h"
|
| #include "media/base/video_frame.h"
|
| -#include "remoting/base/decoder.h" // For UpdatedRects
|
|
|
| class MessageLoop;
|
|
|
| @@ -19,14 +19,22 @@ class FrameConsumer;
|
| class VideoPacketFormat;
|
| class VideoPacket;
|
|
|
| +namespace protocol {
|
| +class SessionConfig;
|
| +} // namespace protocol
|
| +
|
| // TODO(ajwong): Re-examine this API, especially with regards to how error
|
| // conditions on each step are reported. Should they be CHECKs? Logs? Other?
|
| +// TODO(sergeyu): Rename this class.
|
| class RectangleUpdateDecoder {
|
| public:
|
| RectangleUpdateDecoder(MessageLoop* message_loop,
|
| FrameConsumer* consumer);
|
| ~RectangleUpdateDecoder();
|
|
|
| + // Initializes decoder with the infromation from the protocol config.
|
| + void Initialize(const protocol::SessionConfig* config);
|
| +
|
| // Decodes the contents of |packet| calling OnPartialFrameOutput() in the
|
| // regsitered as data is avaialable. DecodePacket may keep a reference to
|
| // |packet| so the |packet| must remain alive and valid until |done| is
|
| @@ -34,21 +42,20 @@ class RectangleUpdateDecoder {
|
| //
|
| // TODO(ajwong): Should packet be a const pointer to make the lifetime
|
| // more clear?
|
| - void DecodePacket(const VideoPacket& packet, Task* done);
|
| + void DecodePacket(const VideoPacket* packet, Task* done);
|
|
|
| private:
|
| - static bool IsValidPacket(const VideoPacket& packet);
|
| + void InitializeDecoder(Task* done);
|
|
|
| - void InitializeDecoder(const VideoPacketFormat& format, Task* done);
|
| -
|
| - void ProcessPacketData(const VideoPacket& packet, Task* done);
|
| + void ProcessPacketData(const VideoPacket* packet, Task* done);
|
|
|
| // Pointers to infrastructure objects. Not owned.
|
| MessageLoop* message_loop_;
|
| FrameConsumer* consumer_;
|
|
|
| + gfx::Size screen_size_;
|
| +
|
| scoped_ptr<Decoder> decoder_;
|
| - UpdatedRects updated_rects_;
|
|
|
| // Framebuffer for the decoder.
|
| scoped_refptr<media::VideoFrame> frame_;
|
|
|