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.
5 #ifndef MEDIA_CAST_TEST_FAKE_MOCK_VIDEO_ENCODE_ACCELERATOR_H_
6 #define MEDIA_CAST_TEST_FAKE_MOCK_VIDEO_ENCODE_ACCELERATOR_H_
8 #include "media/video/video_encode_accelerator.h"
12 #include "media/base/bitstream_buffer.h"
18 class FakeVideoEncodeAccelerator
: public VideoEncodeAccelerator
{
20 explicit FakeVideoEncodeAccelerator(VideoEncodeAccelerator::Client
* client
);
22 virtual void Initialize(media::VideoFrame::Format input_format
,
23 const gfx::Size
& input_visible_size
,
24 VideoCodecProfile output_profile
,
25 uint32 initial_bitrate
) OVERRIDE
;
27 virtual void Encode(const scoped_refptr
<VideoFrame
>& frame
,
28 bool force_keyframe
) OVERRIDE
;
30 virtual void UseOutputBitstreamBuffer(const BitstreamBuffer
& buffer
) OVERRIDE
;
32 virtual void RequestEncodingParametersChange(uint32 bitrate
,
33 uint32 framerate
) OVERRIDE
;
35 virtual void Destroy() OVERRIDE
;
38 virtual ~FakeVideoEncodeAccelerator();
40 VideoEncodeAccelerator::Client
* client_
;
43 std::list
<int32
> available_buffer_ids_
;
45 DISALLOW_COPY_AND_ASSIGN(FakeVideoEncodeAccelerator
);
52 #endif // MEDIA_CAST_TEST_FAKE_MOCK_VIDEO_ENCODE_ACCELERATOR_H_