OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "media/base/text_renderer.h" | 5 #include "media/base/text_renderer.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/bind_to_current_loop.h" |
8 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
9 #include "base/logging.h" | 10 #include "base/logging.h" |
10 #include "base/single_thread_task_runner.h" | 11 #include "base/single_thread_task_runner.h" |
11 #include "base/stl_util.h" | 12 #include "base/stl_util.h" |
12 #include "media/base/bind_to_current_loop.h" | |
13 #include "media/base/decoder_buffer.h" | 13 #include "media/base/decoder_buffer.h" |
14 #include "media/base/demuxer.h" | 14 #include "media/base/demuxer.h" |
15 #include "media/base/demuxer_stream.h" | 15 #include "media/base/demuxer_stream.h" |
16 #include "media/base/text_cue.h" | 16 #include "media/base/text_cue.h" |
17 | 17 |
18 namespace media { | 18 namespace media { |
19 | 19 |
20 TextRenderer::TextRenderer( | 20 TextRenderer::TextRenderer( |
21 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 21 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
22 const AddTextTrackCB& add_text_track_cb) | 22 const AddTextTrackCB& add_text_track_cb) |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 void TextRenderer::AddTextStream(DemuxerStream* text_stream, | 96 void TextRenderer::AddTextStream(DemuxerStream* text_stream, |
97 const TextTrackConfig& config) { | 97 const TextTrackConfig& config) { |
98 DCHECK(task_runner_->BelongsToCurrentThread()); | 98 DCHECK(task_runner_->BelongsToCurrentThread()); |
99 DCHECK(state_ != kUninitialized) << "state_ " << state_; | 99 DCHECK(state_ != kUninitialized) << "state_ " << state_; |
100 DCHECK(text_track_state_map_.find(text_stream) == | 100 DCHECK(text_track_state_map_.find(text_stream) == |
101 text_track_state_map_.end()); | 101 text_track_state_map_.end()); |
102 DCHECK(pending_eos_set_.find(text_stream) == | 102 DCHECK(pending_eos_set_.find(text_stream) == |
103 pending_eos_set_.end()); | 103 pending_eos_set_.end()); |
104 | 104 |
105 AddTextTrackDoneCB done_cb = | 105 AddTextTrackDoneCB done_cb = |
106 BindToCurrentLoop(base::Bind(&TextRenderer::OnAddTextTrackDone, | 106 base::BindToCurrentLoop(base::Bind(&TextRenderer::OnAddTextTrackDone, |
107 weak_factory_.GetWeakPtr(), | 107 weak_factory_.GetWeakPtr(), |
108 text_stream)); | 108 text_stream)); |
109 | 109 |
110 add_text_track_cb_.Run(config, done_cb); | 110 add_text_track_cb_.Run(config, done_cb); |
111 } | 111 } |
112 | 112 |
113 void TextRenderer::RemoveTextStream(DemuxerStream* text_stream) { | 113 void TextRenderer::RemoveTextStream(DemuxerStream* text_stream) { |
114 DCHECK(task_runner_->BelongsToCurrentThread()); | 114 DCHECK(task_runner_->BelongsToCurrentThread()); |
115 | 115 |
116 TextTrackStateMap::iterator itr = text_track_state_map_.find(text_stream); | 116 TextTrackStateMap::iterator itr = text_track_state_map_.find(text_stream); |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 | 317 |
318 TextRenderer::TextTrackState::TextTrackState(scoped_ptr<TextTrack> tt) | 318 TextRenderer::TextTrackState::TextTrackState(scoped_ptr<TextTrack> tt) |
319 : read_state(kReadIdle), | 319 : read_state(kReadIdle), |
320 text_track(tt.Pass()) { | 320 text_track(tt.Pass()) { |
321 } | 321 } |
322 | 322 |
323 TextRenderer::TextTrackState::~TextTrackState() { | 323 TextRenderer::TextTrackState::~TextTrackState() { |
324 } | 324 } |
325 | 325 |
326 } // namespace media | 326 } // namespace media |
OLD | NEW |