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 |