Generally, we recommend not using "optional" as it's deprecated in the WebRTC Specs.


The current specification uses the following format for "constraints" in navigator.mediaDevices.getUserMedia(constraints) method.


{
  width: { max: xxx },
  height: { max: xxx },
  frameRate: { max: xxx },
  deviceId: { exact: yyy }
}


We would suggest doing the following in order to comply with the current specifications format:


skylink.getUserMedia({
  video: {
    deviceId: videoSrc
  },
  audio: {
    deviceId: audioSrc
  }
}, ..);