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

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

Issue 2439543003: Do not use overlays when VR shell is enabled. (Closed)
Patch Set: rebase Created 4 years 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
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 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 use_fallback_path_(false), 240 use_fallback_path_(false),
241 is_encrypted_(false), 241 is_encrypted_(false),
242 underflow_count_(0), 242 underflow_count_(0),
243 observer_(params.media_observer()) { 243 observer_(params.media_observer()) {
244 DCHECK(!adjust_allocated_memory_cb_.is_null()); 244 DCHECK(!adjust_allocated_memory_cb_.is_null());
245 DCHECK(renderer_factory_); 245 DCHECK(renderer_factory_);
246 DCHECK(client_); 246 DCHECK(client_);
247 247
248 tick_clock_.reset(new base::DefaultTickClock()); 248 tick_clock_.reset(new base::DefaultTickClock());
249 249
250 force_video_overlays_ = base::CommandLine::ForCurrentProcess()->HasSwitch( 250 force_video_overlays_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
ddorwin 2016/12/15 01:23:52 Even more so than base:Features, command line swit
amp 2016/12/15 21:49:02 Ack. It seems to operate slightly differently by c
251 switches::kForceVideoOverlays); 251 switches::kForceVideoOverlays);
252 252
253 disable_fullscreen_video_overlays_ = 253 enable_fullscreen_video_overlays_ =
254 !base::FeatureList::IsEnabled(media::kOverlayFullscreenVideo); 254 base::FeatureList::IsEnabled(media::kOverlayFullscreenVideo);
255 255
256 if (delegate_) 256 if (delegate_)
257 delegate_id_ = delegate_->AddObserver(this); 257 delegate_id_ = delegate_->AddObserver(this);
258 258
259 media_log_->AddEvent( 259 media_log_->AddEvent(
260 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED)); 260 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED));
261 261
262 if (params.initial_cdm()) 262 if (params.initial_cdm())
263 SetCdm(params.initial_cdm()); 263 SetCdm(params.initial_cdm());
264 264
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 surface_created_cb_.Cancel(); 338 surface_created_cb_.Cancel();
339 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; 339 overlay_surface_id_ = SurfaceManager::kNoSurfaceID;
340 340
341 if (decoder_requires_restart_for_overlay_) 341 if (decoder_requires_restart_for_overlay_)
342 ScheduleRestart(); 342 ScheduleRestart();
343 else if (!set_surface_cb_.is_null()) 343 else if (!set_surface_cb_.is_null())
344 set_surface_cb_.Run(overlay_surface_id_); 344 set_surface_cb_.Run(overlay_surface_id_);
345 } 345 }
346 346
347 void WebMediaPlayerImpl::enteredFullscreen() { 347 void WebMediaPlayerImpl::enteredFullscreen() {
348 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) 348 if (!force_video_overlays_ && enable_fullscreen_video_overlays_)
349 EnableOverlay(); 349 EnableOverlay();
350 if (observer_) 350 if (observer_)
351 observer_->OnEnteredFullscreen(); 351 observer_->OnEnteredFullscreen();
352 } 352 }
353 353
354 void WebMediaPlayerImpl::exitedFullscreen() { 354 void WebMediaPlayerImpl::exitedFullscreen() {
355 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) 355 if (!force_video_overlays_ && enable_fullscreen_video_overlays_)
356 DisableOverlay(); 356 DisableOverlay();
357 if (observer_) 357 if (observer_)
358 observer_->OnExitedFullscreen(); 358 observer_->OnExitedFullscreen();
359 } 359 }
360 360
361 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { 361 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) {
362 if (observer_) 362 if (observer_)
363 observer_->OnBecameDominantVisibleContent(isDominant); 363 observer_->OnBecameDominantVisibleContent(isDominant);
364 } 364 }
365 365
(...skipping 1094 matching lines...) Expand 10 before | Expand all | Expand 10 after
1460 if (!video_weblayer_) 1460 if (!video_weblayer_)
1461 return pipeline_metadata_.natural_size; 1461 return pipeline_metadata_.natural_size;
1462 1462
1463 return video_weblayer_->bounds(); 1463 return video_weblayer_->bounds();
1464 } 1464 }
1465 1465
1466 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { 1466 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) {
1467 cast_impl_.SetDeviceScaleFactor(scale_factor); 1467 cast_impl_.SetDeviceScaleFactor(scale_factor);
1468 } 1468 }
1469 1469
1470 void WebMediaPlayerImpl::SetEnableFullscreenOverlays(bool enable_overlays) {
1471 enable_fullscreen_video_overlays_ = enable_overlays;
1472 }
1473
1470 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { 1474 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) {
1471 cast_impl_.setPoster(poster); 1475 cast_impl_.setPoster(poster);
1472 } 1476 }
1473 1477
1474 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { 1478 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) {
1475 use_fallback_path_ = use_fallback_path; 1479 use_fallback_path_ = use_fallback_path;
1476 } 1480 }
1477 #endif // defined(OS_ANDROID) // WMPI_CAST 1481 #endif // defined(OS_ANDROID) // WMPI_CAST
1478 1482
1479 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { 1483 void WebMediaPlayerImpl::DataSourceInitialized(bool success) {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1559 1563
1560 // If we're waiting for the surface to arrive, OnSurfaceCreated() will be 1564 // If we're waiting for the surface to arrive, OnSurfaceCreated() will be
1561 // called later when it arrives; so do nothing for now. 1565 // called later when it arrives; so do nothing for now.
1562 if (overlay_enabled_ && overlay_surface_id_ == SurfaceManager::kNoSurfaceID) 1566 if (overlay_enabled_ && overlay_surface_id_ == SurfaceManager::kNoSurfaceID)
1563 return; 1567 return;
1564 1568
1565 OnSurfaceCreated(overlay_surface_id_); 1569 OnSurfaceCreated(overlay_surface_id_);
1566 } 1570 }
1567 1571
1568 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() { 1572 std::unique_ptr<Renderer> WebMediaPlayerImpl::CreateRenderer() {
1569 if (force_video_overlays_) 1573 if (force_video_overlays_)
ddorwin 2016/12/15 01:23:52 This is the only instance that is not related to e
amp 2016/12/15 21:49:02 Yea, the EnableOverlay call will create a surface
1570 EnableOverlay(); 1574 EnableOverlay();
1571 1575
1572 RequestSurfaceCB request_surface_cb; 1576 RequestSurfaceCB request_surface_cb;
1573 #if defined(OS_ANDROID) 1577 #if defined(OS_ANDROID)
1574 request_surface_cb = 1578 request_surface_cb =
1575 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested); 1579 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnSurfaceRequested);
1576 #endif 1580 #endif
1577 return renderer_factory_->CreateRenderer( 1581 return renderer_factory_->CreateRenderer(
1578 media_task_runner_, worker_task_runner_, audio_source_provider_.get(), 1582 media_task_runner_, worker_task_runner_, audio_source_provider_.get(),
1579 compositor_, request_surface_cb); 1583 compositor_, request_surface_cb);
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
1980 watch_time_reporter_->OnShown(); 1984 watch_time_reporter_->OnShown();
1981 } 1985 }
1982 1986
1983 bool WebMediaPlayerImpl::IsHidden() const { 1987 bool WebMediaPlayerImpl::IsHidden() const {
1984 DCHECK(main_task_runner_->BelongsToCurrentThread()); 1988 DCHECK(main_task_runner_->BelongsToCurrentThread());
1985 1989
1986 return delegate_ && delegate_->IsHidden(); 1990 return delegate_ && delegate_->IsHidden();
1987 } 1991 }
1988 1992
1989 } // namespace media 1993 } // namespace media
OLDNEW
« media/blink/webmediaplayer_impl.h ('K') | « media/blink/webmediaplayer_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698