startRoomRecording function
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');
}
}