Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: media/base/pipeline_unittest.cc

Issue 284763002: Update AudioRenderer API to fire changes in BufferingState. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include <vector> 5 #include <vector>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/test/simple_test_tick_clock.h" 10 #include "base/test/simple_test_tick_clock.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 } 43 }
44 44
45 ACTION_P2(Stop, pipeline, stop_cb) { 45 ACTION_P2(Stop, pipeline, stop_cb) {
46 pipeline->Stop(stop_cb); 46 pipeline->Stop(stop_cb);
47 } 47 }
48 48
49 ACTION_P2(SetError, pipeline, status) { 49 ACTION_P2(SetError, pipeline, status) {
50 pipeline->SetErrorForTesting(status); 50 pipeline->SetErrorForTesting(status);
51 } 51 }
52 52
53 ACTION_P2(SetBufferingState, cb, buffering_state) {
54 cb->Run(buffering_state);
55 }
56
53 // Used for setting expectations on pipeline callbacks. Using a StrictMock 57 // Used for setting expectations on pipeline callbacks. Using a StrictMock
54 // also lets us test for missing callbacks. 58 // also lets us test for missing callbacks.
55 class CallbackHelper { 59 class CallbackHelper {
56 public: 60 public:
57 CallbackHelper() {} 61 CallbackHelper() {}
58 virtual ~CallbackHelper() {} 62 virtual ~CallbackHelper() {}
59 63
60 MOCK_METHOD1(OnStart, void(PipelineStatus)); 64 MOCK_METHOD1(OnStart, void(PipelineStatus));
61 MOCK_METHOD1(OnSeek, void(PipelineStatus)); 65 MOCK_METHOD1(OnSeek, void(PipelineStatus));
62 MOCK_METHOD0(OnStop, void()); 66 MOCK_METHOD0(OnStop, void());
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 // Startup sequence. 179 // Startup sequence.
176 EXPECT_CALL(*video_renderer_, Preroll(demuxer_->GetStartTime(), _)) 180 EXPECT_CALL(*video_renderer_, Preroll(demuxer_->GetStartTime(), _))
177 .WillOnce(RunCallback<1>(PIPELINE_OK)); 181 .WillOnce(RunCallback<1>(PIPELINE_OK));
178 EXPECT_CALL(*video_renderer_, Play(_)) 182 EXPECT_CALL(*video_renderer_, Play(_))
179 .WillOnce(RunClosure<0>()); 183 .WillOnce(RunClosure<0>());
180 } 184 }
181 185
182 // Sets up expectations to allow the audio renderer to initialize. 186 // Sets up expectations to allow the audio renderer to initialize.
183 void InitializeAudioRenderer(DemuxerStream* stream) { 187 void InitializeAudioRenderer(DemuxerStream* stream) {
184 EXPECT_CALL(*audio_renderer_, Initialize(stream, _, _, _, _, _, _)) 188 EXPECT_CALL(*audio_renderer_, Initialize(stream, _, _, _, _, _, _))
185 .WillOnce(DoAll(SaveArg<4>(&audio_time_cb_), 189 .WillOnce(DoAll(SaveArg<3>(&audio_time_cb_),
190 SaveArg<4>(&audio_buffering_state_cb_),
186 RunCallback<1>(PIPELINE_OK))); 191 RunCallback<1>(PIPELINE_OK)));
187 } 192 }
188 193
189 void AddTextStream() { 194 void AddTextStream() {
190 EXPECT_CALL(*this, OnAddTextTrack(_,_)) 195 EXPECT_CALL(*this, OnAddTextTrack(_,_))
191 .WillOnce(Invoke(this, &PipelineTest::DoOnAddTextTrack)); 196 .WillOnce(Invoke(this, &PipelineTest::DoOnAddTextTrack));
192 static_cast<DemuxerHost*>(pipeline_.get())->AddTextStream(text_stream(), 197 static_cast<DemuxerHost*>(pipeline_.get())->AddTextStream(text_stream(),
193 TextTrackConfig(kTextSubtitles, "", "", "")); 198 TextTrackConfig(kTextSubtitles, "", "", ""));
194 } 199 }
195 200
196 // Sets up expectations on the callback and initializes the pipeline. Called 201 // Sets up expectations on the callback and initializes the pipeline. Called
197 // after tests have set expectations any filters they wish to use. 202 // after tests have set expectations any filters they wish to use.
198 void InitializePipeline(PipelineStatus start_status) { 203 void InitializePipeline(PipelineStatus start_status) {
199 EXPECT_CALL(callbacks_, OnStart(start_status)); 204 EXPECT_CALL(callbacks_, OnStart(start_status));
200 205
201 if (start_status == PIPELINE_OK) { 206 if (start_status == PIPELINE_OK) {
202 EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_)); 207 EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_));
203 208
204 if (audio_stream_) { 209 if (audio_stream_) {
205 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); 210 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
206 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); 211 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
207 212 EXPECT_CALL(*audio_renderer_, StartPlayingFrom(base::TimeDelta()))
208 // Startup sequence. 213 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
209 EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _)) 214 BUFFERING_HAVE_ENOUGH));
210 .WillOnce(RunCallback<1>(PIPELINE_OK));
211 EXPECT_CALL(*audio_renderer_, StartRendering()); 215 EXPECT_CALL(*audio_renderer_, StartRendering());
212 } 216 }
213 EXPECT_CALL(callbacks_, OnPrerollCompleted()); 217 EXPECT_CALL(callbacks_, OnPrerollCompleted());
214 } 218 }
215 219
216 pipeline_->Start( 220 pipeline_->Start(
217 filter_collection_.Pass(), 221 filter_collection_.Pass(),
218 base::Bind(&CallbackHelper::OnEnded, base::Unretained(&callbacks_)), 222 base::Bind(&CallbackHelper::OnEnded, base::Unretained(&callbacks_)),
219 base::Bind(&CallbackHelper::OnError, base::Unretained(&callbacks_)), 223 base::Bind(&CallbackHelper::OnError, base::Unretained(&callbacks_)),
220 base::Bind(&CallbackHelper::OnStart, base::Unretained(&callbacks_)), 224 base::Bind(&CallbackHelper::OnStart, base::Unretained(&callbacks_)),
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 258
255 void ExpectSeek(const base::TimeDelta& seek_time) { 259 void ExpectSeek(const base::TimeDelta& seek_time) {
256 // Every filter should receive a call to Seek(). 260 // Every filter should receive a call to Seek().
257 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 261 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
258 .WillOnce(RunCallback<1>(PIPELINE_OK)); 262 .WillOnce(RunCallback<1>(PIPELINE_OK));
259 263
260 if (audio_stream_) { 264 if (audio_stream_) {
261 EXPECT_CALL(*audio_renderer_, StopRendering()); 265 EXPECT_CALL(*audio_renderer_, StopRendering());
262 EXPECT_CALL(*audio_renderer_, Flush(_)) 266 EXPECT_CALL(*audio_renderer_, Flush(_))
263 .WillOnce(RunClosure<0>()); 267 .WillOnce(RunClosure<0>());
264 EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _)) 268 EXPECT_CALL(*audio_renderer_, StartPlayingFrom(seek_time))
265 .WillOnce(RunCallback<1>(PIPELINE_OK)); 269 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
270 BUFFERING_HAVE_ENOUGH));
266 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); 271 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_));
267 EXPECT_CALL(*audio_renderer_, SetVolume(_)); 272 EXPECT_CALL(*audio_renderer_, SetVolume(_));
268 EXPECT_CALL(*audio_renderer_, StartRendering()); 273 EXPECT_CALL(*audio_renderer_, StartRendering());
269 } 274 }
270 275
271 if (video_stream_) { 276 if (video_stream_) {
272 EXPECT_CALL(*video_renderer_, Flush(_)) 277 EXPECT_CALL(*video_renderer_, Flush(_))
273 .WillOnce(RunClosure<0>()); 278 .WillOnce(RunClosure<0>());
274 EXPECT_CALL(*video_renderer_, Preroll(seek_time, _)) 279 EXPECT_CALL(*video_renderer_, Preroll(seek_time, _))
275 .WillOnce(RunCallback<1>(PIPELINE_OK)); 280 .WillOnce(RunCallback<1>(PIPELINE_OK));
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 scoped_ptr<FilterCollection> filter_collection_; 329 scoped_ptr<FilterCollection> filter_collection_;
325 scoped_ptr<MockDemuxer> demuxer_; 330 scoped_ptr<MockDemuxer> demuxer_;
326 MockVideoRenderer* video_renderer_; 331 MockVideoRenderer* video_renderer_;
327 MockAudioRenderer* audio_renderer_; 332 MockAudioRenderer* audio_renderer_;
328 StrictMock<CallbackHelper> text_renderer_callbacks_; 333 StrictMock<CallbackHelper> text_renderer_callbacks_;
329 TextRenderer* text_renderer_; 334 TextRenderer* text_renderer_;
330 scoped_ptr<StrictMock<MockDemuxerStream> > audio_stream_; 335 scoped_ptr<StrictMock<MockDemuxerStream> > audio_stream_;
331 scoped_ptr<StrictMock<MockDemuxerStream> > video_stream_; 336 scoped_ptr<StrictMock<MockDemuxerStream> > video_stream_;
332 scoped_ptr<FakeTextTrackStream> text_stream_; 337 scoped_ptr<FakeTextTrackStream> text_stream_;
333 AudioRenderer::TimeCB audio_time_cb_; 338 AudioRenderer::TimeCB audio_time_cb_;
339 AudioRenderer::BufferingStateCB audio_buffering_state_cb_;
334 VideoDecoderConfig video_decoder_config_; 340 VideoDecoderConfig video_decoder_config_;
335 PipelineMetadata metadata_; 341 PipelineMetadata metadata_;
336 342
337 private: 343 private:
338 DISALLOW_COPY_AND_ASSIGN(PipelineTest); 344 DISALLOW_COPY_AND_ASSIGN(PipelineTest);
339 }; 345 };
340 346
341 // Test that playback controls methods no-op when the pipeline hasn't been 347 // Test that playback controls methods no-op when the pipeline hasn't been
342 // started. 348 // started.
343 TEST_F(PipelineTest, NotStarted) { 349 TEST_F(PipelineTest, NotStarted) {
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 // seeking. This update should be ignored by the pipeline and the clock should 810 // seeking. This update should be ignored by the pipeline and the clock should
805 // not get updated. 811 // not get updated.
806 base::Closure closure = base::Bind(&RunTimeCB, audio_time_cb_, 300, 700); 812 base::Closure closure = base::Bind(&RunTimeCB, audio_time_cb_, 300, 700);
807 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 813 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
808 .WillOnce(DoAll(InvokeWithoutArgs(&closure, &base::Closure::Run), 814 .WillOnce(DoAll(InvokeWithoutArgs(&closure, &base::Closure::Run),
809 RunCallback<1>(PIPELINE_OK))); 815 RunCallback<1>(PIPELINE_OK)));
810 816
811 EXPECT_CALL(*audio_renderer_, StopRendering()); 817 EXPECT_CALL(*audio_renderer_, StopRendering());
812 EXPECT_CALL(*audio_renderer_, Flush(_)) 818 EXPECT_CALL(*audio_renderer_, Flush(_))
813 .WillOnce(RunClosure<0>()); 819 .WillOnce(RunClosure<0>());
814 EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _)) 820 EXPECT_CALL(*audio_renderer_, StartPlayingFrom(seek_time))
815 .WillOnce(RunCallback<1>(PIPELINE_OK)); 821 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
822 BUFFERING_HAVE_ENOUGH));
816 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); 823 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_));
817 EXPECT_CALL(*audio_renderer_, SetVolume(_)); 824 EXPECT_CALL(*audio_renderer_, SetVolume(_));
818 EXPECT_CALL(*audio_renderer_, StartRendering()); 825 EXPECT_CALL(*audio_renderer_, StartRendering());
819 826
820 EXPECT_CALL(callbacks_, OnPrerollCompleted()); 827 EXPECT_CALL(callbacks_, OnPrerollCompleted());
821 EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK)); 828 EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK));
822 DoSeek(seek_time); 829 DoSeek(seek_time);
823 830
824 EXPECT_EQ(pipeline_->GetMediaTime(), seek_time); 831 EXPECT_EQ(pipeline_->GetMediaTime(), seek_time);
825 832
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 case kInitAudioRenderer: 885 case kInitAudioRenderer:
879 case kInitVideoRenderer: 886 case kInitVideoRenderer:
880 DoInitialize(state, stop_or_error); 887 DoInitialize(state, stop_or_error);
881 break; 888 break;
882 889
883 case kPausing: 890 case kPausing:
884 case kFlushing: 891 case kFlushing:
885 case kSeeking: 892 case kSeeking:
886 case kPrerolling: 893 case kPrerolling:
887 DoInitialize(state, stop_or_error); 894 DoInitialize(state, stop_or_error);
888 DoSeek(state, stop_or_error); 895 //DoSeek(state, stop_or_error);
acolwell GONE FROM CHROMIUM 2014/05/13 20:44:27 remove?
scherkus (not reviewing) 2014/05/15 23:28:43 Done.
889 break; 896 break;
890 897
891 case kPlaying: 898 case kPlaying:
892 DoInitialize(state, stop_or_error); 899 DoInitialize(state, stop_or_error);
893 DoStopOrError(stop_or_error); 900 DoStopOrError(stop_or_error);
894 break; 901 break;
895 } 902 }
896 } 903 }
897 904
898 private: 905 private:
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _)) 964 EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _))
958 .WillOnce(RunCallback<1>(status)); 965 .WillOnce(RunCallback<1>(status));
959 } 966 }
960 967
961 EXPECT_CALL(*demuxer_, Stop(_)).WillOnce(RunClosure<0>()); 968 EXPECT_CALL(*demuxer_, Stop(_)).WillOnce(RunClosure<0>());
962 EXPECT_CALL(*audio_renderer_, Stop(_)).WillOnce(RunClosure<0>()); 969 EXPECT_CALL(*audio_renderer_, Stop(_)).WillOnce(RunClosure<0>());
963 return status; 970 return status;
964 } 971 }
965 972
966 EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _)) 973 EXPECT_CALL(*audio_renderer_, Initialize(_, _, _, _, _, _, _))
967 .WillOnce(RunCallback<1>(PIPELINE_OK)); 974 .WillOnce(DoAll(SaveArg<4>(&audio_buffering_state_cb_),
975 RunCallback<1>(PIPELINE_OK)));
968 976
969 if (state == kInitVideoRenderer) { 977 if (state == kInitVideoRenderer) {
970 if (stop_or_error == kStop) { 978 if (stop_or_error == kStop) {
971 EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _)) 979 EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _))
972 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), 980 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb),
973 RunCallback<2>(PIPELINE_OK))); 981 RunCallback<2>(PIPELINE_OK)));
974 EXPECT_CALL(callbacks_, OnStop()); 982 EXPECT_CALL(callbacks_, OnStop());
975 } else { 983 } else {
976 status = PIPELINE_ERROR_INITIALIZATION_FAILED; 984 status = PIPELINE_ERROR_INITIALIZATION_FAILED;
977 EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _)) 985 EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _))
978 .WillOnce(RunCallback<2>(status)); 986 .WillOnce(RunCallback<2>(status));
979 } 987 }
980 988
981 EXPECT_CALL(*demuxer_, Stop(_)).WillOnce(RunClosure<0>()); 989 EXPECT_CALL(*demuxer_, Stop(_)).WillOnce(RunClosure<0>());
982 EXPECT_CALL(*audio_renderer_, Stop(_)).WillOnce(RunClosure<0>()); 990 EXPECT_CALL(*audio_renderer_, Stop(_)).WillOnce(RunClosure<0>());
983 EXPECT_CALL(*video_renderer_, Stop(_)).WillOnce(RunClosure<0>()); 991 EXPECT_CALL(*video_renderer_, Stop(_)).WillOnce(RunClosure<0>());
984 return status; 992 return status;
985 } 993 }
986 994
987 EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _)) 995 EXPECT_CALL(*video_renderer_, Initialize(_, _, _, _, _, _, _, _, _))
988 .WillOnce(RunCallback<2>(PIPELINE_OK)); 996 .WillOnce(RunCallback<2>(PIPELINE_OK));
989 997
990 EXPECT_CALL(callbacks_, OnMetadata(_)); 998 EXPECT_CALL(callbacks_, OnMetadata(_));
991 999
992 // If we get here it's a successful initialization. 1000 // If we get here it's a successful initialization.
993 EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _)) 1001 EXPECT_CALL(*audio_renderer_, StartPlayingFrom(base::TimeDelta()))
994 .WillOnce(RunCallback<1>(PIPELINE_OK)); 1002 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
1003 BUFFERING_HAVE_ENOUGH));
995 EXPECT_CALL(*video_renderer_, Preroll(base::TimeDelta(), _)) 1004 EXPECT_CALL(*video_renderer_, Preroll(base::TimeDelta(), _))
996 .WillOnce(RunCallback<1>(PIPELINE_OK)); 1005 .WillOnce(RunCallback<1>(PIPELINE_OK));
997 1006
998 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); 1007 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
999 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f)); 1008 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f));
1000 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); 1009 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
1001 1010
1002 EXPECT_CALL(*audio_renderer_, StartRendering()); 1011 EXPECT_CALL(*audio_renderer_, StartRendering());
1003 EXPECT_CALL(*video_renderer_, Play(_)) 1012 EXPECT_CALL(*video_renderer_, Play(_))
1004 .WillOnce(RunClosure<0>()); 1013 .WillOnce(RunClosure<0>());
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 } 1085 }
1077 1086
1078 return status; 1087 return status;
1079 } 1088 }
1080 1089
1081 EXPECT_CALL(*demuxer_, Seek(_, _)) 1090 EXPECT_CALL(*demuxer_, Seek(_, _))
1082 .WillOnce(RunCallback<1>(PIPELINE_OK)); 1091 .WillOnce(RunCallback<1>(PIPELINE_OK));
1083 1092
1084 if (state == kPrerolling) { 1093 if (state == kPrerolling) {
1085 if (stop_or_error == kStop) { 1094 if (stop_or_error == kStop) {
1086 EXPECT_CALL(*audio_renderer_, Preroll(_, _)) 1095 EXPECT_CALL(*video_renderer_, Preroll(_, _))
1087 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), 1096 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb),
1088 RunCallback<1>(PIPELINE_OK))); 1097 RunCallback<1>(PIPELINE_OK)));
1089 } else { 1098 } else {
1090 status = PIPELINE_ERROR_READ; 1099 status = PIPELINE_ERROR_READ;
1091 EXPECT_CALL(*audio_renderer_, Preroll(_, _)) 1100 EXPECT_CALL(*video_renderer_, Preroll(_, _))
1092 .WillOnce(RunCallback<1>(status)); 1101 .WillOnce(RunCallback<1>(status));
1093 } 1102 }
1094 1103
1095 return status; 1104 return status;
1096 } 1105 }
1097 1106
1098 EXPECT_CALL(*audio_renderer_, Preroll(_, _)) 1107 EXPECT_CALL(*audio_renderer_, StartPlayingFrom(_));
1099 .WillOnce(RunCallback<1>(PIPELINE_OK));
1100 EXPECT_CALL(*video_renderer_, Preroll(_, _)) 1108 EXPECT_CALL(*video_renderer_, Preroll(_, _))
1101 .WillOnce(RunCallback<1>(PIPELINE_OK)); 1109 .WillOnce(RunCallback<1>(PIPELINE_OK));
1102 1110
1103 // Playback rate and volume are updated prior to starting. 1111 // Playback rate and volume are updated prior to starting.
1104 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); 1112 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
1105 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f)); 1113 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f));
1106 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); 1114 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
1107 1115
1108 NOTREACHED() << "State not supported: " << state; 1116 NOTREACHED() << "State not supported: " << state;
1109 return status; 1117 return status;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1161 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer); 1169 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer);
1162 INSTANTIATE_TEARDOWN_TEST(Error, Pausing); 1170 INSTANTIATE_TEARDOWN_TEST(Error, Pausing);
1163 INSTANTIATE_TEARDOWN_TEST(Error, Flushing); 1171 INSTANTIATE_TEARDOWN_TEST(Error, Flushing);
1164 INSTANTIATE_TEARDOWN_TEST(Error, Seeking); 1172 INSTANTIATE_TEARDOWN_TEST(Error, Seeking);
1165 INSTANTIATE_TEARDOWN_TEST(Error, Prerolling); 1173 INSTANTIATE_TEARDOWN_TEST(Error, Prerolling);
1166 INSTANTIATE_TEARDOWN_TEST(Error, Playing); 1174 INSTANTIATE_TEARDOWN_TEST(Error, Playing);
1167 1175
1168 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing); 1176 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing);
1169 1177
1170 } // namespace media 1178 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698