| Index: media/filters/ffmpeg_demuxer.cc
|
| diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
|
| index 5fdd9c05792e86072afb2ab1328e977ca0f745b6..433cbf93830f39a20da149af5c3d9e913f443498 100644
|
| --- a/media/filters/ffmpeg_demuxer.cc
|
| +++ b/media/filters/ffmpeg_demuxer.cc
|
| @@ -348,9 +348,12 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
|
| // Fixing chained ogg is non-trivial, so for now just reuse the last good
|
| // timestamp. The decoder will rewrite the timestamps to be sample accurate
|
| // later. See http://crbug.com/396864.
|
| - if (fixup_negative_ogg_timestamps_ &&
|
| - (buffer->timestamp() == kNoTimestamp() ||
|
| - buffer->timestamp() < last_packet_timestamp_)) {
|
| + //
|
| + // TODO(dalecurtis): ffvp9 packet parser generates AV_NOPTS packets when a
|
| + // superframe is split, so adjust timestamps here...
|
| + if ((fixup_negative_ogg_timestamps_ ||
|
| + buffer->timestamp() == kNoTimestamp()) &&
|
| + (buffer->timestamp() < last_packet_timestamp_)) {
|
| buffer->set_timestamp(last_packet_timestamp_ +
|
| (last_packet_duration_ != kNoTimestamp()
|
| ? last_packet_duration_
|
|
|