26 language(track->language),
30 track->AddClient(
this);
33 TextTrack::~TextTrack() {
34 track_->RemoveClient(
this);
40 std::unique_lock<Mutex> lock(mutex_);
41 for (
auto& pair : cues_)
42 tracer->
Trace(&pair.second);
46 std::unique_lock<Mutex> lock(mutex_);
47 std::vector<RefPtr<VTTCue>> ret;
48 ret.reserve(cues_.size());
49 for (
auto& pair : cues_)
50 ret.emplace_back(pair.second);
56 return track_->mode();
60 track_->SetMode(mode);
66 track_->AddCue(cue->GetPublic());
71 track_->RemoveCue(cue->GetPublic());
74 void TextTrack::OnCueAdded(std::shared_ptr<shaka::media::VTTCue> cue) {
75 std::unique_lock<Mutex> lock(mutex_);
76 cues_.emplace(cue.get(),
new VTTCue(cue));
79 void TextTrack::OnCueRemoved(std::shared_ptr<shaka::media::VTTCue> cue) {
80 std::unique_lock<Mutex> lock(mutex_);
81 cues_.erase(cue.get());
97 NotImplemented(
"activeCues");
98 NotImplemented(
"oncuechange");
void AddCue(RefPtr< VTTCue > cue)
std::vector< RefPtr< VTTCue > > cues() const
TextTrack(std::shared_ptr< shaka::media::TextTrack > track)
void SetMode(media::TextTrackMode mode)
void Trace(const Traceable *ptr)
void Trace(memory::HeapTracer *tracer) const override
void RemoveCue(RefPtr< VTTCue > cue)
void Trace(memory::HeapTracer *tracer) const override
const std::string language
const media::TextTrackKind kind
media::TextTrackMode mode() const