| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this |
| 2 // source code is governed by a BSD-style license that can be found in the | 2 // source code is governed by a BSD-style license that can be found in the |
| 3 // LICENSE file. | 3 // LICENSE file. |
| 4 // | 4 // |
| 5 // A new breed of mock media filters, this time using gmock! Feel free to add | 5 // A new breed of mock media filters, this time using gmock! Feel free to add |
| 6 // actions if you need interesting side-effects (i.e., copying data to the | 6 // actions if you need interesting side-effects (i.e., copying data to the |
| 7 // buffer passed into MockDataSource::Read()). | 7 // buffer passed into MockDataSource::Read()). |
| 8 // | 8 // |
| 9 // Don't forget you can use StrictMock<> and NiceMock<> if you want the mock | 9 // Don't forget you can use StrictMock<> and NiceMock<> if you want the mock |
| 10 // filters to fail the test or do nothing when an unexpected method is called. | 10 // filters to fail the test or do nothing when an unexpected method is called. |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 | 94 |
| 95 // MediaFilter implementation. | 95 // MediaFilter implementation. |
| 96 MOCK_METHOD0(Stop, void()); | 96 MOCK_METHOD0(Stop, void()); |
| 97 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); | 97 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); |
| 98 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); | 98 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); |
| 99 MOCK_METHOD1(OnReceivedMessage, void(FilterMessage message)); | 99 MOCK_METHOD1(OnReceivedMessage, void(FilterMessage message)); |
| 100 | 100 |
| 101 // DataSource implementation. | 101 // DataSource implementation. |
| 102 MOCK_METHOD2(Initialize, void(const std::string& url, | 102 MOCK_METHOD2(Initialize, void(const std::string& url, |
| 103 FilterCallback* callback)); | 103 FilterCallback* callback)); |
| 104 const MediaFormat& media_format() { return media_format_; } | 104 MOCK_METHOD0(media_format, const MediaFormat&()); |
| 105 MOCK_METHOD4(Read, void(int64 position, size_t size, uint8* data, | 105 MOCK_METHOD4(Read, void(int64 position, size_t size, uint8* data, |
| 106 DataSource::ReadCallback* callback)); | 106 DataSource::ReadCallback* callback)); |
| 107 MOCK_METHOD1(GetSize, bool(int64* size_out)); | 107 MOCK_METHOD1(GetSize, bool(int64* size_out)); |
| 108 MOCK_METHOD0(IsStreaming, bool()); | 108 MOCK_METHOD0(IsStreaming, bool()); |
| 109 | 109 |
| 110 protected: | 110 protected: |
| 111 virtual ~MockDataSource() {} | 111 virtual ~MockDataSource() {} |
| 112 | 112 |
| 113 private: | 113 private: |
| 114 MediaFormat media_format_; | |
| 115 | |
| 116 DISALLOW_COPY_AND_ASSIGN(MockDataSource); | 114 DISALLOW_COPY_AND_ASSIGN(MockDataSource); |
| 117 }; | 115 }; |
| 118 | 116 |
| 119 class MockDemuxer : public Demuxer { | 117 class MockDemuxer : public Demuxer { |
| 120 public: | 118 public: |
| 121 MockDemuxer() {} | 119 MockDemuxer() {} |
| 122 | 120 |
| 123 // MediaFilter implementation. | 121 // MediaFilter implementation. |
| 124 MOCK_METHOD0(Stop, void()); | 122 MOCK_METHOD0(Stop, void()); |
| 125 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); | 123 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 136 virtual ~MockDemuxer() {} | 134 virtual ~MockDemuxer() {} |
| 137 | 135 |
| 138 private: | 136 private: |
| 139 DISALLOW_COPY_AND_ASSIGN(MockDemuxer); | 137 DISALLOW_COPY_AND_ASSIGN(MockDemuxer); |
| 140 }; | 138 }; |
| 141 | 139 |
| 142 class MockDemuxerStream : public DemuxerStream { | 140 class MockDemuxerStream : public DemuxerStream { |
| 143 public: | 141 public: |
| 144 MockDemuxerStream() {} | 142 MockDemuxerStream() {} |
| 145 | 143 |
| 146 // Sets the mime type of this object's media format, which is usually checked | |
| 147 // to determine the type of decoder to create. | |
| 148 explicit MockDemuxerStream(const std::string& mime_type) { | |
| 149 media_format_.SetAsString(MediaFormat::kMimeType, mime_type); | |
| 150 } | |
| 151 | |
| 152 // DemuxerStream implementation. | 144 // DemuxerStream implementation. |
| 153 const MediaFormat& media_format() { return media_format_; } | 145 MOCK_METHOD0(media_format, const MediaFormat&()); |
| 154 MOCK_METHOD1(Read, void(Callback1<Buffer*>::Type* read_callback)); | 146 MOCK_METHOD1(Read, void(Callback1<Buffer*>::Type* read_callback)); |
| 155 MOCK_METHOD1(QueryInterface, void*(const char* interface_id)); | 147 MOCK_METHOD1(QueryInterface, void*(const char* interface_id)); |
| 156 | 148 |
| 157 protected: | 149 protected: |
| 158 virtual ~MockDemuxerStream() {} | 150 virtual ~MockDemuxerStream() {} |
| 159 | 151 |
| 160 private: | 152 private: |
| 161 MediaFormat media_format_; | 153 MediaFormat media_format_; |
| 162 | 154 |
| 163 DISALLOW_COPY_AND_ASSIGN(MockDemuxerStream); | 155 DISALLOW_COPY_AND_ASSIGN(MockDemuxerStream); |
| 164 }; | 156 }; |
| 165 | 157 |
| 166 class MockVideoDecoder : public VideoDecoder { | 158 class MockVideoDecoder : public VideoDecoder { |
| 167 public: | 159 public: |
| 168 MockVideoDecoder() {} | 160 MockVideoDecoder() {} |
| 169 | 161 |
| 170 // Sets the essential media format keys for this decoder. | |
| 171 MockVideoDecoder(const std::string& mime_type, int width, int height) { | |
| 172 media_format_.SetAsString(MediaFormat::kMimeType, mime_type); | |
| 173 media_format_.SetAsInteger(MediaFormat::kWidth, width); | |
| 174 media_format_.SetAsInteger(MediaFormat::kHeight, height); | |
| 175 } | |
| 176 | |
| 177 // MediaFilter implementation. | 162 // MediaFilter implementation. |
| 178 MOCK_METHOD0(Stop, void()); | 163 MOCK_METHOD0(Stop, void()); |
| 179 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); | 164 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); |
| 180 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); | 165 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); |
| 181 MOCK_METHOD1(OnReceivedMessage, void(FilterMessage message)); | 166 MOCK_METHOD1(OnReceivedMessage, void(FilterMessage message)); |
| 182 | 167 |
| 183 // VideoDecoder implementation. | 168 // VideoDecoder implementation. |
| 184 MOCK_METHOD2(Initialize, void(DemuxerStream* stream, | 169 MOCK_METHOD2(Initialize, void(DemuxerStream* stream, |
| 185 FilterCallback* callback)); | 170 FilterCallback* callback)); |
| 186 const MediaFormat& media_format() { return media_format_; } | 171 MOCK_METHOD0(media_format, const MediaFormat&()); |
| 187 MOCK_METHOD1(Read, void(Callback1<VideoFrame*>::Type* read_callback)); | 172 MOCK_METHOD1(Read, void(Callback1<VideoFrame*>::Type* read_callback)); |
| 188 | 173 |
| 189 protected: | 174 protected: |
| 190 virtual ~MockVideoDecoder() {} | 175 virtual ~MockVideoDecoder() {} |
| 191 | 176 |
| 192 private: | 177 private: |
| 193 MediaFormat media_format_; | |
| 194 | |
| 195 DISALLOW_COPY_AND_ASSIGN(MockVideoDecoder); | 178 DISALLOW_COPY_AND_ASSIGN(MockVideoDecoder); |
| 196 }; | 179 }; |
| 197 | 180 |
| 198 class MockAudioDecoder : public AudioDecoder { | 181 class MockAudioDecoder : public AudioDecoder { |
| 199 public: | 182 public: |
| 200 MockAudioDecoder() {} | 183 MockAudioDecoder() {} |
| 201 | 184 |
| 202 // Sets the essential media format keys for this decoder. | |
| 203 MockAudioDecoder(int channels, int sample_rate, int sample_bits) { | |
| 204 media_format_.SetAsString(MediaFormat::kMimeType, | |
| 205 mime_type::kUncompressedAudio); | |
| 206 media_format_.SetAsInteger(MediaFormat::kChannels, channels); | |
| 207 media_format_.SetAsInteger(MediaFormat::kSampleRate, sample_rate); | |
| 208 media_format_.SetAsInteger(MediaFormat::kSampleBits, sample_bits); | |
| 209 } | |
| 210 | |
| 211 // MediaFilter implementation. | 185 // MediaFilter implementation. |
| 212 MOCK_METHOD0(Stop, void()); | 186 MOCK_METHOD0(Stop, void()); |
| 213 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); | 187 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); |
| 214 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); | 188 MOCK_METHOD2(Seek, void(base::TimeDelta time, FilterCallback* callback)); |
| 215 MOCK_METHOD1(OnReceivedMessage, void(FilterMessage message)); | 189 MOCK_METHOD1(OnReceivedMessage, void(FilterMessage message)); |
| 216 | 190 |
| 217 // AudioDecoder implementation. | 191 // AudioDecoder implementation. |
| 218 MOCK_METHOD2(Initialize, void(DemuxerStream* stream, | 192 MOCK_METHOD2(Initialize, void(DemuxerStream* stream, |
| 219 FilterCallback* callback)); | 193 FilterCallback* callback)); |
| 220 const MediaFormat& media_format() { return media_format_; } | 194 MOCK_METHOD0(media_format, const MediaFormat&()); |
| 221 MOCK_METHOD1(Read, void(Callback1<Buffer*>::Type* read_callback)); | 195 MOCK_METHOD1(Read, void(Callback1<Buffer*>::Type* read_callback)); |
| 222 | 196 |
| 223 protected: | 197 protected: |
| 224 virtual ~MockAudioDecoder() {} | 198 virtual ~MockAudioDecoder() {} |
| 225 | 199 |
| 226 private: | 200 private: |
| 227 MediaFormat media_format_; | |
| 228 | |
| 229 DISALLOW_COPY_AND_ASSIGN(MockAudioDecoder); | 201 DISALLOW_COPY_AND_ASSIGN(MockAudioDecoder); |
| 230 }; | 202 }; |
| 231 | 203 |
| 232 class MockVideoRenderer : public VideoRenderer { | 204 class MockVideoRenderer : public VideoRenderer { |
| 233 public: | 205 public: |
| 234 MockVideoRenderer() {} | 206 MockVideoRenderer() {} |
| 235 | 207 |
| 236 // MediaFilter implementation. | 208 // MediaFilter implementation. |
| 237 MOCK_METHOD0(Stop, void()); | 209 MOCK_METHOD0(Stop, void()); |
| 238 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); | 210 MOCK_METHOD1(SetPlaybackRate, void(float playback_rate)); |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 | 347 |
| 376 // Helper gmock action that calls BroadcastMessage() on behalf of the provided | 348 // Helper gmock action that calls BroadcastMessage() on behalf of the provided |
| 377 // filter. | 349 // filter. |
| 378 ACTION_P2(BroadcastMessage, filter, message) { | 350 ACTION_P2(BroadcastMessage, filter, message) { |
| 379 filter->host()->BroadcastMessage(message); | 351 filter->host()->BroadcastMessage(message); |
| 380 } | 352 } |
| 381 | 353 |
| 382 } // namespace media | 354 } // namespace media |
| 383 | 355 |
| 384 #endif // MEDIA_BASE_MOCK_FILTERS_H_ | 356 #endif // MEDIA_BASE_MOCK_FILTERS_H_ |
| OLD | NEW |