Bug 1301675 - Uncomment assertion for when removed live track was not found. r?jib draft
authorAndreas Pehrson <pehrsons@gmail.com>
Fri, 23 Sep 2016 16:56:39 +0200
changeset 432226 739622231d238286cbb7f0da02264226bf69a870
parent 432225 11971e42360744708d6f83b1d10d929ba423a3a8
child 432227 f00e309058b22feb1db4b639d730de5685d12e55
push id34235
push userbmo:pehrson@telenordigital.com
push dateTue, 01 Nov 2016 13:40:03 +0000
reviewersjib
bugs1301675
milestone52.0a1
Bug 1301675 - Uncomment assertion for when removed live track was not found. r?jib It needs an extra guard for when we're an audio element and a live video track was removed. That's ok and we should ignore it. MozReview-Commit-ID: FVw3lDKd4oU
dom/html/HTMLMediaElement.cpp
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -4268,20 +4268,20 @@ HTMLMediaElement::NotifyMediaStreamTrack
                         this, aTrack->AsAudioStreamTrack() ? "Audio" : "Video",
                         NS_ConvertUTF16toUTF8(id).get()));
 
   if (MediaTrack* t = AudioTracks()->GetTrackById(id)) {
     AudioTracks()->RemoveTrack(t);
   } else if (MediaTrack* t = VideoTracks()->GetTrackById(id)) {
     VideoTracks()->RemoveTrack(t);
   } else {
-    // XXX (bug 1208328) Uncomment this when DOMMediaStream doesn't call
-    // NotifyTrackRemoved multiple times for the same track, i.e., when it
-    // implements the "addtrack" and "removetrack" events.
-    // NS_ASSERTION(false, "MediaStreamTrack ended but did not exist in track lists");
+    NS_ASSERTION(aTrack->AsVideoStreamTrack() && !IsVideo(),
+                 "MediaStreamTrack ended but did not exist in track lists. "
+                 "This is only allowed if a video element ends and we are an "
+                 "audio element.");
     return;
   }
 }
 
 
 void HTMLMediaElement::ProcessMediaFragmentURI()
 {
   nsMediaFragmentURIParser parser(mLoadingSrc);