static void processTrack(MediaStreamTrack* track, MediaStreamTrackVector& trackVector) { if (track->ended()) return; MediaStreamSource* source = track->component()->source(); if (!containsSource(trackVector, source)) trackVector.append(track); }
static void processTrack(MediaStreamTrack* track, MediaStreamSourceVector& sourceVector) { if (track->ended()) return; MediaStreamSource* source = track->source(); if (!containsSource(sourceVector, source)) { if (source->stream()) { // FIXME: this should not be necessary because tracks and streams must be able to share sources, but our code // currenlty assumes each source is attached to just one track. // https://bugs.webkit.org/show_bug.cgi?id=121954 sourceVector.append(MediaStreamSource::create(source->id(), source->type(), source->name(), source->readyState(), source->requiresAudioConsumer()).get()); } else sourceVector.append(source); } }