summaryrefslogtreecommitdiffstats
path: root/webkit/media/webmediaplayer_impl.h
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 15:28:33 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-19 15:28:33 +0000
commitddbc6ff92d9389a92033ced2bfc5b341a2218fc9 (patch)
treeff8b000cb6d7964fc248160b4f18f94cc77b5a86 /webkit/media/webmediaplayer_impl.h
parentf4f40a05cea2c55011677d70bf0cada2fa876017 (diff)
downloadchromium_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.h10
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);
};