enableWebCam method

Future<void> enableWebCam()

Implementation

Future<void> enableWebCam() async {
  if (_mediaDevice!.canProduce(RTCRtpMediaType.RTCRtpMediaTypeVideo) == false) return;

  MediaStream? videoStream;
  MediaStreamTrack? track;

  try {
    //const videoVPVersion = 8;
    // RtpCodecCapability? codec = _mediaDevice!.rtpCapabilities.codecs.firstWhere((RtpCodecCapability c) =>
    //   c.mimeType.toLowerCase() == 'video/vp$videoVPVersion', orElse: () => throw "desired vp$videoVPVersion codec+configuration is not supported"
    // );
    videoStream = await createVideoStream();
    track = videoStream!.getVideoTracks().first;

    _sendTransport!.produce(
        track: track,
        stream: videoStream,
        // codec: codec,
        // codecOptions: ProducerCodecOptions(
        //   videoGoogleStartBitrate: 1000
        // ),
        // encodings: [ RtpEncodingParameters(scalabilityMode: "L1T3", scaleResolutionDownBy: 1.0) ],
        appData: {"source": "webcam"},
        source: "webcam");
  } catch (error) {
    if (videoStream != null) await videoStream.dispose();
  }
}