Могу ли я вызвать 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 */
};