summaryrefslogtreecommitdiffstats
path: root/Whisper/API
diff options
context:
space:
mode:
authorKonstantin <const@const.me>2023-01-18 19:55:25 +0100
committerKonstantin <const@const.me>2023-01-18 19:55:25 +0100
commitad097a744759c6a78e1b33ea9d2b4b2af01c529d (patch)
treeda738750a40790a2f2553b3ebce29b08027ea8df /Whisper/API
parent72b03a0d899e0de6a39be278b0efc31570cd7d59 (diff)
Consistent cancellation API across the library: S_OK = continue, S_FALSE = stop
Diffstat (limited to 'Whisper/API')
-rw-r--r--Whisper/API/MfStructs.h3
-rw-r--r--Whisper/API/sFullParams.h2
-rw-r--r--Whisper/API/sLoadModelCallbacks.h1
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