diff options
| author | Konstantin <const@const.me> | 2023-01-18 19:55:25 +0100 |
|---|---|---|
| committer | Konstantin <const@const.me> | 2023-01-18 19:55:25 +0100 |
| commit | ad097a744759c6a78e1b33ea9d2b4b2af01c529d (patch) | |
| tree | da738750a40790a2f2553b3ebce29b08027ea8df /Whisper/API | |
| parent | 72b03a0d899e0de6a39be278b0efc31570cd7d59 (diff) | |
Consistent cancellation API across the library: S_OK = continue, S_FALSE = stop
Diffstat (limited to 'Whisper/API')
| -rw-r--r-- | Whisper/API/MfStructs.h | 3 | ||||
| -rw-r--r-- | Whisper/API/sFullParams.h | 2 | ||||
| -rw-r--r-- | Whisper/API/sLoadModelCallbacks.h | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/Whisper/API/MfStructs.h b/Whisper/API/MfStructs.h index cd27659..39255de 100644 --- a/Whisper/API/MfStructs.h +++ b/Whisper/API/MfStructs.h @@ -40,8 +40,11 @@ namespace Whisper Stalled = 0x80, }; + // Return S_OK to continue, or S_FALSE to stop the capture session using pfnShouldCancel = HRESULT( __stdcall* )( void* pv ) noexcept; + using pfnCaptureStatus = HRESULT( __stdcall* )( void* pv, eCaptureStatus status ) noexcept; + struct sCaptureCallbacks { pfnShouldCancel shouldCancel; diff --git a/Whisper/API/sFullParams.h b/Whisper/API/sFullParams.h index 0a1d352..42d48a4 100644 --- a/Whisper/API/sFullParams.h +++ b/Whisper/API/sFullParams.h @@ -14,6 +14,8 @@ namespace Whisper }; using pfnNewSegment = HRESULT( __cdecl* )( iContext* ctx, uint32_t n_new, void* user_data ) noexcept; + + // Return S_OK to proceed, or S_FALSE to stop the process and return S_OK from runFull / runStreamed method using pfnEncoderBegin = HRESULT( __cdecl* )( iContext* ctx, void* user_data ) noexcept; enum struct eFullParamsFlags : uint32_t diff --git a/Whisper/API/sLoadModelCallbacks.h b/Whisper/API/sLoadModelCallbacks.h index f5248c6..8f274c6 100644 --- a/Whisper/API/sLoadModelCallbacks.h +++ b/Whisper/API/sLoadModelCallbacks.h @@ -3,6 +3,7 @@ namespace Whisper { using pfnLoadProgress = HRESULT( __stdcall* )( double val, void* pv ) noexcept; + // Return S_OK to continue, or S_FALSE to fail with "The operation was canceled by the user" status code using pfnCancel = HRESULT( __stdcall* )( void* pv ) noexcept; struct sLoadModelCallbacks |
