Add some extra checks for video stream and track

master
Mészáros Mihály 2020-03-26 21:59:49 +01:00
parent cae50e3f33
commit 12035847af
1 changed files with 17 additions and 10 deletions

View File

@ -1081,8 +1081,8 @@ export default class RoomClient
logger.debug( logger.debug(
'changeWebcam() | new selected webcam [device:%o]', 'changeWebcam() | new selected webcam [device:%o]',
device); device);
if (this._webcamProducer && this._webcamProducer.track)
this._webcamProducer.track.stop(); this._webcamProducer.track.stop();
logger.debug('changeWebcam() | calling getUserMedia()'); logger.debug('changeWebcam() | calling getUserMedia()');
@ -1094,14 +1094,21 @@ 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 }); await this._webcamProducer.replaceTrack({ track });
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));
await this._updateWebcams(); await this._updateWebcams();