Chromium Code Reviews| Index: remoting/base/decoder.h |
| diff --git a/remoting/base/decoder.h b/remoting/base/decoder.h |
| index dd377570b5215b4c09953318bb7d705213a4957a..03e3ca6d0115d9fbb7ff17a6bc545907a4f1e1ba 100644 |
| --- a/remoting/base/decoder.h |
| +++ b/remoting/base/decoder.h |
| @@ -5,17 +5,13 @@ |
| #ifndef REMOTING_BASE_DECODER_H_ |
| #define REMOTING_BASE_DECODER_H_ |
| -#include <vector> |
| - |
| #include "base/memory/scoped_ptr.h" |
| #include "media/base/video_frame.h" |
| #include "remoting/proto/video.pb.h" |
| -#include "third_party/skia/include/core/SkRect.h" |
| +#include "third_party/skia/include/core/SkRegion.h" |
| namespace remoting { |
| -typedef std::vector<SkIRect> RectVector; |
| - |
| // Interface for a decoder that takes a stream of bytes from the network and |
| // outputs frames of data. |
| // |
| @@ -42,10 +38,10 @@ class Decoder { |
| // Feeds more data into the decoder. |
| virtual DecodeResult DecodePacket(const VideoPacket* packet) = 0; |
| - // Returns rects that were updated in the last frame. Can be called only |
| + // Returns the region affected by the most recent frame. Can be called only |
| // after DecodePacket returned DECODE_DONE. Caller keeps ownership of |
| - // |rects|. |rects| is kept empty if whole screen needs to be updated. |
| - virtual void GetUpdatedRects(RectVector* rects) = 0; |
| + // |region|. TODO: |rects| is kept empty if whole screen needs to be updated. |
|
Sergey Ulanov
2012/01/23 19:59:54
TODO(wez)?
It's better to move TODO to a separate
alexeypa (please no reviews)
2012/01/23 20:32:10
TODO: |rect| -> TODO: |region|
Wez
2012/01/23 21:37:23
As far as I can tell, that comment just isn't true
|
| + virtual void GetUpdatedRegion(SkRegion* region) = 0; |
| // Reset the decoder to an uninitialized state. Release all references to |
| // the initialized |frame|. Initialize() must be called before the decoder |
| @@ -65,14 +61,12 @@ class Decoder { |
| // Set the clipping rectangle to the decoder. Decoder should respect this and |
| // only output changes in this rectangle. The new clipping rectangle will be |
| // effective on the next decoded video frame. |
| - // |
| - // When scaling is enabled clipping rectangles are ignored. |
| virtual void SetClipRect(const SkIRect& clip_rect) {} |
| - // Force decoder to output a video frame with content in |rects| using the |
| - // last decoded video frame. |rects| are expressed in video frame rather |
| - // than output coordinates. |
| - virtual void RefreshRects(const RectVector& rects) {} |
| + // Force decoder to output a frame based on the specified |region| of the |
| + // most recently decoded video frame. |region| is expressed in video frame |
| + // rather than output coordinates. |
| + virtual void RefreshRegion(const SkRegion& region) {} |
| }; |
| } // namespace remoting |