startRoomRecording function

Future<HeadlessActionResult> startRoomRecording(
  1. MediasfuParameters parameters
)

Implementation

Future<HeadlessActionResult> startRoomRecording(
    MediasfuParameters parameters) async {
  if (!parameters.canRecord) {
    return const HeadlessActionResult.failure(
        'Recording is not available in this room.');
  }
  if (parameters.recordStarted && !parameters.recordStopped) {
    return const HeadlessActionResult.failure('Recording has already started.');
  }
  try {
    await confirmRecording(ConfirmRecordingOptions(parameters: parameters));
    final started =
        await startRecording(StartRecordingOptions(parameters: parameters));
    return started == false
        ? const HeadlessActionResult.failure('Recording could not be started.')
        : const HeadlessActionResult.success();
  } catch (error) {
    return HeadlessActionResult.failure(
        'Recording could not be started: $error');
  }
}