initLocalCameraStream method

Future<void> initLocalCameraStream()

Implementation

Future<void> initLocalCameraStream() async {
  try {
    if (getLocalCameraStream != null) {
      webRtcLogs.fire(WebRtcLoggerEvent(
          loggerType: LoggerType.trace,
          message: 'Local camera stream is already initialized.',
          className: runtimeType));
      return;
    }

    var hasCameraPermission = await _hasCameraPermission();
    if (!hasCameraPermission) {
      return;
    }

    var hasMicrophonePermission = await _hasMicrophonePermission();
    if (!hasMicrophonePermission) {
      return;
    }

    await _initLocalCameraStream();

    webRtcLogs.fire(WebRtcLoggerEvent(
        loggerType: LoggerType.trace,
        message: 'Camera and microphone permissions are granted',
        className: runtimeType));
  } catch (e) {
    webRtcLogs.fire(WebRtcLoggerEvent(
        loggerType: LoggerType.exception,
        message: e.toString(),
        className: runtimeType));
  }
}