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

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

Issue 403723006: Make media::AudioRenderer inherit from media::TimeSource. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 if (start_status == PIPELINE_OK) { 200 if (start_status == PIPELINE_OK) {
201 EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_)); 201 EXPECT_CALL(callbacks_, OnMetadata(_)).WillOnce(SaveArg<0>(&metadata_));
202 202
203 if (audio_stream_) { 203 if (audio_stream_) {
204 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); 204 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
205 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); 205 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
206 EXPECT_CALL(*audio_renderer_, SetMediaTime(base::TimeDelta())); 206 EXPECT_CALL(*audio_renderer_, SetMediaTime(base::TimeDelta()));
207 EXPECT_CALL(*audio_renderer_, StartPlaying()) 207 EXPECT_CALL(*audio_renderer_, StartPlaying())
208 .WillOnce(SetBufferingState(&audio_buffering_state_cb_, 208 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
209 BUFFERING_HAVE_ENOUGH)); 209 BUFFERING_HAVE_ENOUGH));
210 EXPECT_CALL(*audio_renderer_, StartRendering()); 210 EXPECT_CALL(*audio_renderer_, StartTicking());
211 } 211 }
212 212
213 if (video_stream_) { 213 if (video_stream_) {
214 EXPECT_CALL(*video_renderer_, StartPlaying()) 214 EXPECT_CALL(*video_renderer_, StartPlaying())
215 .WillOnce(SetBufferingState(&video_buffering_state_cb_, 215 .WillOnce(SetBufferingState(&video_buffering_state_cb_,
216 BUFFERING_HAVE_ENOUGH)); 216 BUFFERING_HAVE_ENOUGH));
217 } 217 }
218 218
219 EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH)); 219 EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
220 } 220 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 return text_stream_.get(); 259 return text_stream_.get();
260 } 260 }
261 261
262 void ExpectSeek(const base::TimeDelta& seek_time, bool underflowed) { 262 void ExpectSeek(const base::TimeDelta& seek_time, bool underflowed) {
263 // Every filter should receive a call to Seek(). 263 // Every filter should receive a call to Seek().
264 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 264 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
265 .WillOnce(RunCallback<1>(PIPELINE_OK)); 265 .WillOnce(RunCallback<1>(PIPELINE_OK));
266 266
267 if (audio_stream_) { 267 if (audio_stream_) {
268 if (!underflowed) 268 if (!underflowed)
269 EXPECT_CALL(*audio_renderer_, StopRendering()); 269 EXPECT_CALL(*audio_renderer_, StopTicking());
270 EXPECT_CALL(*audio_renderer_, Flush(_)) 270 EXPECT_CALL(*audio_renderer_, Flush(_))
271 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_, 271 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_,
272 BUFFERING_HAVE_NOTHING), 272 BUFFERING_HAVE_NOTHING),
273 RunClosure<0>())); 273 RunClosure<0>()));
274 EXPECT_CALL(*audio_renderer_, SetMediaTime(seek_time)); 274 EXPECT_CALL(*audio_renderer_, SetMediaTime(seek_time));
275 EXPECT_CALL(*audio_renderer_, StartPlaying()) 275 EXPECT_CALL(*audio_renderer_, StartPlaying())
276 .WillOnce(SetBufferingState(&audio_buffering_state_cb_, 276 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
277 BUFFERING_HAVE_ENOUGH)); 277 BUFFERING_HAVE_ENOUGH));
278 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); 278 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_));
279 EXPECT_CALL(*audio_renderer_, SetVolume(_)); 279 EXPECT_CALL(*audio_renderer_, SetVolume(_));
280 EXPECT_CALL(*audio_renderer_, StartRendering()); 280 EXPECT_CALL(*audio_renderer_, StartTicking());
281 } 281 }
282 282
283 if (video_stream_) { 283 if (video_stream_) {
284 EXPECT_CALL(*video_renderer_, Flush(_)) 284 EXPECT_CALL(*video_renderer_, Flush(_))
285 .WillOnce(DoAll(SetBufferingState(&video_buffering_state_cb_, 285 .WillOnce(DoAll(SetBufferingState(&video_buffering_state_cb_,
286 BUFFERING_HAVE_NOTHING), 286 BUFFERING_HAVE_NOTHING),
287 RunClosure<0>())); 287 RunClosure<0>()));
288 EXPECT_CALL(*video_renderer_, StartPlaying()) 288 EXPECT_CALL(*video_renderer_, StartPlaying())
289 .WillOnce(SetBufferingState(&video_buffering_state_cb_, 289 .WillOnce(SetBufferingState(&video_buffering_state_cb_,
290 BUFFERING_HAVE_ENOUGH)); 290 BUFFERING_HAVE_ENOUGH));
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 601
602 AddTextStream(); 602 AddTextStream();
603 603
604 // The ended callback shouldn't run until all renderers have ended. 604 // The ended callback shouldn't run until all renderers have ended.
605 audio_ended_cb_.Run(); 605 audio_ended_cb_.Run();
606 message_loop_.RunUntilIdle(); 606 message_loop_.RunUntilIdle();
607 607
608 video_ended_cb_.Run(); 608 video_ended_cb_.Run();
609 message_loop_.RunUntilIdle(); 609 message_loop_.RunUntilIdle();
610 610
611 EXPECT_CALL(*audio_renderer_, StopRendering()); 611 EXPECT_CALL(*audio_renderer_, StopTicking());
612 EXPECT_CALL(callbacks_, OnEnded()); 612 EXPECT_CALL(callbacks_, OnEnded());
613 text_stream()->SendEosNotification(); 613 text_stream()->SendEosNotification();
614 message_loop_.RunUntilIdle(); 614 message_loop_.RunUntilIdle();
615 } 615 }
616 616
617 TEST_F(PipelineTest, AudioStreamShorterThanVideo) { 617 TEST_F(PipelineTest, AudioStreamShorterThanVideo) {
618 base::TimeDelta duration = base::TimeDelta::FromSeconds(10); 618 base::TimeDelta duration = base::TimeDelta::FromSeconds(10);
619 619
620 CreateAudioStream(); 620 CreateAudioStream();
621 CreateVideoStream(); 621 CreateVideoStream();
(...skipping 28 matching lines...) Expand all
650 // Signal end of audio stream. 650 // Signal end of audio stream.
651 audio_ended_cb_.Run(); 651 audio_ended_cb_.Run();
652 message_loop_.RunUntilIdle(); 652 message_loop_.RunUntilIdle();
653 653
654 // Verify that the clock advances. 654 // Verify that the clock advances.
655 start_time = pipeline_->GetMediaTime().ToInternalValue(); 655 start_time = pipeline_->GetMediaTime().ToInternalValue();
656 test_tick_clock_.Advance(base::TimeDelta::FromMilliseconds(100)); 656 test_tick_clock_.Advance(base::TimeDelta::FromMilliseconds(100));
657 EXPECT_GT(pipeline_->GetMediaTime().ToInternalValue(), start_time); 657 EXPECT_GT(pipeline_->GetMediaTime().ToInternalValue(), start_time);
658 658
659 // Signal end of video stream and make sure OnEnded() callback occurs. 659 // Signal end of video stream and make sure OnEnded() callback occurs.
660 EXPECT_CALL(*audio_renderer_, StopRendering()); 660 EXPECT_CALL(*audio_renderer_, StopTicking());
661 EXPECT_CALL(callbacks_, OnEnded()); 661 EXPECT_CALL(callbacks_, OnEnded());
662 video_ended_cb_.Run(); 662 video_ended_cb_.Run();
663 } 663 }
664 664
665 TEST_F(PipelineTest, ErrorDuringSeek) { 665 TEST_F(PipelineTest, ErrorDuringSeek) {
666 CreateAudioStream(); 666 CreateAudioStream();
667 MockDemuxerStreamVector streams; 667 MockDemuxerStreamVector streams;
668 streams.push_back(audio_stream()); 668 streams.push_back(audio_stream());
669 669
670 SetDemuxerExpectations(&streams); 670 SetDemuxerExpectations(&streams);
671 SetAudioRendererExpectations(audio_stream()); 671 SetAudioRendererExpectations(audio_stream());
672 StartPipeline(PIPELINE_OK); 672 StartPipeline(PIPELINE_OK);
673 673
674 float playback_rate = 1.0f; 674 float playback_rate = 1.0f;
675 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(playback_rate)); 675 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(playback_rate));
676 pipeline_->SetPlaybackRate(playback_rate); 676 pipeline_->SetPlaybackRate(playback_rate);
677 message_loop_.RunUntilIdle(); 677 message_loop_.RunUntilIdle();
678 678
679 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5); 679 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
680 680
681 // Preroll() isn't called as the demuxer errors out first. 681 // Preroll() isn't called as the demuxer errors out first.
682 EXPECT_CALL(*audio_renderer_, StopRendering()); 682 EXPECT_CALL(*audio_renderer_, StopTicking());
683 EXPECT_CALL(*audio_renderer_, Flush(_)) 683 EXPECT_CALL(*audio_renderer_, Flush(_))
684 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_, 684 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_,
685 BUFFERING_HAVE_NOTHING), 685 BUFFERING_HAVE_NOTHING),
686 RunClosure<0>())); 686 RunClosure<0>()));
687 EXPECT_CALL(*audio_renderer_, Stop(_)) 687 EXPECT_CALL(*audio_renderer_, Stop(_))
688 .WillOnce(RunClosure<0>()); 688 .WillOnce(RunClosure<0>());
689 689
690 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 690 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
691 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ)); 691 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ));
692 EXPECT_CALL(*demuxer_, Stop(_)) 692 EXPECT_CALL(*demuxer_, Stop(_))
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 728
729 // Trigger additional requests on the pipeline during tear down from error. 729 // Trigger additional requests on the pipeline during tear down from error.
730 base::Callback<void(PipelineStatus)> cb = base::Bind( 730 base::Callback<void(PipelineStatus)> cb = base::Bind(
731 &TestNoCallsAfterError, pipeline_.get(), &message_loop_); 731 &TestNoCallsAfterError, pipeline_.get(), &message_loop_);
732 ON_CALL(callbacks_, OnError(_)) 732 ON_CALL(callbacks_, OnError(_))
733 .WillByDefault(Invoke(&cb, &base::Callback<void(PipelineStatus)>::Run)); 733 .WillByDefault(Invoke(&cb, &base::Callback<void(PipelineStatus)>::Run));
734 734
735 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5); 735 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
736 736
737 // Seek() isn't called as the demuxer errors out first. 737 // Seek() isn't called as the demuxer errors out first.
738 EXPECT_CALL(*audio_renderer_, StopRendering()); 738 EXPECT_CALL(*audio_renderer_, StopTicking());
739 EXPECT_CALL(*audio_renderer_, Flush(_)) 739 EXPECT_CALL(*audio_renderer_, Flush(_))
740 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_, 740 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_,
741 BUFFERING_HAVE_NOTHING), 741 BUFFERING_HAVE_NOTHING),
742 RunClosure<0>())); 742 RunClosure<0>()));
743 EXPECT_CALL(*audio_renderer_, Stop(_)) 743 EXPECT_CALL(*audio_renderer_, Stop(_))
744 .WillOnce(RunClosure<0>()); 744 .WillOnce(RunClosure<0>());
745 745
746 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 746 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
747 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ)); 747 .WillOnce(RunCallback<1>(PIPELINE_ERROR_READ));
748 EXPECT_CALL(*demuxer_, Stop(_)) 748 EXPECT_CALL(*demuxer_, Stop(_))
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5); 783 base::TimeDelta seek_time = base::TimeDelta::FromSeconds(5);
784 784
785 // Arrange to trigger a time update while the demuxer is in the middle of 785 // Arrange to trigger a time update while the demuxer is in the middle of
786 // seeking. This update should be ignored by the pipeline and the clock should 786 // seeking. This update should be ignored by the pipeline and the clock should
787 // not get updated. 787 // not get updated.
788 base::Closure closure = base::Bind(&RunTimeCB, audio_time_cb_, 300, 700); 788 base::Closure closure = base::Bind(&RunTimeCB, audio_time_cb_, 300, 700);
789 EXPECT_CALL(*demuxer_, Seek(seek_time, _)) 789 EXPECT_CALL(*demuxer_, Seek(seek_time, _))
790 .WillOnce(DoAll(InvokeWithoutArgs(&closure, &base::Closure::Run), 790 .WillOnce(DoAll(InvokeWithoutArgs(&closure, &base::Closure::Run),
791 RunCallback<1>(PIPELINE_OK))); 791 RunCallback<1>(PIPELINE_OK)));
792 792
793 EXPECT_CALL(*audio_renderer_, StopRendering()); 793 EXPECT_CALL(*audio_renderer_, StopTicking());
794 EXPECT_CALL(*audio_renderer_, Flush(_)) 794 EXPECT_CALL(*audio_renderer_, Flush(_))
795 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_, 795 .WillOnce(DoAll(SetBufferingState(&audio_buffering_state_cb_,
796 BUFFERING_HAVE_NOTHING), 796 BUFFERING_HAVE_NOTHING),
797 RunClosure<0>())); 797 RunClosure<0>()));
798 EXPECT_CALL(*audio_renderer_, SetMediaTime(seek_time)); 798 EXPECT_CALL(*audio_renderer_, SetMediaTime(seek_time));
799 EXPECT_CALL(*audio_renderer_, StartPlaying()) 799 EXPECT_CALL(*audio_renderer_, StartPlaying())
800 .WillOnce(SetBufferingState(&audio_buffering_state_cb_, 800 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
801 BUFFERING_HAVE_ENOUGH)); 801 BUFFERING_HAVE_ENOUGH));
802 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_)); 802 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(_));
803 EXPECT_CALL(*audio_renderer_, SetVolume(_)); 803 EXPECT_CALL(*audio_renderer_, SetVolume(_));
804 EXPECT_CALL(*audio_renderer_, StartRendering()); 804 EXPECT_CALL(*audio_renderer_, StartTicking());
805 805
806 EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK)); 806 EXPECT_CALL(callbacks_, OnSeek(PIPELINE_OK));
807 EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH)); 807 EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
808 DoSeek(seek_time); 808 DoSeek(seek_time);
809 809
810 EXPECT_EQ(pipeline_->GetMediaTime(), seek_time); 810 EXPECT_EQ(pipeline_->GetMediaTime(), seek_time);
811 811
812 // Now that the seek is complete, verify that time updates advance the current 812 // Now that the seek is complete, verify that time updates advance the current
813 // time. 813 // time.
814 base::TimeDelta new_time = seek_time + base::TimeDelta::FromMilliseconds(100); 814 base::TimeDelta new_time = seek_time + base::TimeDelta::FromMilliseconds(100);
(...skipping 27 matching lines...) Expand all
842 MockDemuxerStreamVector streams; 842 MockDemuxerStreamVector streams;
843 streams.push_back(audio_stream()); 843 streams.push_back(audio_stream());
844 streams.push_back(video_stream()); 844 streams.push_back(video_stream());
845 845
846 SetDemuxerExpectations(&streams); 846 SetDemuxerExpectations(&streams);
847 SetAudioRendererExpectations(audio_stream()); 847 SetAudioRendererExpectations(audio_stream());
848 SetVideoRendererExpectations(video_stream()); 848 SetVideoRendererExpectations(video_stream());
849 StartPipeline(PIPELINE_OK); 849 StartPipeline(PIPELINE_OK);
850 850
851 // Simulate underflow. 851 // Simulate underflow.
852 EXPECT_CALL(*audio_renderer_, StopRendering()); 852 EXPECT_CALL(*audio_renderer_, StopTicking());
853 audio_buffering_state_cb_.Run(BUFFERING_HAVE_NOTHING); 853 audio_buffering_state_cb_.Run(BUFFERING_HAVE_NOTHING);
854 854
855 // Seek while underflowed. We shouldn't call StopRendering() again. 855 // Seek while underflowed. We shouldn't call StopTicking() again.
856 base::TimeDelta expected = base::TimeDelta::FromSeconds(5); 856 base::TimeDelta expected = base::TimeDelta::FromSeconds(5);
857 ExpectSeek(expected, true); 857 ExpectSeek(expected, true);
858 DoSeek(expected); 858 DoSeek(expected);
859 } 859 }
860 860
861 class PipelineTeardownTest : public PipelineTest { 861 class PipelineTeardownTest : public PipelineTest {
862 public: 862 public:
863 enum TeardownState { 863 enum TeardownState {
864 kInitDemuxer, 864 kInitDemuxer,
865 kInitAudioRenderer, 865 kInitAudioRenderer,
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 EXPECT_CALL(*audio_renderer_, SetMediaTime(base::TimeDelta())); 999 EXPECT_CALL(*audio_renderer_, SetMediaTime(base::TimeDelta()));
1000 EXPECT_CALL(*audio_renderer_, StartPlaying()) 1000 EXPECT_CALL(*audio_renderer_, StartPlaying())
1001 .WillOnce(SetBufferingState(&audio_buffering_state_cb_, 1001 .WillOnce(SetBufferingState(&audio_buffering_state_cb_,
1002 BUFFERING_HAVE_ENOUGH)); 1002 BUFFERING_HAVE_ENOUGH));
1003 EXPECT_CALL(*video_renderer_, StartPlaying()) 1003 EXPECT_CALL(*video_renderer_, StartPlaying())
1004 .WillOnce(SetBufferingState(&video_buffering_state_cb_, 1004 .WillOnce(SetBufferingState(&video_buffering_state_cb_,
1005 BUFFERING_HAVE_ENOUGH)); 1005 BUFFERING_HAVE_ENOUGH));
1006 1006
1007 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f)); 1007 EXPECT_CALL(*audio_renderer_, SetPlaybackRate(0.0f));
1008 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f)); 1008 EXPECT_CALL(*audio_renderer_, SetVolume(1.0f));
1009 EXPECT_CALL(*audio_renderer_, StartRendering()); 1009 EXPECT_CALL(*audio_renderer_, StartTicking());
1010 1010
1011 if (status == PIPELINE_OK) 1011 if (status == PIPELINE_OK)
1012 EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH)); 1012 EXPECT_CALL(callbacks_, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH));
1013 1013
1014 return status; 1014 return status;
1015 } 1015 }
1016 1016
1017 void DoSeek(TeardownState state, StopOrError stop_or_error) { 1017 void DoSeek(TeardownState state, StopOrError stop_or_error) {
1018 InSequence s; 1018 InSequence s;
1019 PipelineStatus status = SetSeekExpectations(state, stop_or_error); 1019 PipelineStatus status = SetSeekExpectations(state, stop_or_error);
(...skipping 11 matching lines...) Expand all
1031 &CallbackHelper::OnSeek, base::Unretained(&callbacks_))); 1031 &CallbackHelper::OnSeek, base::Unretained(&callbacks_)));
1032 message_loop_.RunUntilIdle(); 1032 message_loop_.RunUntilIdle();
1033 } 1033 }
1034 1034
1035 PipelineStatus SetSeekExpectations(TeardownState state, 1035 PipelineStatus SetSeekExpectations(TeardownState state,
1036 StopOrError stop_or_error) { 1036 StopOrError stop_or_error) {
1037 PipelineStatus status = PIPELINE_OK; 1037 PipelineStatus status = PIPELINE_OK;
1038 base::Closure stop_cb = base::Bind( 1038 base::Closure stop_cb = base::Bind(
1039 &CallbackHelper::OnStop, base::Unretained(&callbacks_)); 1039 &CallbackHelper::OnStop, base::Unretained(&callbacks_));
1040 1040
1041 EXPECT_CALL(*audio_renderer_, StopRendering()); 1041 EXPECT_CALL(*audio_renderer_, StopTicking());
1042 1042
1043 if (state == kFlushing) { 1043 if (state == kFlushing) {
1044 if (stop_or_error == kStop) { 1044 if (stop_or_error == kStop) {
1045 EXPECT_CALL(*audio_renderer_, Flush(_)) 1045 EXPECT_CALL(*audio_renderer_, Flush(_))
1046 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb), 1046 .WillOnce(DoAll(Stop(pipeline_.get(), stop_cb),
1047 SetBufferingState(&audio_buffering_state_cb_, 1047 SetBufferingState(&audio_buffering_state_cb_,
1048 BUFFERING_HAVE_NOTHING), 1048 BUFFERING_HAVE_NOTHING),
1049 RunClosure<0>())); 1049 RunClosure<0>()));
1050 } else { 1050 } else {
1051 status = PIPELINE_ERROR_READ; 1051 status = PIPELINE_ERROR_READ;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
1134 INSTANTIATE_TEARDOWN_TEST(Error, InitDemuxer); 1134 INSTANTIATE_TEARDOWN_TEST(Error, InitDemuxer);
1135 INSTANTIATE_TEARDOWN_TEST(Error, InitAudioRenderer); 1135 INSTANTIATE_TEARDOWN_TEST(Error, InitAudioRenderer);
1136 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer); 1136 INSTANTIATE_TEARDOWN_TEST(Error, InitVideoRenderer);
1137 INSTANTIATE_TEARDOWN_TEST(Error, Flushing); 1137 INSTANTIATE_TEARDOWN_TEST(Error, Flushing);
1138 INSTANTIATE_TEARDOWN_TEST(Error, Seeking); 1138 INSTANTIATE_TEARDOWN_TEST(Error, Seeking);
1139 INSTANTIATE_TEARDOWN_TEST(Error, Playing); 1139 INSTANTIATE_TEARDOWN_TEST(Error, Playing);
1140 1140
1141 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing); 1141 INSTANTIATE_TEARDOWN_TEST(ErrorAndStop, Playing);
1142 1142
1143 } // namespace media 1143 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698