| Index: media/blink/webmediaplayer_impl.h
|
| diff --git a/media/blink/webmediaplayer_impl.h b/media/blink/webmediaplayer_impl.h
|
| index ba03528cde0586e5ed147673922c16c0f41b3545..d48fbdf391ff3adef59a7b67ed1fe519ab14f9b4 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();
|
| @@ -226,6 +229,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,
|
| @@ -238,6 +244,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);
|
| +
|
| // Creates a Renderer via the |renderer_factory_|.
|
| scoped_ptr<Renderer> CreateRenderer();
|
|
|
| @@ -366,6 +374,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_;
|
| @@ -382,6 +394,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_;
|
|
|
| @@ -436,6 +453,8 @@ class MEDIA_BLINK_EXPORT WebMediaPlayerImpl
|
|
|
| scoped_ptr<RendererFactory> renderer_factory_;
|
|
|
| + SurfaceManager* surface_manager_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl);
|
| };
|
|
|
|
|