summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/whisper_binary.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/extra/whisper_binary.go b/extra/whisper_binary.go
index a016a30..31c083c 100644
--- a/extra/whisper_binary.go
+++ b/extra/whisper_binary.go
@@ -48,6 +48,11 @@ func (w *WhisperBinary) StartRecording() error {
if w.recording {
return errors.New("recording is already in progress")
}
+ // If context is cancelled, create a new one for the next recording session
+ if w.ctx.Err() != nil {
+ w.logger.Debug("Context cancelled, creating new context")
+ w.ctx, w.cancel = context.WithCancel(context.Background())
+ }
// Temporarily redirect stderr to suppress ALSA warnings during PortAudio init
origStderr, errDup := syscall.Dup(syscall.Stderr)
if errDup != nil {