summaryrefslogtreecommitdiffstats
path: root/media/base/text_renderer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'media/base/text_renderer.cc')
-rw-r--r--media/base/text_renderer.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/media/base/text_renderer.cc b/media/base/text_renderer.cc
index 63ad27a..45f61b4 100644
--- a/media/base/text_renderer.cc
+++ b/media/base/text_renderer.cc
@@ -90,6 +90,7 @@ void TextRenderer::Flush(const base::Closure& callback) {
for (TextTrackStateMap::iterator itr = text_track_state_map_.begin();
itr != text_track_state_map_.end(); ++itr) {
pending_eos_set_.insert(itr->first);
+ itr->second->text_ranges_.Reset();
}
DCHECK_EQ(pending_eos_set_.size(), text_track_state_map_.size());
callback.Run();
@@ -306,12 +307,15 @@ void TextRenderer::CueReady(
}
base::TimeDelta start = text_cue->timestamp();
- base::TimeDelta end = start + text_cue->duration();
- state->text_track->addWebVTTCue(start, end,
- text_cue->id(),
- text_cue->text(),
- text_cue->settings());
+ if (state->text_ranges_.AddCue(start)) {
+ base::TimeDelta end = start + text_cue->duration();
+
+ state->text_track->addWebVTTCue(start, end,
+ text_cue->id(),
+ text_cue->text(),
+ text_cue->settings());
+ }
if (state_ == kPlaying) {
Read(state, text_stream);