diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-06 02:23:25 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-06 02:23:25 +0000 |
commit | c1330c817f4c1988bef0da16f0a96a3e1c4a63d5 (patch) | |
tree | 6979ebdeff26e9bc876ac8eb6d88914f93337623 /content/shell/renderer | |
parent | db1b011b3d7de715c424a374655420780fbc2daf (diff) | |
download | chromium_src-c1330c817f4c1988bef0da16f0a96a3e1c4a63d5.zip chromium_src-c1330c817f4c1988bef0da16f0a96a3e1c4a63d5.tar.gz chromium_src-c1330c817f4c1988bef0da16f0a96a3e1c4a63d5.tar.bz2 |
Reland: Use a shared thread for media operations (round 3).
This reduces the number of threads created per media element by one.
TBR=jamesr,jochen
BUG=61293
Review URL: https://chromiumcodereview.appspot.com/15993018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204386 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 03c3c4f..a6bd657 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; @@ -518,8 +522,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 -------------------------------------------------------- |