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 |