Add some extra checks for video stream and track
parent
cae50e3f33
commit
12035847af
|
|
@ -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();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue