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 |