| 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(
|
|
|