Merge branch 'master' into cmake-change-build-type
This commit is contained in:
commit
134067b112
2 changed files with 8 additions and 0 deletions
|
|
@ -39,6 +39,8 @@ pub enum WhisperError {
|
||||||
InvalidText,
|
InvalidText,
|
||||||
/// Creating a state pointer failed. Check stderr for more information.
|
/// Creating a state pointer failed. Check stderr for more information.
|
||||||
FailedToCreateState,
|
FailedToCreateState,
|
||||||
|
/// No samples were provided.
|
||||||
|
NoSamples,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<Utf8Error> for WhisperError {
|
impl From<Utf8Error> for WhisperError {
|
||||||
|
|
@ -106,6 +108,7 @@ impl std::fmt::Display for WhisperError {
|
||||||
"Generic whisper error. Varies depending on the function. Error code: {}",
|
"Generic whisper error. Varies depending on the function. Error code: {}",
|
||||||
c_int
|
c_int
|
||||||
),
|
),
|
||||||
|
NoSamples => write!(f, "Input sample buffer was empty."),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -327,6 +327,11 @@ impl<'a> WhisperState<'a> {
|
||||||
/// # C++ equivalent
|
/// # C++ equivalent
|
||||||
/// `int whisper_full(struct whisper_context * ctx, struct whisper_full_params params, const float * samples, int n_samples)`
|
/// `int whisper_full(struct whisper_context * ctx, struct whisper_full_params params, const float * samples, int n_samples)`
|
||||||
pub fn full(&mut self, params: FullParams, data: &[f32]) -> Result<c_int, WhisperError> {
|
pub fn full(&mut self, params: FullParams, data: &[f32]) -> Result<c_int, WhisperError> {
|
||||||
|
if data.is_empty() {
|
||||||
|
// can randomly trigger segmentation faults if we don't check this
|
||||||
|
return Err(WhisperError::NoSamples);
|
||||||
|
}
|
||||||
|
|
||||||
let ret = unsafe {
|
let ret = unsafe {
|
||||||
whisper_rs_sys::whisper_full_with_state(
|
whisper_rs_sys::whisper_full_with_state(
|
||||||
self.ctx,
|
self.ctx,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue