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

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

Issue 274443006: Revert of Rename AudioRenderer::Play/Pause() to Start/StopRendering(). (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
« no previous file with comments | « media/base/pipeline.cc ('k') | media/filters/audio_renderer_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 if (start_status == PIPELINE_OK) { 201 if (start_status == PIPELINE_OK) {
202 EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_)); 202 EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_));
203 203
204 if (audio_stream_) { 204 if (audio_stream_) {
205 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); 205 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
206 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); 206 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
207 207
208 // Startup sequence. 208 // Startup sequence.
209 EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _)) 209 EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _))
210 .WillOnce(RunCallback<1>(PIPELINE_OK)); 210 .WillOnce(RunCallback<1>(PIPELINE_OK));
211 EXPECT_CALL(*audio_renderer_, StartRendering()); 211 EXPECT_CALL(*audio_renderer_, Play());
212 } 212 }
213 EXPECT_CALL(callbacks_, OnPrerollCompleted()); 213 EXPECT_CALL(callbacks_, OnPrerollCompleted());
214 } 214 }
215 215
216 pipeline_->Start( 216 pipeline_->Start(
217 filter_collection_.Pass(), 217 filter_collection_.Pass(),
218 base::Bind(&CallbackHelper::OnEnded, base::Unretained(&callbacks_)), 218 base::Bind(&CallbackHelper::OnEnded, base::Unretained(&callbacks_)),
219 base::Bind(&CallbackHelper::OnError, base::Unretained(&callbacks_)), 219 base::Bind(&CallbackHelper::OnError, base::Unretained(&callbacks_)),
220 base::Bind(&CallbackHelper::OnStart, base::Unretained(&callbacks_)), 220 base::Bind(&CallbackHelper::OnStart, base::Unretained(&callbacks_)),
221 base::Bind(&CallbackHelper::OnMetadata, base::Unretained(&callbacks_)), 221 base::Bind(&CallbackHelper::OnMetadata, base::Unretained(&callbacks_)),
(...skipping 29 matching lines...) Expand all
251 FakeTextTrackStream* text_stream() { 251 FakeTextTrackStream* text_stream() {
252 return text_stream_.get(); 252 return text_stream_.get();
253 } 253 }
254 254
255 void ExpectSeek(const base::TimeDelta& seek_time) { 255 void ExpectSeek(const base::TimeDelta& seek_time) {
256 // Every filter should receive a call to Seek(). 256 // Every filter should receive a call to Seek().
257 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 257 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
258 .WillOnce(RunCallback<1>(PIPELINE_OK)); 258 .WillOnce(RunCallback<1>(PIPELINE_OK));
259 259
260 if (audio_stream_) { 260 if (audio_stream_) {
261 EXPECT_CALL(*audio_renderer_, StopRendering()); 261 EXPECT_CALL(*audio_renderer_, Pause());
262 EXPECT_CALL(*audio_renderer_, Flush(_)) 262 EXPECT_CALL(*audio_renderer_, Flush(_))
263 .WillOnce(RunClosure<0>()); 263 .WillOnce(RunClosure<0>());
264 EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _)) 264 EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _))
265 .WillOnce(RunCallback<1>(PIPELINE_OK)); 265 .WillOnce(RunCallback<1>(PIPELINE_OK));
266 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); 266 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_));
267 EXPECT_CALL(*audio_renderer_, SetVolume(_)); 267 EXPECT_CALL(*audio_renderer_, SetVolume(_));
268 EXPECT_CALL(*audio_renderer_, StartRendering()); 268 EXPECT_CALL(*audio_renderer_, Play());
269 } 269 }
270 270
271 if (video_stream_) { 271 if (video_stream_) {
272 EXPECT_CALL(*video_renderer_, Flush(_)) 272 EXPECT_CALL(*video_renderer_, Flush(_))
273 .WillOnce(RunClosure<0>()); 273 .WillOnce(RunClosure<0>());
274 EXPECT_CALL(*video_renderer_, Preroll(seek_time, _)) 274 EXPECT_CALL(*video_renderer_, Preroll(seek_time, _))
275 .WillOnce(RunCallback<1>(PIPELINE_OK)); 275 .WillOnce(RunCallback<1>(PIPELINE_OK));
276 EXPECT_CALL(*video_renderer_, SetPlaybackRate(_)); 276 EXPECT_CALL(*video_renderer_, SetPlaybackRate(_));
277 EXPECT_CALL(*video_renderer_, Play(_)) 277 EXPECT_CALL(*video_renderer_, Play(_))
278 .WillOnce(RunClosure<0>()); 278 .WillOnce(RunClosure<0>());
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 InitializePipeline(PIPELINE_OK); 657 InitializePipeline(PIPELINE_OK);
658 658
659 float playback_rate = 1.0f; 659 float playback_rate = 1.0f;
660 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(playback_rate)); 660 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(playback_rate));
661 pipeline_->SetPlaybackRate(playback_rate); 661 pipeline_->SetPlaybackRate(playback_rate);
662 message_loop_.RunUntilIdle(); 662 message_loop_.RunUntilIdle();
663 663
664 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5); 664 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
665 665
666 // Preroll() isn't called as the demuxer errors out first. 666 // Preroll() isn't called as the demuxer errors out first.
667 EXPECT_CALL(*audio_renderer_, StopRendering()); 667 EXPECT_CALL(*audio_renderer_, Pause());
668 EXPECT_CALL(*audio_renderer_, Flush(_)) 668 EXPECT_CALL(*audio_renderer_, Flush(_))
669 .WillOnce(RunClosure<0>()); 669 .WillOnce(RunClosure<0>());
670 EXPECT_CALL(*audio_renderer_, Stop(_)) 670 EXPECT_CALL(*audio_renderer_, Stop(_))
671 .WillOnce(RunClosure<0>()); 671 .WillOnce(RunClosure<0>());
672 672
673 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 673 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
674 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ)); 674 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ));
675 EXPECT_CALL(*demuxer_, Stop(_)) 675 EXPECT_CALL(*demuxer_, Stop(_))
676 .WillOnce(RunClosure<0>()); 676 .WillOnce(RunClosure<0>());
677 677
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 711
712 // Trigger additional requests on the pipeline during tear down from error. 712 // Trigger additional requests on the pipeline during tear down from error.
713 base::Callback<void(PipelineStatus)> cb = base::Bind( 713 base::Callback<void(PipelineStatus)> cb = base::Bind(
714 &TestNoCallsAfterError, pipeline_.get(), &message_loop_); 714 &TestNoCallsAfterError, pipeline_.get(), &message_loop_);
715 ON_CALL(callbacks_, OnError(_)) 715 ON_CALL(callbacks_, OnError(_))
716 .WillByDefault(Invoke(&cb, &base::Callback<void(PipelineStatus)>::Run)); 716 .WillByDefault(Invoke(&cb, &base::Callback<void(PipelineStatus)>::Run));
717 717
718 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5); 718 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
719 719
720 // Seek() isn't called as the demuxer errors out first. 720 // Seek() isn't called as the demuxer errors out first.
721 EXPECT_CALL(*audio_renderer_, StopRendering()); 721 EXPECT_CALL(*audio_renderer_, Pause());
722 EXPECT_CALL(*audio_renderer_, Flush(_)) 722 EXPECT_CALL(*audio_renderer_, Flush(_))
723 .WillOnce(RunClosure<0>()); 723 .WillOnce(RunClosure<0>());
724 EXPECT_CALL(*audio_renderer_, Stop(_)) 724 EXPECT_CALL(*audio_renderer_, Stop(_))
725 .WillOnce(RunClosure<0>()); 725 .WillOnce(RunClosure<0>());
726 726
727 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 727 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
728 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ)); 728 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ));
729 EXPECT_CALL(*demuxer_, Stop(_)) 729 EXPECT_CALL(*demuxer_, Stop(_))
730 .WillOnce(RunClosure<0>()); 730 .WillOnce(RunClosure<0>());
731 731
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5); 801 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
802 802
803 // Arrange to trigger a time update while the demuxer is in the middle of 803 // Arrange to trigger a time update while the demuxer is in the middle of
804 // seeking. This update should be ignored by the pipeline and the clock should 804 // seeking. This update should be ignored by the pipeline and the clock should
805 // not get updated. 805 // not get updated.
806 base::Closure closure = base::Bind(&RunTimeCB, audio_time_cb_, 300, 700); 806 base::Closure closure = base::Bind(&RunTimeCB, audio_time_cb_, 300, 700);
807 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 807 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
808 .WillOnce(DoAll(InvokeWithoutArgs(&closure, &base::Closure::Run), 808 .WillOnce(DoAll(InvokeWithoutArgs(&closure, &base::Closure::Run),
809 RunCallback<1>(PIPELINE_OK))); 809 RunCallback<1>(PIPELINE_OK)));
810 810
811 EXPECT_CALL(*audio_renderer_, StopRendering()); 811 EXPECT_CALL(*audio_renderer_, Pause());
812 EXPECT_CALL(*audio_renderer_, Flush(_)) 812 EXPECT_CALL(*audio_renderer_, Flush(_))
813 .WillOnce(RunClosure<0>()); 813 .WillOnce(RunClosure<0>());
814 EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _)) 814 EXPECT_CALL(*audio_renderer_, Preroll(seek_time, _))
815 .WillOnce(RunCallback<1>(PIPELINE_OK)); 815 .WillOnce(RunCallback<1>(PIPELINE_OK));
816 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); 816 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_));
817 EXPECT_CALL(*audio_renderer_, SetVolume(_)); 817 EXPECT_CALL(*audio_renderer_, SetVolume(_));
818 EXPECT_CALL(*audio_renderer_, StartRendering()); 818 EXPECT_CALL(*audio_renderer_, Play());
819 819
820 EXPECT_CALL(callbacks_, OnPrerollCompleted()); 820 EXPECT_CALL(callbacks_, OnPrerollCompleted());
821 EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK)); 821 EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK));
822 DoSeek(seek_time); 822 DoSeek(seek_time);
823 823
824 EXPECT_EQ(pipeline_->GetMediaTime(), seek_time); 824 EXPECT_EQ(pipeline_->GetMediaTime(), seek_time);
825 825
826 // Now that the seek is complete, verify that time updates advance the current 826 // Now that the seek is complete, verify that time updates advance the current
827 // time. 827 // time.
828 base::TimeDelta new_time = seek_time + base::TimeDelta::FromMilliseconds(100); 828 base::TimeDelta new_time = seek_time + base::TimeDelta::FromMilliseconds(100);
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 // If we get here it's a successful initialization. 992 // If we get here it's a successful initialization.
993 EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _)) 993 EXPECT_CALL(*audio_renderer_, Preroll(base::TimeDelta(), _))
994 .WillOnce(RunCallback<1>(PIPELINE_OK)); 994 .WillOnce(RunCallback<1>(PIPELINE_OK));
995 EXPECT_CALL(*video_renderer_, Preroll(base::TimeDelta(), _)) 995 EXPECT_CALL(*video_renderer_, Preroll(base::TimeDelta(), _))
996 .WillOnce(RunCallback<1>(PIPELINE_OK)); 996 .WillOnce(RunCallback<1>(PIPELINE_OK));
997 997
998 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); 998 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
999 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f)); 999 EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f));
1000 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); 1000 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
1001 1001
1002 EXPECT_CALL(*audio_renderer_, StartRendering()); 1002 EXPECT_CALL(*audio_renderer_, Play());
1003 EXPECT_CALL(*video_renderer_, Play(_)) 1003 EXPECT_CALL(*video_renderer_, Play(_))
1004 .WillOnce(RunClosure<0>()); 1004 .WillOnce(RunClosure<0>());
1005 1005
1006 if (status == PIPELINE_OK) 1006 if (status == PIPELINE_OK)
1007 EXPECT_CALL(callbacks_, OnPrerollCompleted()); 1007 EXPECT_CALL(callbacks_, OnPrerollCompleted());
1008 1008
1009 return status; 1009 return status;
1010 } 1010 }
1011 1011
1012 void DoSeek(TeardownState state, StopOrError stop_or_error) { 1012 void DoSeek(TeardownState state, StopOrError stop_or_error) {
(...skipping 15 matching lines...) Expand all
1028 } 1028 }
1029 1029
1030 PipelineStatus SetSeekExpectations(TeardownState state, 1030 PipelineStatus SetSeekExpectations(TeardownState state,
1031 StopOrError stop_or_error) { 1031 StopOrError stop_or_error) {
1032 PipelineStatus status = PIPELINE_OK; 1032 PipelineStatus status = PIPELINE_OK;
1033 base::Closure stop_cb = base::Bind( 1033 base::Closure stop_cb = base::Bind(
1034 &CallbackHelper::OnStop, base::Unretained(&callbacks_)); 1034 &CallbackHelper::OnStop, base::Unretained(&callbacks_));
1035 1035
1036 if (state == kPausing) { 1036 if (state == kPausing) {
1037 if (stop_or_error == kStop) { 1037 if (stop_or_error == kStop) {
1038 EXPECT_CALL(*audio_renderer_, StopRendering()) 1038 EXPECT_CALL(*audio_renderer_, Pause())
1039 .WillOnce(Stop(pipeline_.get(), stop_cb)); 1039 .WillOnce(Stop(pipeline_.get(), stop_cb));
1040 } else { 1040 } else {
1041 status = PIPELINE_ERROR_READ; 1041 status = PIPELINE_ERROR_READ;
1042 EXPECT_CALL(*audio_renderer_, StopRendering()) 1042 EXPECT_CALL(*audio_renderer_, Pause())
1043 .WillOnce(SetError(pipeline_.get(), status)); 1043 .WillOnce(SetError(pipeline_.get(), status));
1044 } 1044 }
1045 1045
1046 return status; 1046 return status;
1047 } 1047 }
1048 1048
1049 EXPECT_CALL(*audio_renderer_, StopRendering()); 1049 EXPECT_CALL(*audio_renderer_, Pause());
1050 1050
1051 if (state == kFlushing) { 1051 if (state == kFlushing) {
1052 if (stop_or_error == kStop) { 1052 if (stop_or_error == kStop) {
1053 EXPECT_CALL(*audio_renderer_, Flush(_)) 1053 EXPECT_CALL(*audio_renderer_, Flush(_))
1054 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), RunClosure<0>())); 1054 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), RunClosure<0>()));
1055 } else { 1055 } else {
1056 status = PIPELINE_ERROR_READ; 1056 status = PIPELINE_ERROR_READ;
1057 EXPECT_CALL(*audio_renderer_, Flush(_)).WillOnce( 1057 EXPECT_CALL(*audio_renderer_, Flush(_)).WillOnce(
1058 DoAll(SetError(pipeline_.get(), status), RunClosure<0>())); 1058 DoAll(SetError(pipeline_.get(), status), RunClosure<0>()));
1059 } 1059 }
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1161 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer); 1161 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer);
1162 INSTANTIATE_TEARDOWN_TEST(Error, Pausing); 1162 INSTANTIATE_TEARDOWN_TEST(Error, Pausing);
1163 INSTANTIATE_TEARDOWN_TEST(Error, Flushing); 1163 INSTANTIATE_TEARDOWN_TEST(Error, Flushing);
1164 INSTANTIATE_TEARDOWN_TEST(Error, Seeking); 1164 INSTANTIATE_TEARDOWN_TEST(Error, Seeking);
1165 INSTANTIATE_TEARDOWN_TEST(Error, Prerolling); 1165 INSTANTIATE_TEARDOWN_TEST(Error, Prerolling);
1166 INSTANTIATE_TEARDOWN_TEST(Error, Playing); 1166 INSTANTIATE_TEARDOWN_TEST(Error, Playing);
1167 1167
1168 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing); 1168 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing);
1169 1169
1170 } // namespace media 1170 } // namespace media
OLDNEW
« no previous file with comments | « media/base/pipeline.cc ('k') | media/filters/audio_renderer_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698