Index: remoting/base/decoder.h |
diff --git a/remoting/base/decoder.h b/remoting/base/decoder.h |
index dd377570b5215b4c09953318bb7d705213a4957a..04094506dd8d23f5718b9901f3f750e381f2eeaa 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|. |
+ 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 |