| Index: third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp
|
| diff --git a/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp b/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp
|
| index dded7a29c82428154f54db1c675262f8f314347c..2405720e50d848e884eb4ba47f7d9234f3ef76dc 100644
|
| --- a/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp
|
| +++ b/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp
|
| @@ -523,10 +523,10 @@ void SourceBuffer::removeMediaTracks()
|
| removedEnabledAudioTrack = true;
|
| // 4.3.3 Remove the AudioTrack object from the HTMLMediaElement audioTracks list.
|
| // 4.3.4 Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the HTMLMediaElement audioTracks list.
|
| - mediaElement->audioTracks().remove(audioTrack->trackId());
|
| + mediaElement->audioTracks().remove(audioTrack->id());
|
| // 4.3.5 Remove the AudioTrack object from the SourceBuffer audioTracks list.
|
| // 4.3.6 Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the SourceBuffer audioTracks list.
|
| - audioTracks().remove(audioTrack->trackId());
|
| + audioTracks().remove(audioTrack->id());
|
| }
|
| // 4.4 If the removed enabled audio track flag equals true, then queue a task to fire a simple event named change at the HTMLMediaElement audioTracks list.
|
| if (removedEnabledAudioTrack) {
|
| @@ -550,10 +550,10 @@ void SourceBuffer::removeMediaTracks()
|
| removedSelectedVideoTrack = true;
|
| // 6.3.3 Remove the VideoTrack object from the HTMLMediaElement videoTracks list.
|
| // 6.3.4 Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the HTMLMediaElement videoTracks list.
|
| - mediaElement->videoTracks().remove(videoTrack->trackId());
|
| + mediaElement->videoTracks().remove(videoTrack->id());
|
| // 6.3.5 Remove the VideoTrack object from the SourceBuffer videoTracks list.
|
| // 6.3.6 Queue a task to fire a trusted event named removetrack, that does not bubble and is not cancelable, and that uses the TrackEvent interface, at the SourceBuffer videoTracks list.
|
| - videoTracks().remove(videoTrack->trackId());
|
| + videoTracks().remove(videoTrack->id());
|
| }
|
| // 6.4 If the removed selected video track flag equals true, then queue a task to fire a simple event named change at the HTMLMediaElement videoTracks list.
|
| if (removedSelectedVideoTrack) {
|
| @@ -590,8 +590,10 @@ WebVector<WebMediaPlayer::TrackId> SourceBuffer::initializationSegmentReceived(c
|
| unsigned resultIdx = 0;
|
| for (const auto& trackInfo : newTracks) {
|
| if (!RuntimeEnabledFeatures::audioVideoTracksEnabled()) {
|
| - static WebMediaPlayer::TrackId nextTrackId = 0;
|
| - result[resultIdx++] = ++nextTrackId;
|
| + static unsigned nextTrackId = 0;
|
| + StringBuilder stringBuilder;
|
| + stringBuilder.appendNumber(++nextTrackId);
|
| + result[resultIdx++] = stringBuilder.toString();
|
| continue;
|
| }
|
|
|
| @@ -599,29 +601,29 @@ WebVector<WebMediaPlayer::TrackId> SourceBuffer::initializationSegmentReceived(c
|
| if (trackInfo.trackType == WebMediaPlayer::AudioTrack) {
|
| AudioTrack* audioTrack = nullptr;
|
| if (!m_firstInitializationSegmentReceived) {
|
| - audioTrack = AudioTrack::create(trackInfo.byteStreamTrackId, trackInfo.kind, trackInfo.label, trackInfo.language, false);
|
| + audioTrack = AudioTrack::create(trackInfo.id, trackInfo.kind, trackInfo.label, trackInfo.language, false);
|
| SourceBufferTrackBaseSupplement::setSourceBuffer(*audioTrack, this);
|
| audioTracks().add(audioTrack);
|
| m_source->mediaElement()->audioTracks().add(audioTrack);
|
| } else {
|
| - audioTrack = findExistingTrackById(audioTracks(), trackInfo.byteStreamTrackId);
|
| + audioTrack = findExistingTrackById(audioTracks(), trackInfo.id);
|
| DCHECK(audioTrack);
|
| }
|
| trackBase = audioTrack;
|
| - result[resultIdx++] = audioTrack->trackId();
|
| + result[resultIdx++] = audioTrack->id();
|
| } else if (trackInfo.trackType == WebMediaPlayer::VideoTrack) {
|
| VideoTrack* videoTrack = nullptr;
|
| if (!m_firstInitializationSegmentReceived) {
|
| - videoTrack = VideoTrack::create(trackInfo.byteStreamTrackId, trackInfo.kind, trackInfo.label, trackInfo.language, false);
|
| + videoTrack = VideoTrack::create(trackInfo.id, trackInfo.kind, trackInfo.label, trackInfo.language, false);
|
| SourceBufferTrackBaseSupplement::setSourceBuffer(*videoTrack, this);
|
| videoTracks().add(videoTrack);
|
| m_source->mediaElement()->videoTracks().add(videoTrack);
|
| } else {
|
| - videoTrack = findExistingTrackById(videoTracks(), trackInfo.byteStreamTrackId);
|
| + videoTrack = findExistingTrackById(videoTracks(), trackInfo.id);
|
| DCHECK(videoTrack);
|
| }
|
| trackBase = videoTrack;
|
| - result[resultIdx++] = videoTrack->trackId();
|
| + result[resultIdx++] = videoTrack->id();
|
| } else {
|
| NOTREACHED();
|
| }
|
| @@ -630,8 +632,8 @@ WebVector<WebMediaPlayer::TrackId> SourceBuffer::initializationSegmentReceived(c
|
| const char* logActionStr = m_firstInitializationSegmentReceived ? "using existing" : "added";
|
| const char* logTrackTypeStr = (trackInfo.trackType == WebMediaPlayer::AudioTrack) ? "audio" : "video";
|
| SBLOG << __FUNCTION__ << "(" << this << ") " << logActionStr << " "
|
| - << logTrackTypeStr << " Track " << trackBase << "trackId=" << trackBase->trackId() << " id="
|
| - << trackBase->id() << " label=" << trackBase->label() << " lang=" << trackBase->language();
|
| + << logTrackTypeStr << " Track " << trackBase << " id=" << String(trackBase->id())
|
| + << " label=" << trackBase->label() << " lang=" << trackBase->language();
|
| #endif
|
| }
|
|
|
|
|