startRecording method
Implementation
Future<CockpitRecordingSession> startRecording(
CockpitRecordingRequest request,
) async {
if (_recordingStarting ||
_performanceStarting ||
_activePerformanceSession != null ||
performanceCollector.isRunning) {
throw StateError(
'Screen recording cannot overlap a performance capture.',
);
}
_recordingStarting = true;
try {
final session = await nativeRecording.startRecording(request: request);
_activeRecordingSession = session.state == CockpitRecordingState.recording
? session
: null;
return session;
} finally {
_recordingStarting = false;
}
}