| Index: third_party/WebKit/Source/modules/mediasource/MediaSource.cpp
|
| diff --git a/third_party/WebKit/Source/modules/mediasource/MediaSource.cpp b/third_party/WebKit/Source/modules/mediasource/MediaSource.cpp
|
| index 8089d192192a7819bef165474418bb66f7797609..1b346c56f6e9e434f76aa483ef10f1175de74bd9 100644
|
| --- a/third_party/WebKit/Source/modules/mediasource/MediaSource.cpp
|
| +++ b/third_party/WebKit/Source/modules/mediasource/MediaSource.cpp
|
| @@ -177,11 +177,8 @@ void MediaSource::removeSourceBuffer(SourceBuffer* buffer, ExceptionState& excep
|
| return;
|
| }
|
|
|
| - // 2. If the sourceBuffer.updating attribute equals true, then run the following steps: ...
|
| - buffer->abortIfUpdating();
|
| -
|
| - // Steps 3-8 are related to updating audioTracks, videoTracks, and textTracks which aren't implmented yet.
|
| - // FIXME(91649): support track selection
|
| + // Steps 2-8 are implemented by SourceBuffer::removedFromMediaSource.
|
| + buffer->removedFromMediaSource();
|
|
|
| // 9. If sourceBuffer is in activeSourceBuffers, then remove sourceBuffer from activeSourceBuffers ...
|
| m_activeSourceBuffers->remove(buffer);
|
| @@ -191,7 +188,7 @@ void MediaSource::removeSourceBuffer(SourceBuffer* buffer, ExceptionState& excep
|
| m_sourceBuffers->remove(buffer);
|
|
|
| // 11. Destroy all resources for sourceBuffer.
|
| - buffer->removedFromMediaSource();
|
| + // This should have been done already by SourceBuffer::removedFromMediaSource (steps 2-8) above.
|
| }
|
|
|
| void MediaSource::onReadyStateChange(const AtomicString& oldState, const AtomicString& newState)
|
| @@ -215,6 +212,8 @@ void MediaSource::onReadyStateChange(const AtomicString& oldState, const AtomicS
|
| m_sourceBuffers->item(i)->removedFromMediaSource();
|
| m_sourceBuffers->clear();
|
|
|
| + m_attachedElement.clear();
|
| +
|
| scheduleEvent(EventTypeNames::sourceclose);
|
| }
|
|
|
| @@ -450,7 +449,6 @@ void MediaSource::setReadyState(const AtomicString& state)
|
|
|
| if (state == closedKeyword()) {
|
| m_webMediaSource.clear();
|
| - m_attachedElement.clear();
|
| }
|
|
|
| if (oldState == state)
|
|
|