avstack/gst-whisper

Whisper can produce invalid UTF-8

Opened this issue · 2 comments

thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: InvalidUtf8 { error_len: None, valid_up_to: 328 }', src/filter/imp.rs:139:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
ERROR: from element /GstPipeline:pipeline0/GstWhisperFilter:whisperfilter0: Panicked: called `Result::unwrap()` on an `Err` value: InvalidUtf8 { error_len: None, valid_up_to: 328 }
Execution ended after 0:47:34.668096672
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstWhisperFilter:whisperfilter0: Panicked
ERROR: from element /GstPipeline:pipeline0/GstAutoAudioSrc:autoaudiosrc0/GstPulseSrc:autoaudiosrc0-actual-src-puls: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstAutoAudioSrc:autoaudiosrc0/GstPulseSrc:autoaudiosrc0-actual-src-puls:
streaming stopped, reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstWhisperFilter:whisperfilter0: Panicked
ERROR: from element /GstPipeline:pipeline0/GstQueue:queue0: Internal data stream error.
Additional debug info:
../plugins/elements/gstqueue.c(992): gst_queue_handle_sink_event (): /GstPipeline:pipeline0/GstQueue:queue0:
streaming stopped, reason flushing (-2)
ERROR: from element /GstPipeline:pipeline0/GstWhisperFilter:whisperfilter0: Panicked
Freeing pipeline ...
jbg commented

We don't panic when whisper-rs returns an error from full_get_segment_text() now: 32d96df

But if whisper-rs API is improved, we can maybe recover some text from the segment rather than ignoring it.