Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / media / cast / video_sender / fake_software_video_encoder.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef MEDIA_CAST_VIDEO_SENDER_FAKE_SOFTWARE_VIDEO_ENCODER_H_
6 #define MEDIA_CAST_VIDEO_SENDER_FAKE_SOFTWARE_VIDEO_ENCODER_H_
7
8 #include "media/cast/video_sender/software_video_encoder.h"
9
10 namespace media {
11 namespace cast {
12
13 class FakeSoftwareVideoEncoder : public SoftwareVideoEncoder {
14  public:
15   FakeSoftwareVideoEncoder();
16   virtual ~FakeSoftwareVideoEncoder();
17
18   // SoftwareVideoEncoder implementations.
19   virtual void Initialize() OVERRIDE;
20   virtual bool Encode(const scoped_refptr<media::VideoFrame>& video_frame,
21                       transport::EncodedVideoFrame* encoded_image) OVERRIDE;
22   virtual void UpdateRates(uint32 new_bitrate) OVERRIDE;
23   virtual void GenerateKeyFrame() OVERRIDE;
24   virtual void LatestFrameIdToReference(uint32 frame_id) OVERRIDE;
25
26  private:
27   bool next_frame_is_key_;
28   uint32 frame_id_;
29   uint32 frame_id_to_reference_;
30 };
31
32 }  // namespace cast
33 }  // namespace media
34
35 #endif  // MEDIA_CAST_VIDEO_SENDER_FAKE_SOFTWARE_VIDEO_ENCODER_H_