| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef REMOTING_CODEC_VIDEO_DECODER_VERBATIM_H_ | 5 #ifndef REMOTING_CODEC_VIDEO_DECODER_VERBATIM_H_ | 
| 6 #define REMOTING_CODEC_VIDEO_DECODER_VERBATIM_H_ | 6 #define REMOTING_CODEC_VIDEO_DECODER_VERBATIM_H_ | 
| 7 | 7 | 
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" | 
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" | 
| 10 #include "remoting/codec/video_decoder.h" | 10 #include "remoting/codec/video_decoder.h" | 
| 11 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h" |  | 
| 12 #include "third_party/webrtc/modules/desktop_capture/desktop_region.h" |  | 
| 13 | 11 | 
| 14 namespace remoting { | 12 namespace remoting { | 
| 15 | 13 | 
| 16 // Video decoder implementations that decodes video packet encoded by | 14 // Video decoder implementations that decodes video packet encoded by | 
| 17 // VideoEncoderVerbatim. It just copies data from incoming packets to the | 15 // VideoEncoderVerbatim. It just copies data from incoming packets to the | 
| 18 // video frames. | 16 // video frames. | 
| 19 class VideoDecoderVerbatim : public VideoDecoder { | 17 class VideoDecoderVerbatim : public VideoDecoder { | 
| 20  public: | 18  public: | 
| 21   virtual ~VideoDecoderVerbatim(); | 19   virtual ~VideoDecoderVerbatim(); | 
| 22 | 20 | 
| 23   VideoDecoderVerbatim(); | 21   VideoDecoderVerbatim(); | 
| 24 | 22 | 
| 25   // VideoDecoder implementation. | 23   // VideoDecoder implementation. | 
| 26   virtual bool IsReadyForData() OVERRIDE; | 24   virtual bool IsReadyForData() OVERRIDE; | 
| 27   virtual void Initialize(const webrtc::DesktopSize& screen_size) OVERRIDE; | 25   virtual void Initialize(const SkISize& screen_size) OVERRIDE; | 
| 28   virtual DecodeResult DecodePacket(const VideoPacket* packet) OVERRIDE; | 26   virtual DecodeResult DecodePacket(const VideoPacket* packet) OVERRIDE; | 
| 29   virtual VideoPacketFormat::Encoding Encoding() OVERRIDE; | 27   virtual VideoPacketFormat::Encoding Encoding() OVERRIDE; | 
| 30   virtual void Invalidate(const webrtc::DesktopSize& view_size, | 28   virtual void Invalidate(const SkISize& view_size, | 
| 31                           const webrtc::DesktopRegion& region) OVERRIDE; | 29                           const SkRegion& region) OVERRIDE; | 
| 32   virtual void RenderFrame(const webrtc::DesktopSize& view_size, | 30   virtual void RenderFrame(const SkISize& view_size, | 
| 33                            const webrtc::DesktopRect& clip_area, | 31                            const SkIRect& clip_area, | 
| 34                            uint8* image_buffer, | 32                            uint8* image_buffer, | 
| 35                            int image_stride, | 33                            int image_stride, | 
| 36                            webrtc::DesktopRegion* output_region) OVERRIDE; | 34                            SkRegion* output_region) OVERRIDE; | 
| 37   virtual const webrtc::DesktopRegion* GetImageShape() OVERRIDE; | 35   virtual const SkRegion* GetImageShape() OVERRIDE; | 
| 38 | 36 | 
| 39  private: | 37  private: | 
| 40   // The region updated that hasn't been copied to the screen yet. | 38   // The region updated that hasn't been copied to the screen yet. | 
| 41   webrtc::DesktopRegion updated_region_; | 39   SkRegion updated_region_; | 
| 42 | 40 | 
| 43   // Size of the remote screen. | 41   // Size of the remote screen. | 
| 44   webrtc::DesktopSize screen_size_; | 42   SkISize screen_size_; | 
| 45 | 43 | 
| 46   // The bitmap holding the remote screen bits. | 44   // The bitmap holding the remote screen bits. | 
| 47   scoped_ptr<uint8[]> screen_buffer_; | 45   scoped_ptr<uint8[]> screen_buffer_; | 
| 48 | 46 | 
| 49   DISALLOW_COPY_AND_ASSIGN(VideoDecoderVerbatim); | 47   DISALLOW_COPY_AND_ASSIGN(VideoDecoderVerbatim); | 
| 50 }; | 48 }; | 
| 51 | 49 | 
| 52 }  // namespace remoting | 50 }  // namespace remoting | 
| 53 | 51 | 
| 54 #endif  // REMOTING_CODEC_VIDEO_DECODER_VERBATIM_H_ | 52 #endif  // REMOTING_CODEC_VIDEO_DECODER_VERBATIM_H_ | 
| OLD | NEW | 
|---|