| Index: media/filters/ffmpeg_video_decoder.cc
|
| diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
|
| index aaa8a684c703d452ec5cfb1382db9d89ad250053..f56a356e758d6c555b82933b07dc412d27548d41 100644
|
| --- a/media/filters/ffmpeg_video_decoder.cc
|
| +++ b/media/filters/ffmpeg_video_decoder.cc
|
| @@ -68,7 +68,8 @@ static void ReleaseVideoBufferImpl(void* opaque, uint8* data) {
|
|
|
| FFmpegVideoDecoder::FFmpegVideoDecoder(
|
| const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
|
| - : task_runner_(task_runner), state_(kUninitialized) {}
|
| + : task_runner_(task_runner), state_(kUninitialized),
|
| + decode_nalus_(false) {}
|
|
|
| int FFmpegVideoDecoder::GetVideoBuffer(struct AVCodecContext* codec_context,
|
| AVFrame* frame,
|
| @@ -360,6 +361,9 @@ bool FFmpegVideoDecoder::ConfigureDecoder(bool low_delay) {
|
| codec_context_->get_buffer2 = GetVideoBufferImpl;
|
| codec_context_->refcounted_frames = 1;
|
|
|
| + if (decode_nalus_)
|
| + codec_context_->flags2 |= CODEC_FLAG2_CHUNKS;
|
| +
|
| AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
| if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
|
| ReleaseFFmpegResources();
|
|
|