| Index: media/filters/ffmpeg_video_decoder.cc
|
| diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
|
| index 094720566e1eaa7cb03ff02a8784fec0c325231d..cf7795a337f116d8257c4aa99b32d8a10e84e843 100644
|
| --- a/media/filters/ffmpeg_video_decoder.cc
|
| +++ b/media/filters/ffmpeg_video_decoder.cc
|
| @@ -349,6 +349,13 @@ bool FFmpegVideoDecoder::FFmpegDecode(
|
| packet.data = const_cast<uint8_t*>(buffer->data());
|
| packet.size = buffer->data_size();
|
|
|
| + // Starting in M60, avcodec_decode_video2() generates an error if an
|
| + // empty buffer is provided. Since we're not at EOS and there is no data
|
| + // available in the current buffer, simply return and let the caller
|
| + // provide more data. crbug.com/663438 has more context on 0-byte buffers.
|
| + if (!packet.size)
|
| + return true;
|
| +
|
| // Let FFmpeg handle presentation timestamp reordering.
|
| codec_context_->reordered_opaque = buffer->timestamp().InMicroseconds();
|
| }
|
|
|