Index: media/filters/legacy_frame_processor.cc |
diff --git a/media/filters/legacy_frame_processor.cc b/media/filters/legacy_frame_processor.cc |
index 3707b01d633178f422d71ba9ae0fe0be0d581f6b..ac077aaa973ead153dc22c2cc33387e095709e6b 100644 |
--- a/media/filters/legacy_frame_processor.cc |
+++ b/media/filters/legacy_frame_processor.cc |
@@ -33,7 +33,8 @@ bool LegacyFrameProcessor::ProcessFrames( |
base::TimeDelta append_window_start, |
base::TimeDelta append_window_end, |
bool* new_media_segment, |
- base::TimeDelta* timestamp_offset) { |
+ base::TimeDelta* timestamp_offset, |
+ base::TimeDelta media_time) { |
DVLOG(2) << __FUNCTION__ << "()"; |
DCHECK(new_media_segment); |
DCHECK(timestamp_offset); |
@@ -111,12 +112,14 @@ bool LegacyFrameProcessor::ProcessFrames( |
} |
if (!filtered_audio.empty() && |
- !AppendAndUpdateDuration(audio_track->stream(), filtered_audio)) { |
+ !AppendAndUpdateDuration( |
+ audio_track->stream(), filtered_audio, media_time)) { |
return false; |
} |
if (!filtered_video.empty() && |
- !AppendAndUpdateDuration(video_track->stream(), filtered_video)) { |
+ !AppendAndUpdateDuration( |
+ video_track->stream(), filtered_video, media_time)) { |
return false; |
} |
@@ -126,7 +129,8 @@ bool LegacyFrameProcessor::ProcessFrames( |
itr != filtered_text.end(); |
++itr) { |
MseTrackBuffer* track = FindTrack(itr->first); |
- if (!track || !AppendAndUpdateDuration(track->stream(), itr->second)) |
+ if (!track || !AppendAndUpdateDuration( |
+ track->stream(), itr->second, media_time)) |
return false; |
} |
} |
@@ -233,10 +237,11 @@ void LegacyFrameProcessor::FilterWithAppendWindow( |
bool LegacyFrameProcessor::AppendAndUpdateDuration( |
ChunkDemuxerStream* stream, |
- const StreamParser::BufferQueue& buffers) { |
+ const StreamParser::BufferQueue& buffers, |
+ base::TimeDelta media_time) { |
DCHECK(!buffers.empty()); |
- if (!stream || !stream->Append(buffers)) |
+ if (!stream || !stream->Append(buffers, media_time)) |
return false; |
// Approximate spec's "highest presentation end timestamp". |