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

Side by Side Diff: media/blink/webmediaplayer_impl.cc

Issue 2272163002: Delete now deprecated BufferedDataSource and friends. (Closed)
Patch Set: Delete BufferedResourceLoader too. Created 4 years, 3 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
« no previous file with comments | « media/blink/webmediaplayer_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "media/blink/webmediaplayer_impl.h" 5 #include "media/blink/webmediaplayer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <limits> 9 #include <limits>
10 #include <string> 10 #include <string>
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 std::unique_ptr<RendererFactory> renderer_factory, 167 std::unique_ptr<RendererFactory> renderer_factory,
168 linked_ptr<UrlIndex> url_index, 168 linked_ptr<UrlIndex> url_index,
169 const WebMediaPlayerParams& params) 169 const WebMediaPlayerParams& params)
170 : frame_(frame), 170 : frame_(frame),
171 delegate_state_(DelegateState::GONE), 171 delegate_state_(DelegateState::GONE),
172 is_idle_(false), 172 is_idle_(false),
173 must_suspend_(false), 173 must_suspend_(false),
174 network_state_(WebMediaPlayer::NetworkStateEmpty), 174 network_state_(WebMediaPlayer::NetworkStateEmpty),
175 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), 175 ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
176 highest_ready_state_(WebMediaPlayer::ReadyStateHaveNothing), 176 highest_ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
177 preload_(BufferedDataSource::AUTO), 177 preload_(MultibufferDataSource::AUTO),
178 buffering_strategy_( 178 buffering_strategy_(MultibufferDataSource::BUFFERING_STRATEGY_NORMAL),
179 BufferedDataSourceInterface::BUFFERING_STRATEGY_NORMAL),
180 main_task_runner_(base::ThreadTaskRunnerHandle::Get()), 179 main_task_runner_(base::ThreadTaskRunnerHandle::Get()),
181 media_task_runner_(params.media_task_runner()), 180 media_task_runner_(params.media_task_runner()),
182 worker_task_runner_(params.worker_task_runner()), 181 worker_task_runner_(params.worker_task_runner()),
183 media_log_(params.media_log()), 182 media_log_(params.media_log()),
184 pipeline_(media_task_runner_, media_log_.get()), 183 pipeline_(media_task_runner_, media_log_.get()),
185 pipeline_controller_( 184 pipeline_controller_(
186 &pipeline_, 185 &pipeline_,
187 base::Bind(&WebMediaPlayerImpl::CreateRenderer, 186 base::Bind(&WebMediaPlayerImpl::CreateRenderer,
188 base::Unretained(this)), 187 base::Unretained(this)),
189 base::Bind(&WebMediaPlayerImpl::OnPipelineSeeked, AsWeakPtr()), 188 base::Bind(&WebMediaPlayerImpl::OnPipelineSeeked, AsWeakPtr()),
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 355
357 SetNetworkState(WebMediaPlayer::NetworkStateLoading); 356 SetNetworkState(WebMediaPlayer::NetworkStateLoading);
358 SetReadyState(WebMediaPlayer::ReadyStateHaveNothing); 357 SetReadyState(WebMediaPlayer::ReadyStateHaveNothing);
359 media_log_->AddEvent(media_log_->CreateLoadEvent(url.string().utf8())); 358 media_log_->AddEvent(media_log_->CreateLoadEvent(url.string().utf8()));
360 359
361 // Media source pipelines can start immediately. 360 // Media source pipelines can start immediately.
362 if (load_type == LoadTypeMediaSource) { 361 if (load_type == LoadTypeMediaSource) {
363 supports_save_ = false; 362 supports_save_ = false;
364 StartPipeline(); 363 StartPipeline();
365 } else { 364 } else {
366 // TODO(hubbe): This experiment is temporary and should be removed once 365 data_source_.reset(new MultibufferDataSource(
367 // we have enough data to support the primacy of the new media cache. 366 url, static_cast<UrlData::CORSMode>(cors_mode), main_task_runner_,
368 // See http://crbug.com/514719 for details. 367 url_index_, frame_, media_log_.get(), &buffered_data_source_host_,
369 // Otherwise it's a regular request which requires resolving the URL first. 368 base::Bind(&WebMediaPlayerImpl::NotifyDownloading, AsWeakPtr())));
370 if (base::FeatureList::IsEnabled(kUseNewMediaCache)) {
371 // Remove this when MultiBufferDataSource becomes default.
372 LOG(WARNING) << "Using MultibufferDataSource";
373 data_source_.reset(new MultibufferDataSource(
374 url, static_cast<UrlData::CORSMode>(cors_mode), main_task_runner_,
375 url_index_, frame_, media_log_.get(), &buffered_data_source_host_,
376 base::Bind(&WebMediaPlayerImpl::NotifyDownloading, AsWeakPtr())));
377 } else {
378 data_source_.reset(new BufferedDataSource(
379 url, static_cast<BufferedResourceLoader::CORSMode>(cors_mode),
380 main_task_runner_, frame_, media_log_.get(),
381 &buffered_data_source_host_,
382 base::Bind(&WebMediaPlayerImpl::NotifyDownloading, AsWeakPtr())));
383 }
384 data_source_->SetPreload(preload_); 369 data_source_->SetPreload(preload_);
385 data_source_->SetBufferingStrategy(buffering_strategy_); 370 data_source_->SetBufferingStrategy(buffering_strategy_);
386 data_source_->Initialize( 371 data_source_->Initialize(
387 base::Bind(&WebMediaPlayerImpl::DataSourceInitialized, AsWeakPtr())); 372 base::Bind(&WebMediaPlayerImpl::DataSourceInitialized, AsWeakPtr()));
388 } 373 }
389 374
390 #if defined(OS_ANDROID) // WMPI_CAST 375 #if defined(OS_ANDROID) // WMPI_CAST
391 cast_impl_.Initialize(url, frame_, delegate_id_); 376 cast_impl_.Initialize(url, frame_, delegate_id_);
392 #endif 377 #endif
393 } 378 }
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 541
557 media::OutputDeviceStatusCB callback = 542 media::OutputDeviceStatusCB callback =
558 media::ConvertToOutputDeviceStatusCB(web_callback); 543 media::ConvertToOutputDeviceStatusCB(web_callback);
559 media_task_runner_->PostTask( 544 media_task_runner_->PostTask(
560 FROM_HERE, 545 FROM_HERE,
561 base::Bind(&SetSinkIdOnMediaThread, audio_source_provider_, 546 base::Bind(&SetSinkIdOnMediaThread, audio_source_provider_,
562 sink_id.utf8(), static_cast<url::Origin>(security_origin), 547 sink_id.utf8(), static_cast<url::Origin>(security_origin),
563 callback)); 548 callback));
564 } 549 }
565 550
566 STATIC_ASSERT_ENUM(WebMediaPlayer::PreloadNone, BufferedDataSource::NONE); 551 STATIC_ASSERT_ENUM(WebMediaPlayer::PreloadNone, MultibufferDataSource::NONE);
567 STATIC_ASSERT_ENUM(WebMediaPlayer::PreloadMetaData, 552 STATIC_ASSERT_ENUM(WebMediaPlayer::PreloadMetaData,
568 BufferedDataSource::METADATA); 553 MultibufferDataSource::METADATA);
569 STATIC_ASSERT_ENUM(WebMediaPlayer::PreloadAuto, BufferedDataSource::AUTO); 554 STATIC_ASSERT_ENUM(WebMediaPlayer::PreloadAuto, MultibufferDataSource::AUTO);
570 555
571 void WebMediaPlayerImpl::setPreload(WebMediaPlayer::Preload preload) { 556 void WebMediaPlayerImpl::setPreload(WebMediaPlayer::Preload preload) {
572 DVLOG(1) << __func__ << "(" << preload << ")"; 557 DVLOG(1) << __func__ << "(" << preload << ")";
573 DCHECK(main_task_runner_->BelongsToCurrentThread()); 558 DCHECK(main_task_runner_->BelongsToCurrentThread());
574 559
575 preload_ = static_cast<BufferedDataSource::Preload>(preload); 560 preload_ = static_cast<MultibufferDataSource::Preload>(preload);
576 if (data_source_) 561 if (data_source_)
577 data_source_->SetPreload(preload_); 562 data_source_->SetPreload(preload_);
578 } 563 }
579 564
580 STATIC_ASSERT_ENUM(WebMediaPlayer::BufferingStrategy::Normal, 565 STATIC_ASSERT_ENUM(WebMediaPlayer::BufferingStrategy::Normal,
581 BufferedDataSource::BUFFERING_STRATEGY_NORMAL); 566 MultibufferDataSource::BUFFERING_STRATEGY_NORMAL);
582 STATIC_ASSERT_ENUM(WebMediaPlayer::BufferingStrategy::Aggressive, 567 STATIC_ASSERT_ENUM(WebMediaPlayer::BufferingStrategy::Aggressive,
583 BufferedDataSource::BUFFERING_STRATEGY_AGGRESSIVE); 568 MultibufferDataSource::BUFFERING_STRATEGY_AGGRESSIVE);
584 569
585 void WebMediaPlayerImpl::setBufferingStrategy( 570 void WebMediaPlayerImpl::setBufferingStrategy(
586 WebMediaPlayer::BufferingStrategy buffering_strategy) { 571 WebMediaPlayer::BufferingStrategy buffering_strategy) {
587 DVLOG(1) << __func__; 572 DVLOG(1) << __func__;
588 DCHECK(main_task_runner_->BelongsToCurrentThread()); 573 DCHECK(main_task_runner_->BelongsToCurrentThread());
589 574
590 #if defined(OS_ANDROID) 575 #if defined(OS_ANDROID)
591 // We disallow aggressive buffering on Android since it matches the behavior 576 // We disallow aggressive buffering on Android since it matches the behavior
592 // of the platform media player and may have data usage penalties. 577 // of the platform media player and may have data usage penalties.
593 // TODO(dalecurtis, hubbe): We should probably stop using "pause-and-buffer" 578 // TODO(dalecurtis, hubbe): We should probably stop using "pause-and-buffer"
594 // everywhere. See http://crbug.com/594669 for more details. 579 // everywhere. See http://crbug.com/594669 for more details.
595 buffering_strategy_ = BufferedDataSource::BUFFERING_STRATEGY_NORMAL; 580 buffering_strategy_ = MultibufferDataSource::BUFFERING_STRATEGY_NORMAL;
596 #else 581 #else
597 buffering_strategy_ = 582 buffering_strategy_ =
598 static_cast<BufferedDataSource::BufferingStrategy>(buffering_strategy); 583 static_cast<MultibufferDataSource::BufferingStrategy>(buffering_strategy);
599 #endif 584 #endif
600 585
601 if (data_source_) 586 if (data_source_)
602 data_source_->SetBufferingStrategy(buffering_strategy_); 587 data_source_->SetBufferingStrategy(buffering_strategy_);
603 } 588 }
604 589
605 bool WebMediaPlayerImpl::hasVideo() const { 590 bool WebMediaPlayerImpl::hasVideo() const {
606 DCHECK(main_task_runner_->BelongsToCurrentThread()); 591 DCHECK(main_task_runner_->BelongsToCurrentThread());
607 592
608 return pipeline_metadata_.has_video; 593 return pipeline_metadata_.has_video;
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 if (isRemote()) { 978 if (isRemote()) {
994 scoped_refptr<VideoFrame> frame = cast_impl_.GetCastingBanner(); 979 scoped_refptr<VideoFrame> frame = cast_impl_.GetCastingBanner();
995 if (frame) 980 if (frame)
996 compositor_->PaintSingleFrame(frame); 981 compositor_->PaintSingleFrame(frame);
997 } 982 }
998 #endif 983 #endif
999 984
1000 // If we're not in an aggressive buffering state, tell the data source we have 985 // If we're not in an aggressive buffering state, tell the data source we have
1001 // enough data so that it may release the connection. 986 // enough data so that it may release the connection.
1002 if (buffering_strategy_ != 987 if (buffering_strategy_ !=
1003 BufferedDataSource::BUFFERING_STRATEGY_AGGRESSIVE) { 988 MultibufferDataSource::BUFFERING_STRATEGY_AGGRESSIVE) {
1004 if (data_source_) 989 if (data_source_)
1005 data_source_->OnBufferingHaveEnough(true); 990 data_source_->OnBufferingHaveEnough(true);
1006 } 991 }
1007 992
1008 ReportMemoryUsage(); 993 ReportMemoryUsage();
1009 994
1010 if (pending_suspend_resume_cycle_) { 995 if (pending_suspend_resume_cycle_) {
1011 pending_suspend_resume_cycle_ = false; 996 pending_suspend_resume_cycle_ = false;
1012 UpdatePlayState(); 997 UpdatePlayState();
1013 } 998 }
(...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after
1805 pipeline_metadata_.natural_size, 1790 pipeline_metadata_.natural_size,
1806 base::Bind(&GetCurrentTimeInternal, this))); 1791 base::Bind(&GetCurrentTimeInternal, this)));
1807 watch_time_reporter_->OnVolumeChange(volume_); 1792 watch_time_reporter_->OnVolumeChange(volume_);
1808 if (delegate_ && delegate_->IsHidden()) 1793 if (delegate_ && delegate_->IsHidden())
1809 watch_time_reporter_->OnHidden(); 1794 watch_time_reporter_->OnHidden();
1810 else 1795 else
1811 watch_time_reporter_->OnShown(); 1796 watch_time_reporter_->OnShown();
1812 } 1797 }
1813 1798
1814 } // namespace media 1799 } // namespace media
OLDNEW
« no previous file with comments | « media/blink/webmediaplayer_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698