Chromium Code Reviews| Index: media/video/fake_video_encode_accelerator.h |
| diff --git a/media/cast/test/fake_video_encode_accelerator.h b/media/video/fake_video_encode_accelerator.h |
| similarity index 66% |
| rename from media/cast/test/fake_video_encode_accelerator.h |
| rename to media/video/fake_video_encode_accelerator.h |
| index 65cc36c3abd9cd7cc0b3ff447b323f8ebfdfd463..a01b812a2f69e96a8c6b53ef258bba38aa3124a0 100644 |
| --- a/media/cast/test/fake_video_encode_accelerator.h |
| +++ b/media/video/fake_video_encode_accelerator.h |
| @@ -2,78 +2,83 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef MEDIA_CAST_TEST_FAKE_MOCK_VIDEO_ENCODE_ACCELERATOR_H_ |
| -#define MEDIA_CAST_TEST_FAKE_MOCK_VIDEO_ENCODE_ACCELERATOR_H_ |
| - |
| -#include "media/video/video_encode_accelerator.h" |
| +#ifndef MEDIA_VIDEO_FAKE_VIDEO_ENCODE_ACCELERATOR_H_ |
| +#define MEDIA_VIDEO_FAKE_VIDEO_ENCODE_ACCELERATOR_H_ |
| #include <list> |
| +#include <queue> |
| #include <vector> |
| #include "base/memory/weak_ptr.h" |
| #include "media/base/bitstream_buffer.h" |
| +#include "media/video/video_encode_accelerator.h" |
| namespace base { |
| + |
| class SingleThreadTaskRunner; |
| + |
| } // namespace base |
| namespace media { |
| -namespace cast { |
| -namespace test { |
| class FakeVideoEncodeAccelerator : public VideoEncodeAccelerator { |
| public: |
| - explicit FakeVideoEncodeAccelerator( |
| - const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
| - std::vector<uint32>* stored_bitrates); |
| + FakeVideoEncodeAccelerator( |
|
miu
2014/12/20 03:37:58
style: Need to have the "explicit" attribute for a
hellner1
2015/01/07 16:41:32
Must have forgotten to add it when refactoring. Th
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner); |
| ~FakeVideoEncodeAccelerator() override; |
| std::vector<VideoEncodeAccelerator::SupportedProfile> GetSupportedProfiles() |
| override; |
| - bool Initialize(media::VideoFrame::Format input_format, |
| + bool Initialize(VideoFrame::Format input_format, |
| const gfx::Size& input_visible_size, |
| VideoCodecProfile output_profile, |
| uint32 initial_bitrate, |
| Client* client) override; |
| - |
| void Encode(const scoped_refptr<VideoFrame>& frame, |
| bool force_keyframe) override; |
| - |
| void UseOutputBitstreamBuffer(const BitstreamBuffer& buffer) override; |
| - |
| void RequestEncodingParametersChange(uint32 bitrate, |
| uint32 framerate) override; |
| - |
| void Destroy() override; |
| - void SendDummyFrameForTesting(bool key_frame); |
| - void SetWillInitializationSucceed(bool will_initialization_succeed) { |
| - will_initialization_succeed_ = will_initialization_succeed; |
| + const std::vector<uint32>& stored_bitrates() { |
|
miu
2014/12/20 03:37:58
This should be a const method.
hellner1
2015/01/07 16:41:31
Done.
|
| + return stored_bitrates_; |
| } |
| + void SendDummyFrameForTesting(bool key_frame); |
| + void SetWillInitializationSucceed(bool will_initialization_succeed); |
| private: |
| void DoRequireBitstreamBuffers(unsigned int input_count, |
| const gfx::Size& input_coded_size, |
| size_t output_buffer_size) const; |
| + void EncodeTask(); |
| void DoBitstreamBufferReady(int32 bitstream_buffer_id, |
| size_t payload_size, |
| - bool key_frame) const; |
| + bool key_frame); |
| + // Our original (constructor) calling message loop used for all tasks. |
| const scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
| - std::vector<uint32>* const stored_bitrates_; |
| + std::vector<uint32> stored_bitrates_; |
| + bool will_initialization_succeed_; |
| + |
| VideoEncodeAccelerator::Client* client_; |
| + |
| + // Keeps track of if the current frame is the first encoded frame. This |
| + // is used to force a fake key frame for the first encoded frame. |
| bool first_; |
|
miu
2014/12/20 03:37:58
naming: For readability, how about: next_frame_is_
hellner1
2015/01/07 16:41:32
Done.
|
| - bool will_initialization_succeed_; |
| - std::list<int32> available_buffer_ids_; |
| + // A queue containing the necessary data for incoming frames. The boolean |
| + // represent whether the queued frame should force a key frame. |
| + std::queue<bool> queued_frames_; |
| + |
| + // A list of buffers available for putting fake encoded frames in. |
| + std::list<BitstreamBuffer> available_buffers_; |
| base::WeakPtrFactory<FakeVideoEncodeAccelerator> weak_this_factory_; |
| DISALLOW_COPY_AND_ASSIGN(FakeVideoEncodeAccelerator); |
| }; |
| -} // namespace test |
| -} // namespace cast |
| } // namespace media |
| -#endif // MEDIA_CAST_TEST_FAKE_MOCK_VIDEO_ENCODE_ACCELERATOR_H_ |
| +#endif // MEDIA_VIDEO_FAKE_VIDEO_ENCODE_ACCELERATOR_H_ |