Bug 1295296 - Assert that we don't see video tracks in ExternalAudioInputStream. r?jesup draft
authorAndreas Pehrson <pehrsons@gmail.com>
Wed, 17 Aug 2016 14:26:15 +0200
changeset 403163 d145743e99a1a1cca3e456f36b419a8f8fa666bf
parent 403162 4c3c88e0fdc55930c9bc2c43667513932417d6c4
child 403164 c7c4811647b3d34247385e82688a0cd705f522d5
push id26841
push userpehrsons@gmail.com
push dateFri, 19 Aug 2016 07:26:32 +0000
reviewersjesup
bugs1295296
milestone51.0a1
Bug 1295296 - Assert that we don't see video tracks in ExternalAudioInputStream. r?jesup MozReview-Commit-ID: Cw7KMFhY5Ai
dom/media/webaudio/AudioNodeExternalInputStream.cpp
--- a/dom/media/webaudio/AudioNodeExternalInputStream.cpp
+++ b/dom/media/webaudio/AudioNodeExternalInputStream.cpp
@@ -147,23 +147,28 @@ AudioNodeExternalInputStream::ProcessInp
     return;
   }
 
   MOZ_ASSERT(mInputs.Length() == 1);
 
   MediaStream* source = mInputs[0]->GetSource();
   AutoTArray<AudioSegment,1> audioSegments;
   uint32_t inputChannels = 0;
-  for (StreamTracks::TrackIter tracks(source->mTracks, MediaSegment::AUDIO);
+  for (StreamTracks::TrackIter tracks(source->mTracks);
        !tracks.IsEnded(); tracks.Next()) {
     const StreamTracks::Track& inputTrack = *tracks;
     if (!mInputs[0]->PassTrackThrough(tracks->GetID())) {
       continue;
     }
 
+    if (inputTrack.GetSegment()->GetType() == MediaSegment::VIDEO) {
+      MOZ_ASSERT(false, "AudioNodeExternalInputStream shouldn't have video tracks");
+      continue;
+    }
+
     const AudioSegment& inputSegment =
         *static_cast<AudioSegment*>(inputTrack.GetSegment());
     if (inputSegment.IsNull()) {
       continue;
     }
 
     AudioSegment& segment = *audioSegments.AppendElement();
     GraphTime next;