Fixed updating of device names in device selection

master
Håvar Aambø Fosstveit 2018-10-30 10:25:13 +01:00
parent f4826c8e30
commit 2ee2728c41
1 changed files with 7 additions and 29 deletions

View File

@ -453,7 +453,6 @@ export default class RoomClient
try try
{ {
await this._updateWebcams();
await this._setWebcamProducer(); await this._setWebcamProducer();
} }
catch (error) catch (error)
@ -1275,10 +1274,6 @@ export default class RoomClient
try try
{ {
logger.debug('_setMicProducer() | calling _updateAudioDevices()');
await this._updateAudioDevices();
logger.debug('_setMicProducer() | calling getUserMedia()'); logger.debug('_setMicProducer() | calling getUserMedia()');
const stream = await navigator.mediaDevices.getUserMedia({ audio: true }); const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
@ -1305,6 +1300,10 @@ export default class RoomClient
codec : producer.rtpParameters.codecs[0].name codec : producer.rtpParameters.codecs[0].name
})); }));
logger.debug('_setMicProducer() | calling _updateAudioDevices()');
await this._updateAudioDevices();
producer.on('close', (originator) => producer.on('close', (originator) =>
{ {
logger.debug( logger.debug(
@ -1498,18 +1497,12 @@ export default class RoomClient
try try
{ {
const { device } = this._webcam;
if (!device)
throw new Error('no webcam devices');
logger.debug('_setWebcamProducer() | calling getUserMedia()'); logger.debug('_setWebcamProducer() | calling getUserMedia()');
const stream = await navigator.mediaDevices.getUserMedia( const stream = await navigator.mediaDevices.getUserMedia(
{ {
video : video :
{ {
deviceId : { exact: device.deviceId },
...VIDEO_CONSTRAINS ...VIDEO_CONSTRAINS
} }
}); });
@ -1531,14 +1524,15 @@ export default class RoomClient
{ {
id : producer.id, id : producer.id,
source : 'webcam', source : 'webcam',
deviceLabel : device.label,
type : this._getWebcamType(device),
locallyPaused : producer.locallyPaused, locallyPaused : producer.locallyPaused,
remotelyPaused : producer.remotelyPaused, remotelyPaused : producer.remotelyPaused,
track : producer.track, track : producer.track,
codec : producer.rtpParameters.codecs[0].name codec : producer.rtpParameters.codecs[0].name
})); }));
logger.debug('_setWebcamProducer() | calling _updateWebcams()');
await this._updateWebcams();
producer.on('close', (originator) => producer.on('close', (originator) =>
{ {
logger.debug( logger.debug(
@ -1683,22 +1677,6 @@ export default class RoomClient
} }
} }
_getWebcamType(device)
{
if (/(back|rear)/i.test(device.label))
{
logger.debug('_getWebcamType() | it seems to be a back camera');
return 'back';
}
else
{
logger.debug('_getWebcamType() | it seems to be a front camera');
return 'front';
}
}
_handlePeer(peer, { notify = true } = {}) _handlePeer(peer, { notify = true } = {})
{ {
const displayName = peer.appData.displayName; const displayName = peer.appData.displayName;