Могу ли я вызвать peerconnection->addStream(stream) в событии OnAddStream()

Я пытаюсь установить одноранговое соединение между сервером и клиентом. Я посылаю локальный видеопоток через одноранговое соединение от клиента к серверу, и когда сервер получает его в событии onAddStream(), он принимает поток и добавляет его к одноранговому соединению с помощью addStream(), чтобы отправить его обратно клиенту, откуда оно пришло изначально. Источник на стороне сервера выглядит следующим образом:

void ServerPeerConnection::OnAddStream(webrtc::MediaStreamInterface* stream)
{
  this->AddStream(stream);
}

Я знаю, что это кажется бессмысленным, но это первый шаг, который нужно реализовать, прежде чем идти дальше.

Итак, я спрашиваю вас, разрешено ли это в последовательности? Должен ли я добавить addStream() до того, как параметры SDP будут переданы между узлами, или я могу вызвать addStream() после. Теперь у меня есть следующий журнал ошибок:


Ошибка (statscollector.cc:192): SSRC 2128160837 не связан с дорожкой

Ошибка (statscollector.cc:192): SSRC 0 не связан с дорожкой Transport::ConnectChannels_w: локальное описание не задано. Будет генерировать o ne. Jingle: канал [аудио | 1 | ]: NULL DTLS идентификатор предоставлен. Не работает DTLS Jingle: Channel [audio | 2 | ]: NULL DTLS идентификатор предоставлен. Не делает DTLS

1 ответ

Вы можете прикрепить удаленный поток следующим образом:

var MediaStream = window.webkitMediaStream || window.MediaStream;

firstPeer.onaddstream = function(remoteSteam) {
      remoteStream = new MediaStream(remoteSteam.audioTracks, remoteSteam.videoTracks);
      otherPeer.addStream(remoteStream);  /* attaching remote stream */
};

https://github.com/muaz-khan/WebRTC-Experiment/issues/2

Другие вопросы по тегам