Index: content/renderer/media/webmediaplayer_impl.cc |
diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc |
index b314732cf47c2ba22f1f12c39a0466308def80c8..b6bedb9e7ca43bba7c19605d1fc854307becd967 100644 |
--- a/content/renderer/media/webmediaplayer_impl.cc |
+++ b/content/renderer/media/webmediaplayer_impl.cc |
@@ -1139,7 +1139,14 @@ void WebMediaPlayerImpl::StartPipeline() { |
video_decoders.push_back(new media::VpxVideoDecoder(media_loop_)); |
#endif // !defined(MEDIA_DISABLE_LIBVPX) |
- video_decoders.push_back(new media::FFmpegVideoDecoder(media_loop_)); |
+ // Use slice-based threading for MediaSource streams to make sure the decoder |
+ // doesn't retain decoded frames. |
+ media::FFmpegVideoDecoder::ThreadingMode threading_mode = |
+ load_type_ == LoadTypeMediaSource |
+ ? media::FFmpegVideoDecoder::THREADING_SLICE |
+ : media::FFmpegVideoDecoder::THREADING_FRAME; |
+ video_decoders.push_back(new media::FFmpegVideoDecoder(media_loop_, |
+ threading_mode)); |
Ami GONE FROM CHROMIUM
2014/01/28 07:17:10
git cl format
|
scoped_ptr<media::VideoRenderer> video_renderer( |
new media::VideoRendererImpl( |