| 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
|
|
|