summaryrefslogtreecommitdiffstats
path: root/media/base/audio_splicer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'media/base/audio_splicer.cc')
-rw-r--r--media/base/audio_splicer.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/base/audio_splicer.cc b/media/base/audio_splicer.cc
index 7fafc8b..0c8ac34 100644
--- a/media/base/audio_splicer.cc
+++ b/media/base/audio_splicer.cc
@@ -302,8 +302,10 @@ bool AudioSplicer::AddInput(const scoped_refptr<AudioBuffer>& input) {
// If a splice frame was incorrectly marked due to poor demuxed timestamps, we
// may not actually have a splice. Here we check if any frames exist before
// the splice. In this case, just transfer all data to the output sanitizer.
- if (pre_splice_sanitizer_->GetFrameCount() <=
- output_ts_helper.GetFramesToTarget(splice_timestamp_)) {
+ const int frames_before_splice =
+ output_ts_helper.GetFramesToTarget(splice_timestamp_);
+ if (frames_before_splice < 0 ||
+ pre_splice_sanitizer_->GetFrameCount() <= frames_before_splice) {
CHECK(pre_splice_sanitizer_->DrainInto(output_sanitizer_.get()));
// If the file contains incorrectly muxed timestamps, there may be huge gaps