diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-19 15:28:33 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-19 15:28:33 +0000 |
commit | ddbc6ff92d9389a92033ced2bfc5b341a2218fc9 (patch) | |
tree | ff8b000cb6d7964fc248160b4f18f94cc77b5a86 /webkit/media/webmediaplayer_impl.h | |
parent | f4f40a05cea2c55011677d70bf0cada2fa876017 (diff) | |
download | chromium_src-ddbc6ff92d9389a92033ced2bfc5b341a2218fc9.zip chromium_src-ddbc6ff92d9389a92033ced2bfc5b341a2218fc9.tar.gz chromium_src-ddbc6ff92d9389a92033ced2bfc5b341a2218fc9.tar.bz2 |
Reland: Remove reference counting from media::VideoDecoder and friends.
In addition:
* VideoRenderer is now passed a list of decoders via constructor instead of Initialize()
* WebMediaPlayerImpl's FilterCollection is now built in one shot instead of incrementally
BUG=173313
Review URL: https://chromiumcodereview.appspot.com/14348007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195212 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/media/webmediaplayer_impl.h')
-rw-r--r-- | webkit/media/webmediaplayer_impl.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/webkit/media/webmediaplayer_impl.h b/webkit/media/webmediaplayer_impl.h index f733e6f..46f9985 100644 --- a/webkit/media/webmediaplayer_impl.h +++ b/webkit/media/webmediaplayer_impl.h @@ -272,6 +272,10 @@ class WebMediaPlayerImpl // painted. void FrameReady(const scoped_refptr<media::VideoFrame>& frame); + // Builds a FilterCollection based on the current configuration of + // WebMediaPlayerImpl. + scoped_ptr<media::FilterCollection> BuildFilterCollection(); + WebKit::WebFrame* frame_; // TODO(hclam): get rid of these members and read from the pipeline directly. @@ -285,7 +289,6 @@ class WebMediaPlayerImpl // for DCHECKs so methods calls won't execute in the wrong thread. const scoped_refptr<base::MessageLoopProxy> main_loop_; - scoped_ptr<media::FilterCollection> filter_collection_; scoped_refptr<media::Pipeline> pipeline_; base::Thread media_thread_; @@ -329,6 +332,9 @@ class WebMediaPlayerImpl bool incremented_externally_allocated_memory_; + // Factories for supporting GpuVideoDecoder. May be null. + scoped_refptr<media::GpuVideoDecoder::Factories> gpu_factories_; + // Routes audio playback to either AudioRendererSink or WebAudio. scoped_refptr<WebAudioSourceProviderImpl> audio_source_provider_; @@ -368,8 +374,6 @@ class WebMediaPlayerImpl // not NULL while the compositor is actively using this webmediaplayer. cc::VideoFrameProvider::Client* video_frame_provider_client_; - scoped_refptr<media::GpuVideoDecoder::Factories> gpu_factories_; - DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); }; |