Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(709)

Unified Diff: media/filters/legacy_frame_processor.cc

Issue 222783007: Consider text tracks in the frame processor for new media segments. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | media/filters/source_buffer_stream.cc » ('j') | media/filters/source_buffer_stream.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/legacy_frame_processor.cc
diff --git a/media/filters/legacy_frame_processor.cc b/media/filters/legacy_frame_processor.cc
index de1deb7dfe0b983a6fff269891ef69c1075e5e68..ae3b3e5738ae89689be4affff162e7bcfbaac12f 100644
--- a/media/filters/legacy_frame_processor.cc
+++ b/media/filters/legacy_frame_processor.cc
@@ -90,7 +90,9 @@ bool LegacyFrameProcessor::ProcessFrames(
for (TrackBufferMap::iterator itr = track_buffers_.begin();
itr != track_buffers_.end(); ++itr) {
- itr->second->stream()->OnNewMediaSegment(segment_timestamp);
+ // Let text tracks manage their own segment start times.
+ if (itr->second->stream()->type() != DemuxerStream::TEXT)
wolenetz 2014/04/02 22:54:45 |*new_media_segment| can become true between Proce
DaleCurtis 2014/04/02 23:02:27 That sounds like overly complicated logic which wo
acolwell GONE FROM CHROMIUM 2014/04/03 00:26:52 I believe the root of the problem is that the text
DaleCurtis 2014/04/08 20:42:30 Done.
+ itr->second->stream()->OnNewMediaSegment(segment_timestamp);
}
}
@@ -246,6 +248,18 @@ bool LegacyFrameProcessor::OnTextBuffers(
if (filtered_buffers.empty())
return true;
+ if (*new_media_segment) {
+ *new_media_segment = false;
+ for (TrackBufferMap::iterator itr = track_buffers_.begin();
+ itr != track_buffers_.end();
+ ++itr) {
+ if (itr->second->stream()->type() == DemuxerStream::TEXT) {
+ itr->second->stream()->OnNewMediaSegment(
+ filtered_buffers.front()->GetDecodeTimestamp());
+ }
+ }
+ }
+
return AppendAndUpdateDuration(track->stream(), filtered_buffers);
}
« no previous file with comments | « no previous file | media/filters/source_buffer_stream.cc » ('j') | media/filters/source_buffer_stream.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698