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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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( |
251 switches::kForceVideoOverlays); | 251 switches::kForceVideoOverlays); |
252 | 252 |
253 disable_fullscreen_video_overlays_ = | |
254 !base::FeatureList::IsEnabled(media::kOverlayFullscreenVideo); | |
255 | |
256 if (delegate_) | 253 if (delegate_) |
257 delegate_id_ = delegate_->AddObserver(this); | 254 delegate_id_ = delegate_->AddObserver(this); |
258 | 255 |
259 media_log_->AddEvent( | 256 media_log_->AddEvent( |
260 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED)); | 257 media_log_->CreateEvent(MediaLogEvent::WEBMEDIAPLAYER_CREATED)); |
261 | 258 |
262 if (params.initial_cdm()) | 259 if (params.initial_cdm()) |
263 SetCdm(params.initial_cdm()); | 260 SetCdm(params.initial_cdm()); |
264 | 261 |
265 // TODO(xhwang): When we use an external Renderer, many methods won't work, | 262 // TODO(xhwang): When we use an external Renderer, many methods won't work, |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 surface_created_cb_.Cancel(); | 335 surface_created_cb_.Cancel(); |
339 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; | 336 overlay_surface_id_ = SurfaceManager::kNoSurfaceID; |
340 | 337 |
341 if (decoder_requires_restart_for_overlay_) | 338 if (decoder_requires_restart_for_overlay_) |
342 ScheduleRestart(); | 339 ScheduleRestart(); |
343 else if (!set_surface_cb_.is_null()) | 340 else if (!set_surface_cb_.is_null()) |
344 set_surface_cb_.Run(overlay_surface_id_); | 341 set_surface_cb_.Run(overlay_surface_id_); |
345 } | 342 } |
346 | 343 |
347 void WebMediaPlayerImpl::enteredFullscreen() { | 344 void WebMediaPlayerImpl::enteredFullscreen() { |
348 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 345 if (!force_video_overlays_ && enable_fullscreen_video_overlays_) |
349 EnableOverlay(); | 346 EnableOverlay(); |
350 if (observer_) | 347 if (observer_) |
351 observer_->OnEnteredFullscreen(); | 348 observer_->OnEnteredFullscreen(); |
352 } | 349 } |
353 | 350 |
354 void WebMediaPlayerImpl::exitedFullscreen() { | 351 void WebMediaPlayerImpl::exitedFullscreen() { |
355 if (!force_video_overlays_ && !disable_fullscreen_video_overlays_) | 352 if (!force_video_overlays_ && enable_fullscreen_video_overlays_) |
356 DisableOverlay(); | 353 DisableOverlay(); |
357 if (observer_) | 354 if (observer_) |
358 observer_->OnExitedFullscreen(); | 355 observer_->OnExitedFullscreen(); |
359 } | 356 } |
360 | 357 |
361 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { | 358 void WebMediaPlayerImpl::becameDominantVisibleContent(bool isDominant) { |
362 if (observer_) | 359 if (observer_) |
363 observer_->OnBecameDominantVisibleContent(isDominant); | 360 observer_->OnBecameDominantVisibleContent(isDominant); |
364 } | 361 } |
365 | 362 |
(...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1459 if (!video_weblayer_) | 1456 if (!video_weblayer_) |
1460 return pipeline_metadata_.natural_size; | 1457 return pipeline_metadata_.natural_size; |
1461 | 1458 |
1462 return video_weblayer_->bounds(); | 1459 return video_weblayer_->bounds(); |
1463 } | 1460 } |
1464 | 1461 |
1465 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { | 1462 void WebMediaPlayerImpl::SetDeviceScaleFactor(float scale_factor) { |
1466 cast_impl_.SetDeviceScaleFactor(scale_factor); | 1463 cast_impl_.SetDeviceScaleFactor(scale_factor); |
1467 } | 1464 } |
1468 | 1465 |
| 1466 void WebMediaPlayerImpl::SetEnableFullscreenOverlays(bool enable_overlays) { |
| 1467 enable_fullscreen_video_overlays_ = enable_overlays; |
| 1468 } |
| 1469 |
1469 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { | 1470 void WebMediaPlayerImpl::setPoster(const blink::WebURL& poster) { |
1470 cast_impl_.setPoster(poster); | 1471 cast_impl_.setPoster(poster); |
1471 } | 1472 } |
1472 | 1473 |
1473 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { | 1474 void WebMediaPlayerImpl::SetUseFallbackPath(bool use_fallback_path) { |
1474 use_fallback_path_ = use_fallback_path; | 1475 use_fallback_path_ = use_fallback_path; |
1475 } | 1476 } |
1476 #endif // defined(OS_ANDROID) // WMPI_CAST | 1477 #endif // defined(OS_ANDROID) // WMPI_CAST |
1477 | 1478 |
1478 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { | 1479 void WebMediaPlayerImpl::DataSourceInitialized(bool success) { |
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1979 watch_time_reporter_->OnShown(); | 1980 watch_time_reporter_->OnShown(); |
1980 } | 1981 } |
1981 | 1982 |
1982 bool WebMediaPlayerImpl::IsHidden() const { | 1983 bool WebMediaPlayerImpl::IsHidden() const { |
1983 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 1984 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
1984 | 1985 |
1985 return delegate_ && delegate_->IsHidden(); | 1986 return delegate_ && delegate_->IsHidden(); |
1986 } | 1987 } |
1987 | 1988 |
1988 } // namespace media | 1989 } // namespace media |
OLD | NEW |