summaryrefslogtreecommitdiffstats
path: root/webkit/support/webkit_support.cc
diff options
context:
space:
mode:
authorvrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-22 19:57:36 +0000
committervrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-22 19:57:36 +0000
commit5b5bb9d530c0085a5b8becad2a2302737e215890 (patch)
tree4d15db1e004de0d17c9baeaa73ec13900a43f82f /webkit/support/webkit_support.cc
parent11c4c816a056ad651aefc241446b77f4e57cebd8 (diff)
downloadchromium_src-5b5bb9d530c0085a5b8becad2a2302737e215890.zip
chromium_src-5b5bb9d530c0085a5b8becad2a2302737e215890.tar.gz
chromium_src-5b5bb9d530c0085a5b8becad2a2302737e215890.tar.bz2
Adding Abort() to DataSource to wake up hanging Read()
This change adds an Abort() method to BufferedDataSource, which will wake up a blocking read if one exists. When WebMediaPlayerImpl being destroyed, it now tells BufferedDataSource to abort before it tells the pipeline to stop, so the pipeline will not hang while waiting for a never-ending Read() to return. BUG=54465 TEST=test_shell_tests Review URL: http://codereview.chromium.org/4009002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63548 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/support/webkit_support.cc')
-rw-r--r--webkit/support/webkit_support.cc13
1 files changed, 2 insertions, 11 deletions
diff --git a/webkit/support/webkit_support.cc b/webkit/support/webkit_support.cc
index 7844d98c7..c199cc3 100644
--- a/webkit/support/webkit_support.cc
+++ b/webkit/support/webkit_support.cc
@@ -281,18 +281,9 @@ WebKit::WebMediaPlayer* CreateMediaPlayer(WebFrame* frame,
base::GetCurrentProcId(),
appcache_host ? appcache_host->host_id() : appcache::kNoHostId,
0);
- // A simple data source that keeps all data in memory.
- media::FilterFactory* simple_data_source_factory =
- webkit_glue::SimpleDataSource::CreateFactory(MessageLoop::current(),
- bridge_factory);
- // A sophisticated data source that does memory caching.
- media::FilterFactory* buffered_data_source_factory =
- webkit_glue::BufferedDataSource::CreateFactory(MessageLoop::current(),
- bridge_factory);
- factory->AddFactory(buffered_data_source_factory);
- factory->AddFactory(simple_data_source_factory);
+
return new webkit_glue::WebMediaPlayerImpl(
- client, factory,
+ client, factory, bridge_factory, false,
new webkit_glue::VideoRendererImpl::FactoryFactory(false));
}