Chromium Code Reviews| Index: media/blink/webmediaplayer_impl.h |
| diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h |
| index ac5e5cb74699ff7390e53b74b3d8d7998e35d774..d35b1a575f59be3f7627e82b5ca2d74fb1931c1d 100644 |
| --- a/media/blink/webmediaplayer_impl.h |
| +++ b/media/blink/webmediaplayer_impl.h |
| @@ -21,6 +21,7 @@ |
| #include "media/base/cdm_factory.h" |
| #include "media/base/pipeline.h" |
| #include "media/base/renderer_factory.h" |
| +#include "media/base/surface_manager.h" |
| #include "media/base/text_track.h" |
| #include "media/blink/buffered_data_source.h" |
| #include "media/blink/buffered_data_source_host_impl.h" |
| @@ -59,7 +60,6 @@ class WebLayerImpl; |
| } |
| namespace media { |
| - |
| class AudioHardwareConfig; |
| class ChunkDemuxer; |
| class GpuVideoAcceleratorFactories; |
| @@ -181,6 +181,9 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
| blink::WebContentDecryptionModule* cdm, |
| blink::WebContentDecryptionModuleResult result) override; |
| + void enterFullscreen() override; |
| + void exitedFullscreen() override; |
| + |
| void OnPipelineSeeked(bool time_changed, PipelineStatus status); |
| void OnPipelineSuspended(PipelineStatus status); |
| void OnPipelineEnded(); |
| @@ -198,7 +201,10 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
| void OnPause() override; |
| void OnVolumeMultiplierUpdate(double multiplier) override; |
| -#if defined(OS_ANDROID) // WMPI_CAST |
| +#if defined(OS_ANDROID) |
| + void SetSurfaceManager(SurfaceManager* surface_manager); |
| + |
| + // WMPI_CAST |
| bool isRemote() const override; |
| void requestRemotePlayback() override; |
| void requestRemotePlaybackControl() override; |
| @@ -229,6 +235,9 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
| // Initiate resuming the pipeline. |
| void Resume(); |
| + // Ask for the renderer to be restarted (destructed and recreated). |
| + void ScheduleRestart(); |
| + |
| // Called after |defer_load_cb_| has decided to allow the load. If |
| // |defer_load_cb_| is null this is called immediately. |
| void DoLoad(LoadType load_type, |
| @@ -241,6 +250,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
| // Called when the data source is downloading or paused. |
| void NotifyDownloading(bool is_downloading); |
| + void OnSurfaceRequested(const SurfaceCreatedCB& surface_created_cb); |
|
liberato (no reviews please)
2016/02/05 22:09:46
probably want to #if android this, since the defin
|
| + |
| // Creates a Renderer via the |renderer_factory_|. |
| scoped_ptr<Renderer> CreateRenderer(); |
| @@ -369,6 +380,10 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
| // Set while resuming to detect double-resume. |
| bool resuming_; |
| + // Set when doing both a suspend and resume in sequence in order to restart |
| + // the pipeline, and specifically the decoders. |
| + bool pending_suspend_resume_cycle_; |
| + |
| // TODO(scherkus): Replace with an explicit ended signal to HTMLMediaElement, |
| // see http://crbug.com/409280 |
| bool ended_; |
| @@ -385,6 +400,11 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
| // changes. |
| bool should_notify_time_changed_; |
| + bool fullscreen_; |
| + |
| + // Whether the current decoder requires a restart on fullscreen transitions. |
| + bool decoder_requires_restart_for_fullscreen_; |
| + |
| blink::WebMediaPlayerClient* client_; |
| blink::WebMediaPlayerEncryptedMediaClient* encrypted_client_; |
| @@ -438,7 +458,11 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl |
| // Whether a CDM has been successfully attached. |
| bool is_cdm_attached_; |
| -#if defined(OS_ANDROID) // WMPI_CAST |
| +#if defined(OS_ANDROID) |
| + // For requesting surfaces on behalf of the Android H/W decoder in fullscreen. |
|
DaleCurtis
2016/02/06 00:17:39
Lets avoid the OS_ANDROID #define where possible a
watk
2016/02/11 23:03:25
Done.
|
| + SurfaceManager* surface_manager_; |
| + |
| + // WMPI_CAST |
| WebMediaPlayerCast cast_impl_; |
| #endif |