示例#1
0
static void processTrack(MediaStreamTrack* track,
                         MediaStreamTrackVector& trackVector) {
  if (track->ended())
    return;

  MediaStreamSource* source = track->component()->source();
  if (!containsSource(trackVector, source))
    trackVector.append(track);
}
示例#2
0
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);
    }
}