Bug 1275596 - Ignore ended tracks when selecting new track in MediaStreamAudioSourceNode and MediaElementSourceNode. r?padenot
This is how it was meant to work when the refactor landed in
Bug 1208371.
We have no test coverage of seeking apparently.
MozReview-Commit-ID: IhyGbjctO7E
--- a/dom/media/webaudio/MediaStreamAudioSourceNode.cpp
+++ b/dom/media/webaudio/MediaStreamAudioSourceNode.cpp
@@ -112,21 +112,24 @@ MediaStreamAudioSourceNode::DetachFromTr
}
void
MediaStreamAudioSourceNode::AttachToFirstTrack(const RefPtr<DOMMediaStream>& aMediaStream)
{
nsTArray<RefPtr<AudioStreamTrack>> tracks;
aMediaStream->GetAudioTracks(tracks);
- if (tracks.IsEmpty()) {
+ for (const RefPtr<AudioStreamTrack>& track : tracks) {
+ if (track->Ended()) {
+ continue;
+ }
+
+ AttachToTrack(track);
return;
}
-
- AttachToTrack(tracks[0]);
}
void
MediaStreamAudioSourceNode::NotifyTrackAdded(const RefPtr<MediaStreamTrack>& aTrack)
{
if (mInputTrack) {
return;
}