diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-31 17:13:08 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-31 17:13:08 +0000 |
commit | a70c2f620ef7ea0585378343fd645492562a0445 (patch) | |
tree | fa34fcd2b71556d2afceca636d0182c883bddd0f /content/shell/renderer | |
parent | fc5c45b24b11cdb00a01c01e5dad590af141e3e0 (diff) | |
download | chromium_src-a70c2f620ef7ea0585378343fd645492562a0445.zip chromium_src-a70c2f620ef7ea0585378343fd645492562a0445.tar.gz chromium_src-a70c2f620ef7ea0585378343fd645492562a0445.tar.bz2 |
Reland: Use a shared thread for media operations.
This reduces the number of threads created per media element by one.
BUG=61293
TBR=acolwell, jamesr, jochen
Review URL: https://codereview.chromium.org/15649017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203429 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/shell/renderer')
-rw-r--r-- | content/shell/renderer/DEPS | 3 | ||||
-rw-r--r-- | content/shell/renderer/webkit_test_runner.cc | 29 |
2 files changed, 30 insertions, 2 deletions
diff --git a/content/shell/renderer/DEPS b/content/shell/renderer/DEPS new file mode 100644 index 0000000..47de12f --- /dev/null +++ b/content/shell/renderer/DEPS @@ -0,0 +1,3 @@ +include_rules = [ + "+media/base", # For media::MediaLog. +] diff --git a/content/shell/renderer/webkit_test_runner.cc b/content/shell/renderer/webkit_test_runner.cc index aa98a2d..707440d 100644 --- a/content/shell/renderer/webkit_test_runner.cc +++ b/content/shell/renderer/webkit_test_runner.cc @@ -25,6 +25,7 @@ #include "content/shell/common/shell_messages.h" #include "content/shell/common/webkit_test_helpers.h" #include "content/shell/renderer/shell_render_process_observer.h" +#include "media/base/media_log.h" #include "net/base/net_errors.h" #include "net/base/net_util.h" #include "skia/ext/platform_canvas.h" @@ -60,6 +61,9 @@ #include "webkit/common/webpreferences.h" #include "webkit/glue/webkit_glue.h" #include "webkit/mocks/test_media_stream_client.h" +#include "webkit/renderer/media/webmediaplayer_impl.h" +#include "webkit/renderer/media/webmediaplayer_ms.h" +#include "webkit/renderer/media/webmediaplayer_params.h" using WebKit::Platform; using WebKit::WebArrayBufferView; @@ -535,8 +539,29 @@ WebMediaPlayer* WebKitTestRunner::createWebMediaPlayer( test_media_stream_client_.reset( new webkit_glue::TestMediaStreamClient()); } - return webkit_glue::CreateMediaPlayer( - frame, url, client, test_media_stream_client_.get()); + + if (test_media_stream_client_->IsMediaStream(url)) { + return new webkit_media::WebMediaPlayerMS( + frame, + client, + base::WeakPtr<webkit_media::WebMediaPlayerDelegate>(), + test_media_stream_client_.get(), + new media::MediaLog()); + } + +#if defined(OS_ANDROID) + return NULL; +#else + // TODO(scherkus): Use RenderViewImpl::createMediaPlayer() instead of + // duplicating code here, see http://crbug.com/239826 + webkit_media::WebMediaPlayerParams params( + GetMediaThreadMessageLoopProxy(), NULL, NULL, new media::MediaLog()); + return new webkit_media::WebMediaPlayerImpl( + frame, + client, + base::WeakPtr<webkit_media::WebMediaPlayerDelegate>(), + params); +#endif } // RenderViewObserver -------------------------------------------------------- |