OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 MEDIA_BASE_MOCK_FILTERS_H_ | 5 #ifndef MEDIA_BASE_MOCK_FILTERS_H_ |
6 #define MEDIA_BASE_MOCK_FILTERS_H_ | 6 #define MEDIA_BASE_MOCK_FILTERS_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
11 | 11 |
12 #include "base/callback.h" | 12 #include "base/callback.h" |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
14 #include "media/base/audio_decoder.h" | 14 #include "media/base/audio_decoder.h" |
15 #include "media/base/audio_decoder_config.h" | 15 #include "media/base/audio_decoder_config.h" |
16 #include "media/base/audio_renderer.h" | 16 #include "media/base/audio_renderer.h" |
17 #include "media/base/cdm_context.h" | 17 #include "media/base/cdm_context.h" |
18 #include "media/base/decoder_buffer.h" | 18 #include "media/base/decoder_buffer.h" |
19 #include "media/base/decryptor.h" | 19 #include "media/base/decryptor.h" |
20 #include "media/base/demuxer.h" | 20 #include "media/base/demuxer.h" |
| 21 #include "media/base/pipeline.h" |
21 #include "media/base/pipeline_status.h" | 22 #include "media/base/pipeline_status.h" |
22 #include "media/base/renderer.h" | 23 #include "media/base/renderer.h" |
23 #include "media/base/text_track.h" | 24 #include "media/base/text_track.h" |
24 #include "media/base/time_source.h" | 25 #include "media/base/time_source.h" |
25 #include "media/base/video_decoder.h" | 26 #include "media/base/video_decoder.h" |
26 #include "media/base/video_decoder_config.h" | 27 #include "media/base/video_decoder_config.h" |
27 #include "media/base/video_frame.h" | 28 #include "media/base/video_frame.h" |
28 #include "media/base/video_renderer.h" | 29 #include "media/base/video_renderer.h" |
29 #include "testing/gmock/include/gmock/gmock.h" | 30 #include "testing/gmock/include/gmock/gmock.h" |
30 | 31 |
31 namespace media { | 32 namespace media { |
32 | 33 |
| 34 class MockPipeline : public Pipeline { |
| 35 public: |
| 36 MockPipeline(); |
| 37 virtual ~MockPipeline(); |
| 38 |
| 39 // Note: Start() and Resume() declarations are not actually overrides; they |
| 40 // take scoped_ptr* instead of scoped_ptr so that they can be mock methods. |
| 41 // Private stubs for Start() and Resume() implement the actual Pipeline |
| 42 // interface by forwarding to these mock methods. |
| 43 MOCK_METHOD10(Start, |
| 44 void(Demuxer*, |
| 45 scoped_ptr<Renderer>*, |
| 46 const base::Closure&, |
| 47 const PipelineStatusCB&, |
| 48 const PipelineStatusCB&, |
| 49 const PipelineMetadataCB&, |
| 50 const BufferingStateCB&, |
| 51 const base::Closure&, |
| 52 const AddTextTrackCB&, |
| 53 const base::Closure&)); |
| 54 MOCK_METHOD1(Stop, void(const base::Closure&)); |
| 55 MOCK_METHOD2(Seek, void(base::TimeDelta, const PipelineStatusCB&)); |
| 56 MOCK_METHOD1(Suspend, void(const PipelineStatusCB&)); |
| 57 MOCK_METHOD3(Resume, |
| 58 void(scoped_ptr<Renderer>*, |
| 59 base::TimeDelta, |
| 60 const PipelineStatusCB&)); |
| 61 |
| 62 // TODO(sandersd): This should automatically return true between Start() and |
| 63 // Stop(). (Or better, remove it from the interface entirely.) |
| 64 MOCK_CONST_METHOD0(IsRunning, bool()); |
| 65 |
| 66 // TODO(sandersd): These should be regular getters/setters. |
| 67 MOCK_CONST_METHOD0(GetPlaybackRate, double()); |
| 68 MOCK_METHOD1(SetPlaybackRate, void(double)); |
| 69 MOCK_CONST_METHOD0(GetVolume, float()); |
| 70 MOCK_METHOD1(SetVolume, void(float)); |
| 71 |
| 72 // TODO(sandersd): These should probably have setters too. |
| 73 MOCK_CONST_METHOD0(GetMediaTime, base::TimeDelta()); |
| 74 MOCK_CONST_METHOD0(GetBufferedTimeRanges, Ranges<base::TimeDelta>()); |
| 75 MOCK_CONST_METHOD0(GetMediaDuration, base::TimeDelta()); |
| 76 MOCK_METHOD0(DidLoadingProgress, bool()); |
| 77 MOCK_CONST_METHOD0(GetStatistics, PipelineStatistics()); |
| 78 |
| 79 MOCK_METHOD2(SetCdm, void(CdmContext*, const CdmAttachedCB&)); |
| 80 |
| 81 private: |
| 82 // Forwarding stubs (see comment above). |
| 83 void Start(Demuxer* demuxer, |
| 84 scoped_ptr<Renderer> renderer, |
| 85 const base::Closure& ended_cb, |
| 86 const PipelineStatusCB& error_cb, |
| 87 const PipelineStatusCB& seek_cb, |
| 88 const PipelineMetadataCB& metadata_cb, |
| 89 const BufferingStateCB& buffering_state_cb, |
| 90 const base::Closure& duration_change_cb, |
| 91 const AddTextTrackCB& add_text_track_cb, |
| 92 const base::Closure& waiting_for_decryption_key_cb) override; |
| 93 void Resume(scoped_ptr<Renderer> renderer, |
| 94 base::TimeDelta timestamp, |
| 95 const PipelineStatusCB& seek_cb) override; |
| 96 |
| 97 DISALLOW_COPY_AND_ASSIGN(MockPipeline); |
| 98 }; |
| 99 |
33 class MockDemuxer : public Demuxer { | 100 class MockDemuxer : public Demuxer { |
34 public: | 101 public: |
35 MockDemuxer(); | 102 MockDemuxer(); |
36 virtual ~MockDemuxer(); | 103 virtual ~MockDemuxer(); |
37 | 104 |
38 // Demuxer implementation. | 105 // Demuxer implementation. |
39 virtual std::string GetDisplayName() const; | 106 virtual std::string GetDisplayName() const; |
40 MOCK_METHOD3(Initialize, | 107 MOCK_METHOD3(Initialize, |
41 void(DemuxerHost* host, const PipelineStatusCB& cb, bool)); | 108 void(DemuxerHost* host, const PipelineStatusCB& cb, bool)); |
42 MOCK_METHOD1(SetPlaybackRate, void(double playback_rate)); | 109 MOCK_METHOD1(SetPlaybackRate, void(double playback_rate)); |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 MOCK_METHOD0(GetDecryptor, Decryptor*()); | 341 MOCK_METHOD0(GetDecryptor, Decryptor*()); |
275 int GetCdmId() const override; | 342 int GetCdmId() const override; |
276 | 343 |
277 private: | 344 private: |
278 DISALLOW_COPY_AND_ASSIGN(MockCdmContext); | 345 DISALLOW_COPY_AND_ASSIGN(MockCdmContext); |
279 }; | 346 }; |
280 | 347 |
281 } // namespace media | 348 } // namespace media |
282 | 349 |
283 #endif // MEDIA_BASE_MOCK_FILTERS_H_ | 350 #endif // MEDIA_BASE_MOCK_FILTERS_H_ |
OLD | NEW |