startHls method

Future<void> startHls({
  1. Map<String, dynamic>? config,
  2. Map<String, dynamic>? transcription,
})

Implementation

Future<void> startHls(
    {Map<String, dynamic>? config,
    Map<String, dynamic>? transcription}) async {
  Map<String, dynamic> data = {};
  if (config != null) data["config"] = config;
  if (transcription != null) data["transcription"] = transcription;

  Span? startHlsSpan;
  try {
    if (videoSDKTelemetery != null) {
      startHlsSpan = videoSDKTelemetery!.trace(
        spanName: 'startHls() Start',
        attributes: [
          Attribute.fromString('config',
              config != null ? config.toString() : 'config Not Specify'),
          Attribute.fromString(
              'transcription',
              transcription != null
                  ? transcription.toString()
                  : 'transcription not started'),
        ],
      );
    }
  } catch (error) {}

  try {
    await _webSocket!.socket.request('startHls', data);

    if (startHlsSpan != null) {
      videoSDKTelemetery!.completeSpan(
          span: startHlsSpan,
          status: StatusCode.ok,
          message: 'startHls() End');
    }
  } catch (error) {
    //
    VideoSDKLog.createLog(
        message: "Error in startHls() \n ${error.toString()}",
        logLevel: "ERROR");

    //
    log("Error while starting HLS $error");

    if (startHlsSpan != null) {
      videoSDKTelemetery!.completeSpan(
          span: startHlsSpan,
          status: StatusCode.error,
          message: 'startHls() Failed \n ${error.toString()}');
    }
  }
}