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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 218 : base::ThreadTaskRunnerHandle::Get()), | 218 : base::ThreadTaskRunnerHandle::Get()), |
| 219 compositor_(new VideoFrameCompositor(compositor_task_runner_)), | 219 compositor_(new VideoFrameCompositor(compositor_task_runner_)), |
| 220 #if defined(OS_ANDROID) // WMPI_CAST | 220 #if defined(OS_ANDROID) // WMPI_CAST |
| 221 cast_impl_(this, client_, params.context_3d_cb()), | 221 cast_impl_(this, client_, params.context_3d_cb()), |
| 222 #endif | 222 #endif |
| 223 volume_(1.0), | 223 volume_(1.0), |
| 224 volume_multiplier_(1.0), | 224 volume_multiplier_(1.0), |
| 225 renderer_factory_(std::move(renderer_factory)), | 225 renderer_factory_(std::move(renderer_factory)), |
| 226 surface_manager_(params.surface_manager()), | 226 surface_manager_(params.surface_manager()), |
| 227 overlay_surface_id_(SurfaceManager::kNoSurfaceID), | 227 overlay_surface_id_(SurfaceManager::kNoSurfaceID), |
| 228 in_vr_(false), | |
| 228 suppress_destruction_errors_(false), | 229 suppress_destruction_errors_(false), |
| 229 can_suspend_state_(CanSuspendState::UNKNOWN), | 230 can_suspend_state_(CanSuspendState::UNKNOWN), |
| 230 use_fallback_path_(false), | 231 use_fallback_path_(false), |
| 231 is_encrypted_(false), | 232 is_encrypted_(false), |
| 232 underflow_count_(0), | 233 underflow_count_(0), |
| 233 observer_(params.media_observer()) { | 234 observer_(params.media_observer()) { |
| 234 DCHECK(!adjust_allocated_memory_cb_.is_null()); | 235 DCHECK(!adjust_allocated_memory_cb_.is_null()); |
| 235 DCHECK(renderer_factory_); | 236 DCHECK(renderer_factory_); |
| 236 DCHECK(client_); | 237 DCHECK(client_); |
| 237 | 238 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 331 void WebMediaPlayerImpl::DisableOverlay() { | 332 void WebMediaPlayerImpl::DisableOverlay() { |
| 332 overlay_enabled_ = false; | 333 overlay_enabled_ = false; |
| 333 surface_created_cb_.Cancel(); | 334 surface_created_cb_.Cancel(); |
| 334 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; | 335 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; |
| 335 | 336 |
| 336 if (decoder_requires_restart_for_overlay_) | 337 if (decoder_requires_restart_for_overlay_) |
| 337 ScheduleRestart(); | 338 ScheduleRestart(); |
| 338 } | 339 } |
| 339 | 340 |
| 340 void WebMediaPlayerImpl::enteredFullscreen() { | 341 void WebMediaPlayerImpl::enteredFullscreen() { |
| 341 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 342 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_ && !in_vr_) |
| 342 EnableOverlay(); | 343 EnableOverlay(); |
| 343 if (observer_) | 344 if (observer_) |
| 344 observer_->OnEnteredFullscreen(); | 345 observer_->OnEnteredFullscreen(); |
| 345 } | 346 } |
| 346 | 347 |
| 347 void WebMediaPlayerImpl::exitedFullscreen() { | 348 void WebMediaPlayerImpl::exitedFullscreen() { |
| 348 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 349 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_ && !in_vr_) |
| 349 DisableOverlay(); | 350 DisableOverlay(); |
| 350 if (observer_) | 351 if (observer_) |
| 351 observer_->OnExitedFullscreen(); | 352 observer_->OnExitedFullscreen(); |
| 352 } | 353 } |
| 353 | 354 |
| 354 void WebMediaPlayerImpl::DoLoad(LoadType load_type, | 355 void WebMediaPlayerImpl::DoLoad(LoadType load_type, |
| 355 const blink::WebURL& url, | 356 const blink::WebURL& url, |
| 356 CORSMode cors_mode) { | 357 CORSMode cors_mode) { |
| 357 DVLOG(1) << __func__; | 358 DVLOG(1) << __func__; |
| 358 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 359 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| (...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1391 if (!video_weblayer_) | 1392 if (!video_weblayer_) |
| 1392 return pipeline_metadata_.natural_size; | 1393 return pipeline_metadata_.natural_size; |
| 1393 | 1394 |
| 1394 return video_weblayer_->bounds(); | 1395 return video_weblayer_->bounds(); |
| 1395 } | 1396 } |
| 1396 | 1397 |
| 1397 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { | 1398 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { |
| 1398 cast_impl_.SetDeviceScaleFactor(scale_factor); | 1399 cast_impl_.SetDeviceScaleFactor(scale_factor); |
| 1399 } | 1400 } |
| 1400 | 1401 |
| 1402 void WebMediaPlayerImpl::SetInVr(bool in_vr) { | |
| 1403 LOG(ERROR) << "===amp=== Setting screen info, in vr = " << in_vr; | |
| 1404 in_vr_ = in_vr; | |
|
liberato (no reviews please)
2016/12/06 17:54:43
this might need to change the overlay state immedi
| |
| 1405 } | |
| 1406 | |
| 1401 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { | 1407 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { |
| 1402 cast_impl_.setPoster(poster); | 1408 cast_impl_.setPoster(poster); |
| 1403 } | 1409 } |
| 1404 | 1410 |
| 1405 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { | 1411 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { |
| 1406 use_fallback_path_ = use_fallback_path; | 1412 use_fallback_path_ = use_fallback_path; |
| 1407 } | 1413 } |
| 1408 #endif // defined(OS_ANDROID) // WMPI_CAST | 1414 #endif // defined(OS_ANDROID) // WMPI_CAST |
| 1409 | 1415 |
| 1410 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { | 1416 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1489 surface_created_cb.Run(overlay_surface_id_); | 1495 surface_created_cb.Run(overlay_surface_id_); |
| 1490 else | 1496 else |
| 1491 pending_surface_request_cb_ = surface_created_cb; | 1497 pending_surface_request_cb_ = surface_created_cb; |
| 1492 } else { | 1498 } else { |
| 1493 // Tell the decoder to create its own surface. | 1499 // Tell the decoder to create its own surface. |
| 1494 surface_created_cb.Run(SurfaceManager::kNoSurfaceID); | 1500 surface_created_cb.Run(SurfaceManager::kNoSurfaceID); |
| 1495 } | 1501 } |
| 1496 } | 1502 } |
| 1497 | 1503 |
| 1498 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() { | 1504 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() { |
| 1499 if (force_video_overlays_) | 1505 if (force_video_overlays_ && !in_vr_) |
| 1500 EnableOverlay(); | 1506 EnableOverlay(); |
| 1501 | 1507 |
| 1502 RequestSurfaceCB request_surface_cb; | 1508 RequestSurfaceCB request_surface_cb; |
| 1503 #if defined(OS_ANDROID) | 1509 #if defined(OS_ANDROID) |
| 1504 request_surface_cb = | 1510 request_surface_cb = |
| 1505 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested); | 1511 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested); |
| 1506 #endif | 1512 #endif |
| 1507 return renderer_factory_->CreateRenderer( | 1513 return renderer_factory_->CreateRenderer( |
| 1508 media_task_runner_, worker_task_runner_, audio_source_provider_.get(), | 1514 media_task_runner_, worker_task_runner_, audio_source_provider_.get(), |
| 1509 compositor_, request_surface_cb); | 1515 compositor_, request_surface_cb); |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1884 pipeline_metadata_.natural_size, | 1890 pipeline_metadata_.natural_size, |
| 1885 base::Bind(&GetCurrentTimeInternal, this))); | 1891 base::Bind(&GetCurrentTimeInternal, this))); |
| 1886 watch_time_reporter_->OnVolumeChange(volume_); | 1892 watch_time_reporter_->OnVolumeChange(volume_); |
| 1887 if (delegate_ && delegate_->IsHidden()) | 1893 if (delegate_ && delegate_->IsHidden()) |
| 1888 watch_time_reporter_->OnHidden(); | 1894 watch_time_reporter_->OnHidden(); |
| 1889 else | 1895 else |
| 1890 watch_time_reporter_->OnShown(); | 1896 watch_time_reporter_->OnShown(); |
| 1891 } | 1897 } |
| 1892 | 1898 |
| 1893 } // namespace media | 1899 } // namespace media |
| OLD | NEW |