Index: third_party/WebKit/Source/core/html/HTMLMediaElement.cpp |
diff --git a/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp b/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp |
index 4b0c964be78172ce5cc7eae3c9642c835a39a006..5889a8f795c07f25f1ac9d8627c0aa344c51fb03 100644 |
--- a/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp |
+++ b/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp |
@@ -2408,14 +2408,15 @@ AudioTrackList& HTMLMediaElement::audioTracks() |
return *m_audioTracks; |
} |
-void HTMLMediaElement::audioTrackChanged(WebMediaPlayer::TrackId trackId, bool enabled) |
+void HTMLMediaElement::audioTrackChanged(AudioTrack* track) |
{ |
- BLINK_MEDIA_LOG << "audioTrackChanged(" << (void*)this << ") trackId= " << String(trackId) << " enabled=" << boolString(enabled); |
+ BLINK_MEDIA_LOG << "audioTrackChanged(" << (void*)this << ") trackId= " << String(track->id()) << " enabled=" << boolString(track->enabled()); |
DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); |
audioTracks().scheduleChangeEvent(); |
- // FIXME: Add call on m_mediaSource to notify it of track changes once the SourceBuffer.audioTracks attribute is added. |
+ if (m_mediaSource) |
+ m_mediaSource->onTrackChanged(track); |
if (!m_audioTracksTimer.isActive()) |
m_audioTracksTimer.startOneShot(0, BLINK_FROM_HERE); |
@@ -2464,17 +2465,21 @@ VideoTrackList& HTMLMediaElement::videoTracks() |
return *m_videoTracks; |
} |
-void HTMLMediaElement::selectedVideoTrackChanged(WebMediaPlayer::TrackId* selectedTrackId) |
+void HTMLMediaElement::selectedVideoTrackChanged(VideoTrack* track) |
{ |
- BLINK_MEDIA_LOG << "selectedVideoTrackChanged(" << (void*)this << ") selectedTrackId=" << (selectedTrackId ? String(*selectedTrackId) : "none"); |
+ BLINK_MEDIA_LOG << "selectedVideoTrackChanged(" << (void*)this << ") selectedTrackId=" << (track->selected() ? String(track->id()) : "none"); |
DCHECK(RuntimeEnabledFeatures::audioVideoTracksEnabled()); |
- if (selectedTrackId) |
- videoTracks().trackSelected(*selectedTrackId); |
+ if (track->selected()) |
+ videoTracks().trackSelected(track->id()); |
+ |
+ videoTracks().scheduleChangeEvent(); |
- // FIXME: Add call on m_mediaSource to notify it of track changes once the SourceBuffer.videoTracks attribute is added. |
+ if (m_mediaSource) |
+ m_mediaSource->onTrackChanged(track); |
- webMediaPlayer()->selectedVideoTrackChanged(selectedTrackId); |
+ WebMediaPlayer::TrackId id = track->id(); |
+ webMediaPlayer()->selectedVideoTrackChanged(track->selected() ? &id : nullptr); |
} |
WebMediaPlayer::TrackId HTMLMediaElement::addVideoTrack(const WebString& id, WebMediaPlayerClient::VideoTrackKind kind, const WebString& label, const WebString& language, bool selected) |