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

Unified Diff: media/blink/webmediaplayer_impl.cc

Issue 1922333002: Implement mapping blink track id to demuxer streams (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 7 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
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);
}
void WebMediaPlayerImpl::SetCdm(const CdmAttachedCB& cdm_attached_cb,

Powered by Google App Engine
This is Rietveld 408576698