diff --git a/src/hooks/useScreenRecorder/recordingStopHelpers.ts b/src/hooks/useScreenRecorder/recordingStopHelpers.ts index 5c75a7a1..8285fbb5 100644 --- a/src/hooks/useScreenRecorder/recordingStopHelpers.ts +++ b/src/hooks/useScreenRecorder/recordingStopHelpers.ts @@ -88,8 +88,8 @@ export async function stopBrowserRecordingSession(options: StopRecordingOptions) } options.refs.pendingWebcamPathPromise.current = stopWebcamRecorder(options.refs); - await options.cleanupCapturedMedia(); recorder.stop(); + await options.cleanupCapturedMedia(); options.setRecording(false); window.electronAPI?.setRecordingState(false); return true; diff --git a/src/lib/exporter/audioEncoder/shared.ts b/src/lib/exporter/audioEncoder/shared.ts index 48d3dd78..aaca1d97 100644 --- a/src/lib/exporter/audioEncoder/shared.ts +++ b/src/lib/exporter/audioEncoder/shared.ts @@ -123,10 +123,12 @@ export function buildTimelineSlices( (s) => midpoint >= s.startMs && midpoint < s.endMs, ); + const rawSpeed = speedRegion?.speed ?? 1; + const speed = Number.isFinite(rawSpeed) && rawSpeed > 0 ? rawSpeed : 1; slices.push({ sourceStartMs: start, sourceEndMs: end, - speed: speedRegion?.speed ?? 1, + speed, }); }