Index: media/filters/ffmpeg_audio_decoder.cc |
diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_decoder.cc |
index 7a6ee41545da0e8abcbeb5e57223c82ff5678e27..ac9b30fb3c1583c4612ff64de4c28275b578f7fa 100644 |
--- a/media/filters/ffmpeg_audio_decoder.cc |
+++ b/media/filters/ffmpeg_audio_decoder.cc |
@@ -200,13 +200,17 @@ void FFmpegAudioDecoder::DoDecodeBuffer( |
} else { |
last_input_timestamp_ = input->GetTimestamp(); |
} |
- } else if (input->GetTimestamp() < last_input_timestamp_) { |
- base::TimeDelta diff = input->GetTimestamp() - last_input_timestamp_; |
- DVLOG(1) << "Input timestamps are not monotonically increasing! " |
- << " ts " << input->GetTimestamp().InMicroseconds() << " us" |
- << " diff " << diff.InMicroseconds() << " us"; |
- base::ResetAndReturn(&read_cb_).Run(kDecodeError, NULL); |
- return; |
+ } else if (input->GetTimestamp() != kNoTimestamp()) { |
+ if (input->GetTimestamp() < last_input_timestamp_) { |
+ base::TimeDelta diff = input->GetTimestamp() - last_input_timestamp_; |
+ DVLOG(1) << "Input timestamps are not monotonically increasing! " |
+ << " ts " << input->GetTimestamp().InMicroseconds() << " us" |
+ << " diff " << diff.InMicroseconds() << " us"; |
+ base::ResetAndReturn(&read_cb_).Run(kDecodeError, NULL); |
+ return; |
+ } |
+ |
+ last_input_timestamp_ = input->GetTimestamp(); |
} |
} |