stopBreakoutRooms function
Implementation
Future<HeadlessActionResult> stopBreakoutRooms(
MediasfuParameters parameters) async {
if (parameters.islevel != '2') {
return const HeadlessActionResult.failure(
'Only the host can stop breakout rooms.');
}
if (parameters.socket == null || parameters.roomName.isEmpty) {
return const HeadlessActionResult.failure(
'The room connection is not ready.');
}
try {
final response = await _emitAck(
parameters, 'stopBreakout', {'roomName': parameters.roomName});
if (response['success'] != true) {
return HeadlessActionResult.failure(response['reason']?.toString() ??
'The breakout rooms could not be stopped.');
}
parameters.updateBreakOutRoomStarted(false);
parameters.updateBreakOutRoomEnded(true);
return const HeadlessActionResult.success();
} catch (error) {
return HeadlessActionResult.failure(
'The breakout rooms could not be stopped: $error');
}
}