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 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 228 : base::ThreadTaskRunnerHandle::Get()), | 228 : base::ThreadTaskRunnerHandle::Get()), |
| 229 compositor_(new VideoFrameCompositor(compositor_task_runner_)), | 229 compositor_(new VideoFrameCompositor(compositor_task_runner_)), |
| 230 #if defined(OS_ANDROID) // WMPI_CAST | 230 #if defined(OS_ANDROID) // WMPI_CAST |
| 231 cast_impl_(this, client_, params.context_3d_cb()), | 231 cast_impl_(this, client_, params.context_3d_cb()), |
| 232 #endif | 232 #endif |
| 233 volume_(1.0), | 233 volume_(1.0), |
| 234 volume_multiplier_(1.0), | 234 volume_multiplier_(1.0), |
| 235 renderer_factory_(std::move(renderer_factory)), | 235 renderer_factory_(std::move(renderer_factory)), |
| 236 surface_manager_(params.surface_manager()), | 236 surface_manager_(params.surface_manager()), |
| 237 overlay_surface_id_(SurfaceManager::kNoSurfaceID), | 237 overlay_surface_id_(SurfaceManager::kNoSurfaceID), |
| 238 in_vr_(false), | |
| 238 suppress_destruction_errors_(false), | 239 suppress_destruction_errors_(false), |
| 239 can_suspend_state_(CanSuspendState::UNKNOWN), | 240 can_suspend_state_(CanSuspendState::UNKNOWN), |
| 240 use_fallback_path_(false), | 241 use_fallback_path_(false), |
| 241 is_encrypted_(false), | 242 is_encrypted_(false), |
| 242 underflow_count_(0), | 243 underflow_count_(0), |
| 243 observer_(params.media_observer()) { | 244 observer_(params.media_observer()) { |
| 244 DCHECK(!adjust_allocated_memory_cb_.is_null()); | 245 DCHECK(!adjust_allocated_memory_cb_.is_null()); |
| 245 DCHECK(renderer_factory_); | 246 DCHECK(renderer_factory_); |
| 246 DCHECK(client_); | 247 DCHECK(client_); |
| 247 | 248 |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 345 surface_created_cb_.Cancel(); | 346 surface_created_cb_.Cancel(); |
| 346 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; | 347 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; |
| 347 | 348 |
| 348 if (decoder_requires_restart_for_overlay_) | 349 if (decoder_requires_restart_for_overlay_) |
| 349 ScheduleRestart(); | 350 ScheduleRestart(); |
| 350 else if (!set_surface_cb_.is_null()) | 351 else if (!set_surface_cb_.is_null()) |
| 351 set_surface_cb_.Run(overlay_surface_id_); | 352 set_surface_cb_.Run(overlay_surface_id_); |
| 352 } | 353 } |
| 353 | 354 |
| 354 void WebMediaPlayerImpl::enteredFullscreen() { | 355 void WebMediaPlayerImpl::enteredFullscreen() { |
| 355 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 356 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_ && !in_vr_) |
| 356 EnableOverlay(); | 357 EnableOverlay(); |
| 357 if (observer_) | 358 if (observer_) |
| 358 observer_->OnEnteredFullscreen(); | 359 observer_->OnEnteredFullscreen(); |
| 359 } | 360 } |
| 360 | 361 |
| 361 void WebMediaPlayerImpl::exitedFullscreen() { | 362 void WebMediaPlayerImpl::exitedFullscreen() { |
| 362 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 363 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_ && !in_vr_) |
| 363 DisableOverlay(); | 364 DisableOverlay(); |
| 364 if (observer_) | 365 if (observer_) |
| 365 observer_->OnExitedFullscreen(); | 366 observer_->OnExitedFullscreen(); |
| 366 } | 367 } |
| 367 | 368 |
| 368 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { | 369 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { |
| 369 if (observer_) | 370 if (observer_) |
| 370 observer_->OnBecameDominantVisibleContent(isDominant); | 371 observer_->OnBecameDominantVisibleContent(isDominant); |
| 371 } | 372 } |
| 372 | 373 |
| (...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1466 if (!video_weblayer_) | 1467 if (!video_weblayer_) |
| 1467 return pipeline_metadata_.natural_size; | 1468 return pipeline_metadata_.natural_size; |
| 1468 | 1469 |
| 1469 return video_weblayer_->bounds(); | 1470 return video_weblayer_->bounds(); |
| 1470 } | 1471 } |
| 1471 | 1472 |
| 1472 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { | 1473 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { |
| 1473 cast_impl_.SetDeviceScaleFactor(scale_factor); | 1474 cast_impl_.SetDeviceScaleFactor(scale_factor); |
| 1474 } | 1475 } |
| 1475 | 1476 |
| 1477 void WebMediaPlayerImpl::SetInVr(bool in_vr) { | |
|
liberato (no reviews please)
2016/12/06 17:54:43
might want EnteredVr / ExitedVr that handle turnin
amp
2016/12/06 18:08:16
Yea that sounds better.
| |
| 1478 in_vr_ = in_vr; | |
| 1479 } | |
| 1480 | |
| 1476 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { | 1481 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { |
| 1477 cast_impl_.setPoster(poster); | 1482 cast_impl_.setPoster(poster); |
| 1478 } | 1483 } |
| 1479 | 1484 |
| 1480 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { | 1485 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { |
| 1481 use_fallback_path_ = use_fallback_path; | 1486 use_fallback_path_ = use_fallback_path; |
| 1482 } | 1487 } |
| 1483 #endif // defined(OS_ANDROID) // WMPI_CAST | 1488 #endif // defined(OS_ANDROID) // WMPI_CAST |
| 1484 | 1489 |
| 1485 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { | 1490 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1565 | 1570 |
| 1566 // If we're waiting for the surface to arrive, OnSurfaceCreated() will be | 1571 // If we're waiting for the surface to arrive, OnSurfaceCreated() will be |
| 1567 // called later when it arrives; so do nothing for now. | 1572 // called later when it arrives; so do nothing for now. |
| 1568 if (overlay_enabled_ && overlay_surface_id_ == SurfaceManager::kNoSurfaceID) | 1573 if (overlay_enabled_ && overlay_surface_id_ == SurfaceManager::kNoSurfaceID) |
| 1569 return; | 1574 return; |
| 1570 | 1575 |
| 1571 OnSurfaceCreated(overlay_surface_id_); | 1576 OnSurfaceCreated(overlay_surface_id_); |
| 1572 } | 1577 } |
| 1573 | 1578 |
| 1574 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() { | 1579 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() { |
| 1575 if (force_video_overlays_) | 1580 if (force_video_overlays_ && !in_vr_) |
| 1576 EnableOverlay(); | 1581 EnableOverlay(); |
| 1577 | 1582 |
| 1578 RequestSurfaceCB request_surface_cb; | 1583 RequestSurfaceCB request_surface_cb; |
| 1579 #if defined(OS_ANDROID) | 1584 #if defined(OS_ANDROID) |
| 1580 request_surface_cb = | 1585 request_surface_cb = |
| 1581 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested); | 1586 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested); |
| 1582 #endif | 1587 #endif |
| 1583 return renderer_factory_->CreateRenderer( | 1588 return renderer_factory_->CreateRenderer( |
| 1584 media_task_runner_, worker_task_runner_, audio_source_provider_.get(), | 1589 media_task_runner_, worker_task_runner_, audio_source_provider_.get(), |
| 1585 compositor_, request_surface_cb); | 1590 compositor_, request_surface_cb); |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1986 watch_time_reporter_->OnShown(); | 1991 watch_time_reporter_->OnShown(); |
| 1987 } | 1992 } |
| 1988 | 1993 |
| 1989 bool WebMediaPlayerImpl::IsHidden() const { | 1994 bool WebMediaPlayerImpl::IsHidden() const { |
| 1990 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 1995 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 1991 | 1996 |
| 1992 return delegate_ && delegate_->IsHidden(); | 1997 return delegate_ && delegate_->IsHidden(); |
| 1993 } | 1998 } |
| 1994 | 1999 |
| 1995 } // namespace media | 2000 } // namespace media |
| OLD | NEW |