Index: media/blink/webmediaplayer_impl.cc |
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc |
index 0b6354a9f296e6f22c4cd2ec20ff7793d48f53c0..3b373485a2ae011fd57fcf8bdd8e060aa1357bb7 100644 |
--- a/media/blink/webmediaplayer_impl.cc |
+++ b/media/blink/webmediaplayer_impl.cc |
@@ -577,6 +577,22 @@ bool WebMediaPlayerImpl::hasAudio() const { |
return pipeline_metadata_.has_audio; |
} |
+void WebMediaPlayerImpl::enabledAudioTracksChanged( |
+ const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) { |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
+ CHECK(demuxer_.get()); |
+ |
+ // TODO(servolk): Implement disabling/enabling audio streams. |
+} |
+ |
+void WebMediaPlayerImpl::selectedVideoTrackChanged( |
+ blink::WebMediaPlayer::TrackId* selectedTrackId) { |
+ DCHECK(main_task_runner_->BelongsToCurrentThread()); |
+ CHECK(demuxer_.get()); |
+ |
+ // TODO(servolk): Implement disabling/enabling video stream. |
+} |
+ |
blink::WebSize WebMediaPlayerImpl::naturalSize() const { |
DCHECK(main_task_runner_->BelongsToCurrentThread()); |
@@ -841,6 +857,7 @@ void WebMediaPlayerImpl::OnFFmpegMediaTracksUpdated( |
DCHECK(!chunk_demuxer_); |
// Report the media track information to blink. |
+ std::vector<blink::WebMediaPlayer::TrackId> blinkTrackIds; |
for (const auto& track : tracks->tracks()) { |
if (track->type() == MediaTrack::Audio) { |
auto track_id = client_->addAudioTrack( |
@@ -849,7 +866,7 @@ void WebMediaPlayerImpl::OnFFmpegMediaTracksUpdated( |
blink::WebString::fromUTF8(track->label()), |
blink::WebString::fromUTF8(track->language()), |
/*enabled*/ true); |
- (void)track_id; |
+ blinkTrackIds.push_back(track_id); |
} else if (track->type() == MediaTrack::Video) { |
auto track_id = client_->addVideoTrack( |
blink::WebString::fromUTF8(track->id()), |
@@ -857,12 +874,14 @@ void WebMediaPlayerImpl::OnFFmpegMediaTracksUpdated( |
blink::WebString::fromUTF8(track->label()), |
blink::WebString::fromUTF8(track->language()), |
/*selected*/ true); |
- (void)track_id; |
+ blinkTrackIds.push_back(track_id); |
} else { |
// Text tracks are not supported through this code path yet. |
NOTREACHED(); |
} |
} |
+ |
+ demuxer_->OnTrackIdsAssigned(*tracks.get(), blinkTrackIds); |
xhwang
2016/06/03 18:52:45
It looks really odd that we create the track in ch
servolk
2016/06/03 20:06:45
Thanks, good point. Blink has had separate bytestr
chcunningham
2016/06/03 20:42:49
I'm also looking for away to let Chromium decide t
servolk
2016/06/03 20:57:10
Yes, multiple bytestream track ids might map to th
servolk
2016/06/03 23:35:36
Well, completely removing WebMediaPlayer::TrackId
servolk
2016/06/06 17:42:56
Update: I though about it some more over the weeke
|
} |
void WebMediaPlayerImpl::SetCdm(const CdmAttachedCB& cdm_attached_cb, |