Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(681)

Side by Side Diff: media/blink/webmediaplayer_impl.cc

Issue 2439543003: Do not use overlays when VR shell is enabled. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/blink/webmediaplayer_impl.h ('k') | ui/display/display.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « media/blink/webmediaplayer_impl.h ('k') | ui/display/display.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698