Fixes: #188 handle if _webcamProducer is null

auto_join_3.3
Mészáros Mihály 2020-04-08 09:31:44 +02:00
parent ee16bf809e
commit 1067823ede
1 changed files with 50 additions and 10 deletions

View File

@ -1135,14 +1135,41 @@ export default class RoomClient
...VIDEO_CONSTRAINS[resolution] ...VIDEO_CONSTRAINS[resolution]
} }
}); });
if(stream){
const track = stream.getVideoTracks()[0];
const track = stream.getVideoTracks()[0]; if (track)
{
await this._webcamProducer.replaceTrack({ track }); if (this._webcamProducer)
{
store.dispatch( await this._webcamProducer.replaceTrack({ track });
producerActions.setProducerTrack(this._webcamProducer.id, track)); }
else
{
this._webcamProducer = await this._sendTransport.produce({
track,
appData :
{
source : 'webcam'
}
});
}
store.dispatch(
producerActions.setProducerTrack(this._webcamProducer.id, track));
}
else
{
logger.warn('getVideoTracks Error: First Video Track is null');
}
}
else
{
logger.warn('getUserMedia Error: Stream is null!');
}
store.dispatch(settingsActions.setSelectedWebcamDevice(deviceId)); store.dispatch(settingsActions.setSelectedWebcamDevice(deviceId));
store.dispatch(settingsActions.setVideoResolution(resolution)); store.dispatch(settingsActions.setVideoResolution(resolution));
@ -1195,11 +1222,24 @@ export default class RoomClient
if (track) if (track)
{ {
await this._webcamProducer.replaceTrack({ track }); if (this._webcamProducer)
{
await this._webcamProducer.replaceTrack({ track });
}
else
{
this._webcamProducer = await this._sendTransport.produce({
track,
appData :
{
source : 'webcam'
}
});
}
store.dispatch( store.dispatch(
producerActions.setProducerTrack(this._webcamProducer.id, track)); producerActions.setProducerTrack(this._webcamProducer.id, track));
} }
else else
{ {