Home | History | Annotate | Download | only in sender
      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_SENDER_FAKE_SOFTWARE_VIDEO_ENCODER_H_
      6 #define MEDIA_CAST_SENDER_FAKE_SOFTWARE_VIDEO_ENCODER_H_
      7 
      8 #include "media/cast/cast_config.h"
      9 #include "media/cast/sender/software_video_encoder.h"
     10 
     11 namespace media {
     12 namespace cast {
     13 
     14 class FakeSoftwareVideoEncoder : public SoftwareVideoEncoder {
     15  public:
     16   FakeSoftwareVideoEncoder(const VideoSenderConfig& video_config);
     17   virtual ~FakeSoftwareVideoEncoder();
     18 
     19   // SoftwareVideoEncoder implementations.
     20   virtual void Initialize() OVERRIDE;
     21   virtual bool Encode(const scoped_refptr<media::VideoFrame>& video_frame,
     22                       EncodedFrame* encoded_image) OVERRIDE;
     23   virtual void UpdateRates(uint32 new_bitrate) OVERRIDE;
     24   virtual void GenerateKeyFrame() OVERRIDE;
     25   virtual void LatestFrameIdToReference(uint32 frame_id) OVERRIDE;
     26 
     27  private:
     28   VideoSenderConfig video_config_;
     29   bool next_frame_is_key_;
     30   uint32 frame_id_;
     31   uint32 frame_id_to_reference_;
     32   int frame_size_;
     33 };
     34 
     35 }  // namespace cast
     36 }  // namespace media
     37 
     38 #endif  // MEDIA_CAST_SENDER_FAKE_SOFTWARE_VIDEO_ENCODER_H_
     39