| Index: media/filters/ffmpeg_demuxer.cc
|
| diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
|
| index f3f87ac45ed8b794a934f477a807bf849c15932c..bcd9b1768589790548e8d623e10b9b4b5879d003 100644
|
| --- a/media/filters/ffmpeg_demuxer.cc
|
| +++ b/media/filters/ffmpeg_demuxer.cc
|
| @@ -196,6 +196,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
| av_packet_split_side_data(packet.get());
|
|
|
| scoped_refptr<DecoderBuffer> buffer;
|
| + bool is_keyframe = packet.get()->flags & AV_PKT_FLAG_KEY;
|
|
|
| if (type() == DemuxerStream::TEXT) {
|
| int id_size = 0;
|
| @@ -216,7 +217,8 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
| &side_data);
|
|
|
| buffer = DecoderBuffer::CopyFrom(packet.get()->data, packet.get()->size,
|
| - side_data.data(), side_data.size());
|
| + side_data.data(), side_data.size(),
|
| + is_keyframe);
|
| } else {
|
| int side_data_size = 0;
|
| uint8* side_data = av_packet_get_side_data(
|
| @@ -244,10 +246,12 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
| if (side_data_size > 0) {
|
| buffer = DecoderBuffer::CopyFrom(packet.get()->data + data_offset,
|
| packet.get()->size - data_offset,
|
| - side_data, side_data_size);
|
| + side_data, side_data_size,
|
| + is_keyframe);
|
| } else {
|
| buffer = DecoderBuffer::CopyFrom(packet.get()->data + data_offset,
|
| - packet.get()->size - data_offset);
|
| + packet.get()->size - data_offset,
|
| + is_keyframe);
|
| }
|
|
|
| int skip_samples_size = 0;
|
|
|