void
MediaStreamAudioSourceNode::NotifyTrackAdded(const RefPtr<MediaStreamTrack>& aTrack)
{
  if (mInputTrack) {
    return;
  }

  AttachToTrack(aTrack);
}
void
MediaStreamAudioSourceNode::AttachToFirstTrack(const RefPtr<DOMMediaStream>& aMediaStream)
{
  nsTArray<RefPtr<AudioStreamTrack>> tracks;
  aMediaStream->GetAudioTracks(tracks);

  if (tracks.IsEmpty()) {
    return;
  }

  AttachToTrack(tracks[0]);
}
void
MediaStreamAudioSourceNode::AttachToFirstTrack(const RefPtr<DOMMediaStream>& aMediaStream)
{
  nsTArray<RefPtr<AudioStreamTrack>> tracks;
  aMediaStream->GetAudioTracks(tracks);

  for (const RefPtr<AudioStreamTrack>& track : tracks) {
    if (track->Ended()) {
      continue;
    }

    AttachToTrack(track);
    return;
  }
}