Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1113)

Unified Diff: content/renderer/media/webmediaplayer_ms.cc

Issue 1407703003: Reland: Use GpuMemoryBufferVideoFramePool for WebMediaPlayerMS and MediaStreamVideoRendererSink (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/media/webmediaplayer_ms.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/media/webmediaplayer_ms.cc
diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc
index db0c6dba64b3201548174ec217eeeb12c33655b8..ca6933c884c531f76a65ab76967932d6d1194169 100644
--- a/content/renderer/media/webmediaplayer_ms.cc
+++ b/content/renderer/media/webmediaplayer_ms.cc
@@ -62,7 +62,9 @@ scoped_refptr<media::VideoFrame> CopyFrameToYV12(
if (frame->HasTextures()) {
DCHECK(frame->format() == media::PIXEL_FORMAT_ARGB ||
- frame->format() == media::PIXEL_FORMAT_XRGB);
+ frame->format() == media::PIXEL_FORMAT_XRGB ||
+ frame->format() == media::PIXEL_FORMAT_I420 ||
+ frame->format() == media::PIXEL_FORMAT_UYVY);
SkBitmap bitmap;
bitmap.allocN32Pixels(frame->visible_rect().width(),
frame->visible_rect().height());
@@ -103,7 +105,10 @@ WebMediaPlayerMS::WebMediaPlayerMS(
base::WeakPtr<media::WebMediaPlayerDelegate> delegate,
media::MediaLog* media_log,
scoped_ptr<MediaStreamRendererFactory> factory,
- const scoped_refptr<base::SingleThreadTaskRunner>& compositor_task_runner)
+ const scoped_refptr<base::SingleThreadTaskRunner>& compositor_task_runner,
+ const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
+ const scoped_refptr<base::TaskRunner>& worker_task_runner,
+ const scoped_refptr<media::GpuVideoAcceleratorFactories>& gpu_factories)
: frame_(frame),
network_state_(WebMediaPlayer::NetworkStateEmpty),
ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
@@ -115,6 +120,9 @@ WebMediaPlayerMS::WebMediaPlayerMS(
received_first_frame_(false),
media_log_(media_log),
renderer_factory_(factory.Pass()),
+ media_task_runner_(media_task_runner),
+ worker_task_runner_(worker_task_runner),
+ gpu_factories_(gpu_factories),
compositor_(new Compositor(compositor_task_runner)),
compositor_task_runner_(compositor_task_runner) {
DVLOG(1) << "WebMediaPlayerMS::ctor";
@@ -176,7 +184,10 @@ void WebMediaPlayerMS::load(LoadType load_type,
video_frame_provider_ = renderer_factory_->GetVideoFrameProvider(
url,
base::Bind(&WebMediaPlayerMS::OnSourceError, AsWeakPtr()),
- base::Bind(&WebMediaPlayerMS::OnFrameAvailable, AsWeakPtr()));
+ base::Bind(&WebMediaPlayerMS::OnFrameAvailable, AsWeakPtr()),
+ media_task_runner_,
+ worker_task_runner_,
+ gpu_factories_);
RenderFrame* const frame = RenderFrame::FromWebFrame(frame_);
audio_renderer_ = renderer_factory_->GetAudioRenderer(
« no previous file with comments | « content/renderer/media/webmediaplayer_ms.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698