Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 240 use_fallback_path_(false), | 240 use_fallback_path_(false), |
| 241 is_encrypted_(false), | 241 is_encrypted_(false), |
| 242 underflow_count_(0), | 242 underflow_count_(0), |
| 243 observer_(params.media_observer()) { | 243 observer_(params.media_observer()) { |
| 244 DCHECK(!adjust_allocated_memory_cb_.is_null()); | 244 DCHECK(!adjust_allocated_memory_cb_.is_null()); |
| 245 DCHECK(renderer_factory_); | 245 DCHECK(renderer_factory_); |
| 246 DCHECK(client_); | 246 DCHECK(client_); |
| 247 | 247 |
| 248 tick_clock_.reset(new base::DefaultTickClock()); | 248 tick_clock_.reset(new base::DefaultTickClock()); |
| 249 | 249 |
| 250 force_video_overlays_ = base::CommandLine::ForCurrentProcess()->HasSwitch( | 250 force_video_overlays_ = base::CommandLine::ForCurrentProcess()->HasSwitch( |
|
ddorwin
2016/12/15 01:23:52
Even more so than base:Features, command line swit
amp
2016/12/15 21:49:02
Ack. It seems to operate slightly differently by c
| |
| 251 switches::kForceVideoOverlays); | 251 switches::kForceVideoOverlays); |
| 252 | 252 |
| 253 disable_fullscreen_video_overlays_ = | 253 enable_fullscreen_video_overlays_ = |
| 254 !base::FeatureList::IsEnabled(media::kOverlayFullscreenVideo); | 254 base::FeatureList::IsEnabled(media::kOverlayFullscreenVideo); |
| 255 | 255 |
| 256 if (delegate_) | 256 if (delegate_) |
| 257 delegate_id_ = delegate_->AddObserver(this); | 257 delegate_id_ = delegate_->AddObserver(this); |
| 258 | 258 |
| 259 media_log_->AddEvent( | 259 media_log_->AddEvent( |
| 260 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED)); | 260 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED)); |
| 261 | 261 |
| 262 if (params.initial_cdm()) | 262 if (params.initial_cdm()) |
| 263 SetCdm(params.initial_cdm()); | 263 SetCdm(params.initial_cdm()); |
| 264 | 264 |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 338 surface_created_cb_.Cancel(); | 338 surface_created_cb_.Cancel(); |
| 339 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; | 339 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; |
| 340 | 340 |
| 341 if (decoder_requires_restart_for_overlay_) | 341 if (decoder_requires_restart_for_overlay_) |
| 342 ScheduleRestart(); | 342 ScheduleRestart(); |
| 343 else if (!set_surface_cb_.is_null()) | 343 else if (!set_surface_cb_.is_null()) |
| 344 set_surface_cb_.Run(overlay_surface_id_); | 344 set_surface_cb_.Run(overlay_surface_id_); |
| 345 } | 345 } |
| 346 | 346 |
| 347 void WebMediaPlayerImpl::enteredFullscreen() { | 347 void WebMediaPlayerImpl::enteredFullscreen() { |
| 348 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 348 if (!force_video_overlays_ && enable_fullscreen_video_overlays_) |
| 349 EnableOverlay(); | 349 EnableOverlay(); |
| 350 if (observer_) | 350 if (observer_) |
| 351 observer_->OnEnteredFullscreen(); | 351 observer_->OnEnteredFullscreen(); |
| 352 } | 352 } |
| 353 | 353 |
| 354 void WebMediaPlayerImpl::exitedFullscreen() { | 354 void WebMediaPlayerImpl::exitedFullscreen() { |
| 355 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 355 if (!force_video_overlays_ && enable_fullscreen_video_overlays_) |
| 356 DisableOverlay(); | 356 DisableOverlay(); |
| 357 if (observer_) | 357 if (observer_) |
| 358 observer_->OnExitedFullscreen(); | 358 observer_->OnExitedFullscreen(); |
| 359 } | 359 } |
| 360 | 360 |
| 361 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { | 361 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { |
| 362 if (observer_) | 362 if (observer_) |
| 363 observer_->OnBecameDominantVisibleContent(isDominant); | 363 observer_->OnBecameDominantVisibleContent(isDominant); |
| 364 } | 364 } |
| 365 | 365 |
| (...skipping 1094 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1460 if (!video_weblayer_) | 1460 if (!video_weblayer_) |
| 1461 return pipeline_metadata_.natural_size; | 1461 return pipeline_metadata_.natural_size; |
| 1462 | 1462 |
| 1463 return video_weblayer_->bounds(); | 1463 return video_weblayer_->bounds(); |
| 1464 } | 1464 } |
| 1465 | 1465 |
| 1466 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { | 1466 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { |
| 1467 cast_impl_.SetDeviceScaleFactor(scale_factor); | 1467 cast_impl_.SetDeviceScaleFactor(scale_factor); |
| 1468 } | 1468 } |
| 1469 | 1469 |
| 1470 void WebMediaPlayerImpl::SetEnableFullscreenOverlays(bool enable_overlays) { | |
| 1471 enable_fullscreen_video_overlays_ = enable_overlays; | |
| 1472 } | |
| 1473 | |
| 1470 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { | 1474 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { |
| 1471 cast_impl_.setPoster(poster); | 1475 cast_impl_.setPoster(poster); |
| 1472 } | 1476 } |
| 1473 | 1477 |
| 1474 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { | 1478 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { |
| 1475 use_fallback_path_ = use_fallback_path; | 1479 use_fallback_path_ = use_fallback_path; |
| 1476 } | 1480 } |
| 1477 #endif // defined(OS_ANDROID) // WMPI_CAST | 1481 #endif // defined(OS_ANDROID) // WMPI_CAST |
| 1478 | 1482 |
| 1479 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { | 1483 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1559 | 1563 |
| 1560 // If we're waiting for the surface to arrive, OnSurfaceCreated() will be | 1564 // If we're waiting for the surface to arrive, OnSurfaceCreated() will be |
| 1561 // called later when it arrives; so do nothing for now. | 1565 // called later when it arrives; so do nothing for now. |
| 1562 if (overlay_enabled_ && overlay_surface_id_ == SurfaceManager::kNoSurfaceID) | 1566 if (overlay_enabled_ && overlay_surface_id_ == SurfaceManager::kNoSurfaceID) |
| 1563 return; | 1567 return; |
| 1564 | 1568 |
| 1565 OnSurfaceCreated(overlay_surface_id_); | 1569 OnSurfaceCreated(overlay_surface_id_); |
| 1566 } | 1570 } |
| 1567 | 1571 |
| 1568 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() { | 1572 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() { |
| 1569 if (force_video_overlays_) | 1573 if (force_video_overlays_) |
|
ddorwin
2016/12/15 01:23:52
This is the only instance that is not related to e
amp
2016/12/15 21:49:02
Yea, the EnableOverlay call will create a surface
| |
| 1570 EnableOverlay(); | 1574 EnableOverlay(); |
| 1571 | 1575 |
| 1572 RequestSurfaceCB request_surface_cb; | 1576 RequestSurfaceCB request_surface_cb; |
| 1573 #if defined(OS_ANDROID) | 1577 #if defined(OS_ANDROID) |
| 1574 request_surface_cb = | 1578 request_surface_cb = |
| 1575 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested); | 1579 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested); |
| 1576 #endif | 1580 #endif |
| 1577 return renderer_factory_->CreateRenderer( | 1581 return renderer_factory_->CreateRenderer( |
| 1578 media_task_runner_, worker_task_runner_, audio_source_provider_.get(), | 1582 media_task_runner_, worker_task_runner_, audio_source_provider_.get(), |
| 1579 compositor_, request_surface_cb); | 1583 compositor_, request_surface_cb); |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1980 watch_time_reporter_->OnShown(); | 1984 watch_time_reporter_->OnShown(); |
| 1981 } | 1985 } |
| 1982 | 1986 |
| 1983 bool WebMediaPlayerImpl::IsHidden() const { | 1987 bool WebMediaPlayerImpl::IsHidden() const { |
| 1984 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 1988 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 1985 | 1989 |
| 1986 return delegate_ && delegate_->IsHidden(); | 1990 return delegate_ && delegate_->IsHidden(); |
| 1987 } | 1991 } |
| 1988 | 1992 |
| 1989 } // namespace media | 1993 } // namespace media |
| OLD | NEW |