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

@ -1136,13 +1136,40 @@ export default class RoomClient
} }
}); });
if(stream){
const track = stream.getVideoTracks()[0]; const track = stream.getVideoTracks()[0];
if (track)
{
if (this._webcamProducer)
{
await this._webcamProducer.replaceTrack({ track }); 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
{
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));
@ -1194,8 +1221,21 @@ export default class RoomClient
const track = stream.getVideoTracks()[0]; const track = stream.getVideoTracks()[0];
if (track) if (track)
{
if (this._webcamProducer)
{ {
await this._webcamProducer.replaceTrack({ track }); 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));