stopBreakoutRooms function

Future<HeadlessActionResult> stopBreakoutRooms(
  1. MediasfuParameters parameters
)

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