| Index: media/test/pipeline_integration_test_base.cc
|
| diff --git a/media/test/pipeline_integration_test_base.cc b/media/test/pipeline_integration_test_base.cc
|
| index 4f5636fba3893f68193b5e15f02c357f50faef8a..5db5a86fc2e4aad89b2e865f120b88e0e3669583 100644
|
| --- a/media/test/pipeline_integration_test_base.cc
|
| +++ b/media/test/pipeline_integration_test_base.cc
|
| @@ -106,7 +106,7 @@ class RendererFactoryImpl final : public PipelineTestRendererFactory {
|
| PipelineIntegrationTestBase::PipelineIntegrationTestBase()
|
| : hashing_enabled_(false),
|
| clockless_playback_(false),
|
| - pipeline_(new PipelineImpl(message_loop_.task_runner(), &media_log_)),
|
| + pipeline_(new PipelineImpl(main_thread_task_runner_, &media_log_)),
|
| ended_(false),
|
| pipeline_status_(PIPELINE_OK),
|
| last_video_frame_format_(PIXEL_FORMAT_UNKNOWN),
|
| @@ -136,8 +136,8 @@ void PipelineIntegrationTestBase::OnSeeked(base::TimeDelta seek_time,
|
|
|
| void PipelineIntegrationTestBase::OnStatusCallback(PipelineStatus status) {
|
| pipeline_status_ = status;
|
| - message_loop_.task_runner()->PostTask(
|
| - FROM_HERE, base::MessageLoop::QuitWhenIdleClosure());
|
| + main_thread_task_runner_->PostTask(FROM_HERE,
|
| + base::MessageLoop::QuitWhenIdleClosure());
|
| }
|
|
|
| void PipelineIntegrationTestBase::DemuxerEncryptedMediaInitDataCB(
|
| @@ -165,8 +165,8 @@ void PipelineIntegrationTestBase::OnEnded() {
|
| DCHECK(!ended_);
|
| ended_ = true;
|
| pipeline_status_ = PIPELINE_OK;
|
| - message_loop_.task_runner()->PostTask(
|
| - FROM_HERE, base::MessageLoop::QuitWhenIdleClosure());
|
| + main_thread_task_runner_->PostTask(FROM_HERE,
|
| + base::MessageLoop::QuitWhenIdleClosure());
|
| }
|
|
|
| bool PipelineIntegrationTestBase::WaitUntilOnEnded() {
|
| @@ -187,8 +187,8 @@ PipelineStatus PipelineIntegrationTestBase::WaitUntilEndedOrError() {
|
| void PipelineIntegrationTestBase::OnError(PipelineStatus status) {
|
| DCHECK_NE(status, PIPELINE_OK);
|
| pipeline_status_ = status;
|
| - message_loop_.task_runner()->PostTask(
|
| - FROM_HERE, base::MessageLoop::QuitWhenIdleClosure());
|
| + main_thread_task_runner_->PostTask(FROM_HERE,
|
| + base::MessageLoop::QuitWhenIdleClosure());
|
| }
|
|
|
| PipelineStatus PipelineIntegrationTestBase::StartInternal(
|
| @@ -298,11 +298,12 @@ void PipelineIntegrationTestBase::Pause() {
|
| bool PipelineIntegrationTestBase::Seek(base::TimeDelta seek_time) {
|
| ended_ = false;
|
|
|
| + base::RunLoop run_loop;
|
| EXPECT_CALL(*this, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH))
|
| - .WillOnce(InvokeWithoutArgs(&message_loop_, &base::MessageLoop::QuitNow));
|
| + .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
|
| pipeline_->Seek(seek_time, base::Bind(&PipelineIntegrationTestBase::OnSeeked,
|
| base::Unretained(this), seek_time));
|
| - base::RunLoop().Run();
|
| + run_loop.Run();
|
| EXPECT_CALL(*this, OnBufferingStateChange(_)).Times(AnyNumber());
|
| return (pipeline_status_ == PIPELINE_OK);
|
| }
|
| @@ -317,14 +318,15 @@ bool PipelineIntegrationTestBase::Suspend() {
|
| bool PipelineIntegrationTestBase::Resume(base::TimeDelta seek_time) {
|
| ended_ = false;
|
|
|
| + base::RunLoop run_loop;
|
| EXPECT_CALL(*this, OnBufferingStateChange(BUFFERING_HAVE_ENOUGH))
|
| - .WillOnce(InvokeWithoutArgs(&message_loop_, &base::MessageLoop::QuitNow));
|
| + .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
|
| pipeline_->Resume(renderer_factory_->CreateRenderer(CreateVideoDecodersCB(),
|
| CreateAudioDecodersCB()),
|
| seek_time,
|
| base::Bind(&PipelineIntegrationTestBase::OnSeeked,
|
| base::Unretained(this), seek_time));
|
| - base::RunLoop().Run();
|
| + run_loop.Run();
|
| return (pipeline_status_ == PIPELINE_OK);
|
| }
|
|
|
| @@ -343,11 +345,11 @@ void PipelineIntegrationTestBase::QuitAfterCurrentTimeTask(
|
| const base::TimeDelta& quit_time) {
|
| if (pipeline_->GetMediaTime() >= quit_time ||
|
| pipeline_status_ != PIPELINE_OK) {
|
| - message_loop_.QuitWhenIdle();
|
| + base::MessageLoop::current()->QuitWhenIdle();
|
| return;
|
| }
|
|
|
| - message_loop_.task_runner()->PostDelayedTask(
|
| + main_thread_task_runner_->PostDelayedTask(
|
| FROM_HERE,
|
| base::Bind(&PipelineIntegrationTestBase::QuitAfterCurrentTimeTask,
|
| base::Unretained(this), quit_time),
|
| @@ -360,7 +362,7 @@ bool PipelineIntegrationTestBase::WaitUntilCurrentTimeIsAfter(
|
| DCHECK_GT(pipeline_->GetPlaybackRate(), 0);
|
| DCHECK(wait_time <= pipeline_->GetMediaDuration());
|
|
|
| - message_loop_.task_runner()->PostDelayedTask(
|
| + main_thread_task_runner_->PostDelayedTask(
|
| FROM_HERE,
|
| base::Bind(&PipelineIntegrationTestBase::QuitAfterCurrentTimeTask,
|
| base::Unretained(this), wait_time),
|
| @@ -374,9 +376,8 @@ void PipelineIntegrationTestBase::CreateDemuxer(
|
| data_source_ = std::move(data_source);
|
|
|
| #if !defined(MEDIA_DISABLE_FFMPEG)
|
| - task_scheduler_.reset(new base::test::ScopedTaskScheduler(&message_loop_));
|
| demuxer_ = std::unique_ptr<Demuxer>(new FFmpegDemuxer(
|
| - message_loop_.task_runner(), data_source_.get(),
|
| + main_thread_task_runner_, data_source_.get(),
|
| base::Bind(&PipelineIntegrationTestBase::DemuxerEncryptedMediaInitDataCB,
|
| base::Unretained(this)),
|
| base::Bind(&PipelineIntegrationTestBase::DemuxerMediaTracksUpdatedCB,
|
| @@ -393,18 +394,18 @@ std::unique_ptr<Renderer> PipelineIntegrationTestBase::CreateRenderer(
|
| clockless_playback_, base::TimeDelta::FromSecondsD(1.0 / 60),
|
| base::Bind(&PipelineIntegrationTestBase::OnVideoFramePaint,
|
| base::Unretained(this)),
|
| - message_loop_.task_runner()));
|
| + main_thread_task_runner_));
|
|
|
| // Disable frame dropping if hashing is enabled.
|
| - std::unique_ptr<VideoRenderer> video_renderer(new VideoRendererImpl(
|
| - message_loop_.task_runner(), message_loop_.task_runner().get(),
|
| - video_sink_.get(),
|
| - base::Bind(&CreateVideoDecodersForTest, &media_log_,
|
| - prepend_video_decoders_cb),
|
| - false, nullptr, &media_log_));
|
| + std::unique_ptr<VideoRenderer> video_renderer(
|
| + new VideoRendererImpl(main_thread_task_runner_,
|
| + main_thread_task_runner_.get(), video_sink_.get(),
|
| + base::Bind(&CreateVideoDecodersForTest, &media_log_,
|
| + prepend_video_decoders_cb),
|
| + false, nullptr, &media_log_));
|
|
|
| if (!clockless_playback_) {
|
| - audio_sink_ = new NullAudioSink(message_loop_.task_runner());
|
| + audio_sink_ = new NullAudioSink(main_thread_task_runner_);
|
| } else {
|
| clockless_audio_sink_ = new ClocklessAudioSink(OutputDeviceInfo(
|
| "", OUTPUT_DEVICE_STATUS_OK,
|
| @@ -417,12 +418,12 @@ std::unique_ptr<Renderer> PipelineIntegrationTestBase::CreateRenderer(
|
| }
|
|
|
| std::unique_ptr<AudioRenderer> audio_renderer(new AudioRendererImpl(
|
| - message_loop_.task_runner(),
|
| + main_thread_task_runner_,
|
| (clockless_playback_)
|
| ? static_cast<AudioRendererSink*>(clockless_audio_sink_.get())
|
| : audio_sink_.get(),
|
| base::Bind(&CreateAudioDecodersForTest, &media_log_,
|
| - message_loop_.task_runner(), prepend_audio_decoders_cb),
|
| + main_thread_task_runner_, prepend_audio_decoders_cb),
|
| &media_log_));
|
| if (hashing_enabled_) {
|
| if (clockless_playback_)
|
| @@ -432,7 +433,7 @@ std::unique_ptr<Renderer> PipelineIntegrationTestBase::CreateRenderer(
|
| }
|
|
|
| std::unique_ptr<RendererImpl> renderer_impl(
|
| - new RendererImpl(message_loop_.task_runner(), std::move(audio_renderer),
|
| + new RendererImpl(main_thread_task_runner_, std::move(audio_renderer),
|
| std::move(video_renderer)));
|
|
|
| // Prevent non-deterministic buffering state callbacks from firing (e.g., slow
|
|
|