Bug 1294605 - Notify MediaStreamTrackSource when track is notified of ended on main thread. r=jib
I haven't seen test failures from this but I imagine there could be.
MozReview-Commit-ID: 8iyMBzQCWeA
--- a/dom/media/MediaStreamTrack.cpp
+++ b/dom/media/MediaStreamTrack.cpp
@@ -409,16 +409,23 @@ MediaStreamTrack::NotifyEnded()
MOZ_ASSERT(NS_IsMainThread());
if (Ended()) {
return;
}
LOG(LogLevel::Info, ("MediaStreamTrack %p ended", this));
+ if (!mSource) {
+ MOZ_ASSERT(false);
+ return;
+ }
+
+ mSource->UnregisterSink(this);
+
mReadyState = MediaStreamTrackState::Ended;
DispatchTrustedEvent(NS_LITERAL_STRING("ended"));
}
DOMMediaStream*
MediaStreamTrack::GetInputDOMStream()
{