OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 CHROMECAST_MEDIA_CMA_TEST_MOCK_FRAME_PROVIDER_H_ | 5 #ifndef CHROMECAST_MEDIA_CMA_TEST_MOCK_FRAME_PROVIDER_H_ |
6 #define CHROMECAST_MEDIA_CMA_TEST_MOCK_FRAME_PROVIDER_H_ | 6 #define CHROMECAST_MEDIA_CMA_TEST_MOCK_FRAME_PROVIDER_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "chromecast/media/cma/base/coded_frame_provider.h" | 11 #include "chromecast/media/cma/base/coded_frame_provider.h" |
12 | 12 |
13 namespace chromecast { | 13 namespace chromecast { |
14 namespace media { | 14 namespace media { |
15 class FrameGeneratorForTest; | 15 class FrameGeneratorForTest; |
16 | 16 |
17 class MockFrameProvider : public CodedFrameProvider { | 17 class MockFrameProvider : public CodedFrameProvider { |
18 public: | 18 public: |
19 MockFrameProvider(); | 19 MockFrameProvider(); |
20 virtual ~MockFrameProvider(); | 20 ~MockFrameProvider() override; |
21 | 21 |
22 void Configure( | 22 void Configure( |
23 const std::vector<bool>& delayed_task_pattern, | 23 const std::vector<bool>& delayed_task_pattern, |
24 scoped_ptr<FrameGeneratorForTest> frame_generator); | 24 scoped_ptr<FrameGeneratorForTest> frame_generator); |
25 | 25 |
26 // CodedFrameProvider implementation. | 26 // CodedFrameProvider implementation. |
27 virtual void Read(const ReadCB& read_cb) override; | 27 void Read(const ReadCB& read_cb) override; |
28 virtual void Flush(const base::Closure& flush_cb) override; | 28 void Flush(const base::Closure& flush_cb) override; |
29 | 29 |
30 private: | 30 private: |
31 void DoRead(const ReadCB& read_cb); | 31 void DoRead(const ReadCB& read_cb); |
32 | 32 |
33 // Parameterization of the frame provider. | 33 // Parameterization of the frame provider. |
34 // |delayed_task_pattern_| indicates the pattern for delivering frames, | 34 // |delayed_task_pattern_| indicates the pattern for delivering frames, |
35 // i.e. after receiving a Read request, either delivers a frame right away | 35 // i.e. after receiving a Read request, either delivers a frame right away |
36 // or wait some time before delivering the frame. | 36 // or wait some time before delivering the frame. |
37 // |pattern_idx_| is the current index in the pattern. | 37 // |pattern_idx_| is the current index in the pattern. |
38 std::vector<bool> delayed_task_pattern_; | 38 std::vector<bool> delayed_task_pattern_; |
39 size_t pattern_idx_; | 39 size_t pattern_idx_; |
40 | 40 |
41 scoped_ptr<FrameGeneratorForTest> frame_generator_; | 41 scoped_ptr<FrameGeneratorForTest> frame_generator_; |
42 | 42 |
43 DISALLOW_COPY_AND_ASSIGN(MockFrameProvider); | 43 DISALLOW_COPY_AND_ASSIGN(MockFrameProvider); |
44 }; | 44 }; |
45 | 45 |
46 } // namespace media | 46 } // namespace media |
47 } // namespace chromecast | 47 } // namespace chromecast |
48 | 48 |
49 #endif // CHROMECAST_MEDIA_CMA_TEST_MOCK_FRAME_PROVIDER_H_ | 49 #endif // CHROMECAST_MEDIA_CMA_TEST_MOCK_FRAME_PROVIDER_H_ |
OLD | NEW |