Skip to main content

transcribe_cpp_sys/
transcribe_sys.rs

1// @generated by `cargo xtask bindgen` from include/transcribe/extensions.h
2// DO NOT EDIT BY HAND. Regenerate: `cargo xtask bindgen`.
3// Pinned to include/transcribe.abihash = 57b1af43650f195d
4
5/// The public-ABI digest these bindings were generated against
6/// (sha256/16 over the normalized FFI surface). The load-time version
7/// gate and the CI drift check both anchor on this value.
8pub const PUBLIC_HEADER_HASH: &str = "57b1af43650f195d";
9
10/* automatically generated by rust-bindgen 0.72.1 */
11
12pub const TRANSCRIBE_BACKEND_MASK_CPU: u32 = 1;
13pub const TRANSCRIBE_BACKEND_MASK_METAL: u32 = 2;
14pub const TRANSCRIBE_BACKEND_MASK_VULKAN: u32 = 4;
15pub const TRANSCRIBE_BACKEND_MASK_CUDA: u32 = 8;
16pub const TRANSCRIBE_BACKEND_MASK_ROCM: u32 = 16;
17pub const TRANSCRIBE_BACKEND_MASK_OTHER: u32 = 2147483648;
18pub const TRANSCRIBE_BACKEND_MASK_ALL: u32 = 4294967295;
19pub const TRANSCRIBE_EXT_KIND_MOONSHINE_STREAMING_STREAM: u32 = 1414746957;
20pub const TRANSCRIBE_EXT_KIND_PARAKEET_STREAM: u32 = 1414744912;
21pub const TRANSCRIBE_EXT_KIND_PARAKEET_BUFFERED_STREAM: u32 = 1396853584;
22pub const TRANSCRIBE_EXT_KIND_SORTFORMER_STREAM: u32 = 1414743635;
23pub const TRANSCRIBE_EXT_KIND_VOXTRAL_REALTIME_STREAM: u32 = 1414746710;
24pub const TRANSCRIBE_EXT_KIND_WHISPER_RUN: u32 = 1314015319;
25impl transcribe_status {
26    pub const TRANSCRIBE_OK: transcribe_status = transcribe_status(0);
27    pub const TRANSCRIBE_ERR_INVALID_ARG: transcribe_status = transcribe_status(1);
28    pub const TRANSCRIBE_ERR_NOT_IMPLEMENTED: transcribe_status = transcribe_status(2);
29    pub const TRANSCRIBE_ERR_FILE_NOT_FOUND: transcribe_status = transcribe_status(3);
30    pub const TRANSCRIBE_ERR_GGUF: transcribe_status = transcribe_status(4);
31    pub const TRANSCRIBE_ERR_UNSUPPORTED_ARCH: transcribe_status = transcribe_status(5);
32    pub const TRANSCRIBE_ERR_UNSUPPORTED_VARIANT: transcribe_status = transcribe_status(6);
33    pub const TRANSCRIBE_ERR_OOM: transcribe_status = transcribe_status(7);
34    pub const TRANSCRIBE_ERR_BACKEND: transcribe_status = transcribe_status(8);
35    pub const TRANSCRIBE_ERR_SAMPLE_RATE: transcribe_status = transcribe_status(9);
36    pub const TRANSCRIBE_ERR_UNSUPPORTED_LANGUAGE: transcribe_status = transcribe_status(10);
37    pub const TRANSCRIBE_ERR_UNSUPPORTED_TASK: transcribe_status = transcribe_status(11);
38    pub const TRANSCRIBE_ERR_UNSUPPORTED_TIMESTAMPS: transcribe_status = transcribe_status(12);
39    pub const TRANSCRIBE_ERR_ABORTED: transcribe_status = transcribe_status(13);
40    pub const TRANSCRIBE_ERR_BAD_STRUCT_SIZE: transcribe_status = transcribe_status(14);
41    pub const TRANSCRIBE_ERR_UNSUPPORTED_PNC: transcribe_status = transcribe_status(15);
42    pub const TRANSCRIBE_ERR_UNSUPPORTED_ITN: transcribe_status = transcribe_status(16);
43    pub const TRANSCRIBE_ERR_INPUT_TOO_LONG: transcribe_status = transcribe_status(17);
44    pub const TRANSCRIBE_ERR_OUTPUT_TRUNCATED: transcribe_status = transcribe_status(18);
45    pub const TRANSCRIBE_ERR_OUTPUT_REPETITION: transcribe_status = transcribe_status(19);
46}
47#[repr(transparent)]
48#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
49pub struct transcribe_status(pub ::std::os::raw::c_uint);
50unsafe extern "C" {
51    pub fn transcribe_status_string(status: ::std::os::raw::c_int)
52        -> *const ::std::os::raw::c_char;
53}
54unsafe extern "C" {
55    pub fn transcribe_version() -> *const ::std::os::raw::c_char;
56}
57unsafe extern "C" {
58    pub fn transcribe_version_commit() -> *const ::std::os::raw::c_char;
59}
60impl transcribe_abi_struct {
61    pub const TRANSCRIBE_ABI_MODEL_LOAD_PARAMS: transcribe_abi_struct = transcribe_abi_struct(0);
62    pub const TRANSCRIBE_ABI_SESSION_PARAMS: transcribe_abi_struct = transcribe_abi_struct(1);
63    pub const TRANSCRIBE_ABI_RUN_PARAMS: transcribe_abi_struct = transcribe_abi_struct(2);
64    pub const TRANSCRIBE_ABI_STREAM_PARAMS: transcribe_abi_struct = transcribe_abi_struct(3);
65    pub const TRANSCRIBE_ABI_CAPABILITIES: transcribe_abi_struct = transcribe_abi_struct(4);
66    pub const TRANSCRIBE_ABI_TIMINGS: transcribe_abi_struct = transcribe_abi_struct(5);
67    pub const TRANSCRIBE_ABI_SEGMENT: transcribe_abi_struct = transcribe_abi_struct(6);
68    pub const TRANSCRIBE_ABI_WORD: transcribe_abi_struct = transcribe_abi_struct(7);
69    pub const TRANSCRIBE_ABI_TOKEN: transcribe_abi_struct = transcribe_abi_struct(8);
70    pub const TRANSCRIBE_ABI_STREAM_UPDATE: transcribe_abi_struct = transcribe_abi_struct(9);
71    pub const TRANSCRIBE_ABI_STREAM_TEXT: transcribe_abi_struct = transcribe_abi_struct(10);
72    pub const TRANSCRIBE_ABI_SESSION_LIMITS: transcribe_abi_struct = transcribe_abi_struct(11);
73    pub const TRANSCRIBE_ABI_EXT: transcribe_abi_struct = transcribe_abi_struct(12);
74    pub const TRANSCRIBE_ABI_DEVICE_INFO: transcribe_abi_struct = transcribe_abi_struct(13);
75    pub const TRANSCRIBE_ABI_SPEAKER_SEGMENT: transcribe_abi_struct = transcribe_abi_struct(14);
76    pub const TRANSCRIBE_ABI_BACKEND_INIT_PARAMS: transcribe_abi_struct = transcribe_abi_struct(15);
77}
78#[repr(transparent)]
79#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
80pub struct transcribe_abi_struct(pub ::std::os::raw::c_uint);
81unsafe extern "C" {
82    pub fn transcribe_abi_struct_size(which: transcribe_abi_struct) -> usize;
83}
84unsafe extern "C" {
85    pub fn transcribe_abi_struct_align(which: transcribe_abi_struct) -> usize;
86}
87impl transcribe_log_level {
88    pub const TRANSCRIBE_LOG_LEVEL_NONE: transcribe_log_level = transcribe_log_level(0);
89    pub const TRANSCRIBE_LOG_LEVEL_INFO: transcribe_log_level = transcribe_log_level(1);
90    pub const TRANSCRIBE_LOG_LEVEL_WARN: transcribe_log_level = transcribe_log_level(2);
91    pub const TRANSCRIBE_LOG_LEVEL_ERROR: transcribe_log_level = transcribe_log_level(3);
92    pub const TRANSCRIBE_LOG_LEVEL_DEBUG: transcribe_log_level = transcribe_log_level(4);
93    pub const TRANSCRIBE_LOG_LEVEL_CONT: transcribe_log_level = transcribe_log_level(5);
94}
95#[repr(transparent)]
96#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
97pub struct transcribe_log_level(pub ::std::os::raw::c_uint);
98pub type transcribe_log_callback = ::std::option::Option<
99    unsafe extern "C" fn(
100        level: transcribe_log_level,
101        msg: *const ::std::os::raw::c_char,
102        userdata: *mut ::std::os::raw::c_void,
103    ),
104>;
105unsafe extern "C" {
106    pub fn transcribe_log_set(cb: transcribe_log_callback, userdata: *mut ::std::os::raw::c_void);
107}
108impl transcribe_task {
109    pub const TRANSCRIBE_TASK_TRANSCRIBE: transcribe_task = transcribe_task(0);
110    pub const TRANSCRIBE_TASK_TRANSLATE: transcribe_task = transcribe_task(1);
111    pub const TRANSCRIBE_TASK_INSTRUCT: transcribe_task = transcribe_task(2);
112}
113#[repr(transparent)]
114#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
115pub struct transcribe_task(pub ::std::os::raw::c_uint);
116impl transcribe_timestamp_kind {
117    pub const TRANSCRIBE_TIMESTAMPS_NONE: transcribe_timestamp_kind = transcribe_timestamp_kind(0);
118    pub const TRANSCRIBE_TIMESTAMPS_AUTO: transcribe_timestamp_kind = transcribe_timestamp_kind(1);
119    pub const TRANSCRIBE_TIMESTAMPS_SEGMENT: transcribe_timestamp_kind =
120        transcribe_timestamp_kind(2);
121    pub const TRANSCRIBE_TIMESTAMPS_WORD: transcribe_timestamp_kind = transcribe_timestamp_kind(3);
122    pub const TRANSCRIBE_TIMESTAMPS_TOKEN: transcribe_timestamp_kind = transcribe_timestamp_kind(4);
123}
124#[repr(transparent)]
125#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
126pub struct transcribe_timestamp_kind(pub ::std::os::raw::c_uint);
127impl transcribe_kv_type {
128    pub const TRANSCRIBE_KV_TYPE_AUTO: transcribe_kv_type = transcribe_kv_type(0);
129    pub const TRANSCRIBE_KV_TYPE_F32: transcribe_kv_type = transcribe_kv_type(1);
130    pub const TRANSCRIBE_KV_TYPE_F16: transcribe_kv_type = transcribe_kv_type(2);
131}
132#[repr(transparent)]
133#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
134pub struct transcribe_kv_type(pub ::std::os::raw::c_uint);
135impl transcribe_pnc_mode {
136    pub const TRANSCRIBE_PNC_MODE_DEFAULT: transcribe_pnc_mode = transcribe_pnc_mode(0);
137    pub const TRANSCRIBE_PNC_MODE_OFF: transcribe_pnc_mode = transcribe_pnc_mode(1);
138    pub const TRANSCRIBE_PNC_MODE_ON: transcribe_pnc_mode = transcribe_pnc_mode(2);
139}
140#[repr(transparent)]
141#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
142pub struct transcribe_pnc_mode(pub ::std::os::raw::c_uint);
143impl transcribe_itn_mode {
144    pub const TRANSCRIBE_ITN_MODE_DEFAULT: transcribe_itn_mode = transcribe_itn_mode(0);
145    pub const TRANSCRIBE_ITN_MODE_OFF: transcribe_itn_mode = transcribe_itn_mode(1);
146    pub const TRANSCRIBE_ITN_MODE_ON: transcribe_itn_mode = transcribe_itn_mode(2);
147}
148#[repr(transparent)]
149#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
150pub struct transcribe_itn_mode(pub ::std::os::raw::c_uint);
151impl transcribe_diarize_mode {
152    pub const TRANSCRIBE_DIARIZE_MODE_DEFAULT: transcribe_diarize_mode = transcribe_diarize_mode(0);
153    pub const TRANSCRIBE_DIARIZE_MODE_OFF: transcribe_diarize_mode = transcribe_diarize_mode(1);
154    pub const TRANSCRIBE_DIARIZE_MODE_ON: transcribe_diarize_mode = transcribe_diarize_mode(2);
155}
156#[repr(transparent)]
157#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
158pub struct transcribe_diarize_mode(pub ::std::os::raw::c_uint);
159#[repr(C)]
160#[derive(Debug, Copy, Clone)]
161pub struct transcribe_model {
162    _unused: [u8; 0],
163}
164#[repr(C)]
165#[derive(Debug, Copy, Clone)]
166pub struct transcribe_session {
167    _unused: [u8; 0],
168}
169#[repr(C)]
170#[derive(Debug, Copy, Clone)]
171pub struct transcribe_ext {
172    pub size: u64,
173    pub kind: u32,
174}
175#[allow(clippy::unnecessary_operation, clippy::identity_op)]
176const _: () = {
177    ["Size of transcribe_ext"][::std::mem::size_of::<transcribe_ext>() - 16usize];
178    ["Alignment of transcribe_ext"][::std::mem::align_of::<transcribe_ext>() - 8usize];
179    ["Offset of field: transcribe_ext::size"]
180        [::std::mem::offset_of!(transcribe_ext, size) - 0usize];
181    ["Offset of field: transcribe_ext::kind"]
182        [::std::mem::offset_of!(transcribe_ext, kind) - 8usize];
183};
184unsafe extern "C" {
185    pub fn transcribe_ext_check(
186        ext: *const transcribe_ext,
187        expected_kind: u32,
188        min_size: u64,
189    ) -> transcribe_status;
190}
191impl transcribe_ext_slot {
192    pub const TRANSCRIBE_EXT_SLOT_RUN: transcribe_ext_slot = transcribe_ext_slot(0);
193    pub const TRANSCRIBE_EXT_SLOT_STREAM: transcribe_ext_slot = transcribe_ext_slot(1);
194}
195#[repr(transparent)]
196#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
197pub struct transcribe_ext_slot(pub ::std::os::raw::c_uint);
198unsafe extern "C" {
199    pub fn transcribe_model_accepts_ext_kind(
200        model: *const transcribe_model,
201        slot: transcribe_ext_slot,
202        kind: u32,
203    ) -> bool;
204}
205impl transcribe_backend_request {
206    pub const TRANSCRIBE_BACKEND_AUTO: transcribe_backend_request = transcribe_backend_request(0);
207    pub const TRANSCRIBE_BACKEND_CPU: transcribe_backend_request = transcribe_backend_request(1);
208    pub const TRANSCRIBE_BACKEND_METAL: transcribe_backend_request = transcribe_backend_request(2);
209    pub const TRANSCRIBE_BACKEND_VULKAN: transcribe_backend_request = transcribe_backend_request(3);
210    pub const TRANSCRIBE_BACKEND_CPU_ACCEL: transcribe_backend_request =
211        transcribe_backend_request(4);
212    pub const TRANSCRIBE_BACKEND_CUDA: transcribe_backend_request = transcribe_backend_request(5);
213    pub const TRANSCRIBE_BACKEND_ROCM: transcribe_backend_request = transcribe_backend_request(6);
214}
215#[repr(transparent)]
216#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
217pub struct transcribe_backend_request(pub ::std::os::raw::c_uint);
218unsafe extern "C" {
219    pub fn transcribe_init_backends(
220        artifact_dir: *const ::std::os::raw::c_char,
221    ) -> transcribe_status;
222}
223unsafe extern "C" {
224    pub fn transcribe_init_backends_default() -> transcribe_status;
225}
226#[repr(C)]
227#[derive(Debug, Copy, Clone)]
228pub struct transcribe_backend_init_params {
229    pub struct_size: u64,
230    pub artifact_dir: *const ::std::os::raw::c_char,
231    pub allowed_backends: u32,
232}
233#[allow(clippy::unnecessary_operation, clippy::identity_op)]
234const _: () = {
235    ["Size of transcribe_backend_init_params"]
236        [::std::mem::size_of::<transcribe_backend_init_params>() - 24usize];
237    ["Alignment of transcribe_backend_init_params"]
238        [::std::mem::align_of::<transcribe_backend_init_params>() - 8usize];
239    ["Offset of field: transcribe_backend_init_params::struct_size"]
240        [::std::mem::offset_of!(transcribe_backend_init_params, struct_size) - 0usize];
241    ["Offset of field: transcribe_backend_init_params::artifact_dir"]
242        [::std::mem::offset_of!(transcribe_backend_init_params, artifact_dir) - 8usize];
243    ["Offset of field: transcribe_backend_init_params::allowed_backends"]
244        [::std::mem::offset_of!(transcribe_backend_init_params, allowed_backends) - 16usize];
245};
246unsafe extern "C" {
247    pub fn transcribe_backend_init_params_init(p: *mut transcribe_backend_init_params);
248}
249unsafe extern "C" {
250    pub fn transcribe_init_backends_ex(
251        params: *const transcribe_backend_init_params,
252    ) -> transcribe_status;
253}
254unsafe extern "C" {
255    pub fn transcribe_allowed_backends() -> u32;
256}
257#[repr(C)]
258#[derive(Debug, Copy, Clone)]
259pub struct transcribe_device {
260    _unused: [u8; 0],
261}
262pub type transcribe_device_t = *mut transcribe_device;
263unsafe extern "C" {
264    pub fn transcribe_device_count() -> ::std::os::raw::c_int;
265}
266unsafe extern "C" {
267    pub fn transcribe_device_get(index: ::std::os::raw::c_int) -> transcribe_device_t;
268}
269impl transcribe_device_type {
270    pub const TRANSCRIBE_DEVICE_TYPE_CPU: transcribe_device_type = transcribe_device_type(0);
271    pub const TRANSCRIBE_DEVICE_TYPE_GPU: transcribe_device_type = transcribe_device_type(1);
272    pub const TRANSCRIBE_DEVICE_TYPE_IGPU: transcribe_device_type = transcribe_device_type(2);
273    pub const TRANSCRIBE_DEVICE_TYPE_ACCEL: transcribe_device_type = transcribe_device_type(3);
274}
275#[repr(transparent)]
276#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
277pub struct transcribe_device_type(pub ::std::os::raw::c_uint);
278#[repr(C)]
279#[derive(Debug, Copy, Clone)]
280pub struct transcribe_device_info {
281    pub struct_size: u64,
282    pub name: *const ::std::os::raw::c_char,
283    pub description: *const ::std::os::raw::c_char,
284    pub kind: *const ::std::os::raw::c_char,
285    pub device_id: *const ::std::os::raw::c_char,
286    pub memory_total: u64,
287    pub memory_free: u64,
288    pub device_type: transcribe_device_type,
289}
290#[allow(clippy::unnecessary_operation, clippy::identity_op)]
291const _: () = {
292    ["Size of transcribe_device_info"][::std::mem::size_of::<transcribe_device_info>() - 64usize];
293    ["Alignment of transcribe_device_info"]
294        [::std::mem::align_of::<transcribe_device_info>() - 8usize];
295    ["Offset of field: transcribe_device_info::struct_size"]
296        [::std::mem::offset_of!(transcribe_device_info, struct_size) - 0usize];
297    ["Offset of field: transcribe_device_info::name"]
298        [::std::mem::offset_of!(transcribe_device_info, name) - 8usize];
299    ["Offset of field: transcribe_device_info::description"]
300        [::std::mem::offset_of!(transcribe_device_info, description) - 16usize];
301    ["Offset of field: transcribe_device_info::kind"]
302        [::std::mem::offset_of!(transcribe_device_info, kind) - 24usize];
303    ["Offset of field: transcribe_device_info::device_id"]
304        [::std::mem::offset_of!(transcribe_device_info, device_id) - 32usize];
305    ["Offset of field: transcribe_device_info::memory_total"]
306        [::std::mem::offset_of!(transcribe_device_info, memory_total) - 40usize];
307    ["Offset of field: transcribe_device_info::memory_free"]
308        [::std::mem::offset_of!(transcribe_device_info, memory_free) - 48usize];
309    ["Offset of field: transcribe_device_info::device_type"]
310        [::std::mem::offset_of!(transcribe_device_info, device_type) - 56usize];
311};
312unsafe extern "C" {
313    pub fn transcribe_device_info_init(p: *mut transcribe_device_info);
314}
315unsafe extern "C" {
316    pub fn transcribe_device_get_info(
317        device: transcribe_device_t,
318        out: *mut transcribe_device_info,
319    ) -> transcribe_status;
320}
321unsafe extern "C" {
322    pub fn transcribe_backend_available(kind: transcribe_backend_request) -> bool;
323}
324unsafe extern "C" {
325    pub fn transcribe_model_device(model: *const transcribe_model) -> transcribe_device_t;
326}
327#[repr(C)]
328#[derive(Debug, Copy, Clone)]
329pub struct transcribe_model_load_params {
330    pub struct_size: u64,
331    pub backend: transcribe_backend_request,
332    pub device: transcribe_device_t,
333}
334#[allow(clippy::unnecessary_operation, clippy::identity_op)]
335const _: () = {
336    ["Size of transcribe_model_load_params"]
337        [::std::mem::size_of::<transcribe_model_load_params>() - 24usize];
338    ["Alignment of transcribe_model_load_params"]
339        [::std::mem::align_of::<transcribe_model_load_params>() - 8usize];
340    ["Offset of field: transcribe_model_load_params::struct_size"]
341        [::std::mem::offset_of!(transcribe_model_load_params, struct_size) - 0usize];
342    ["Offset of field: transcribe_model_load_params::backend"]
343        [::std::mem::offset_of!(transcribe_model_load_params, backend) - 8usize];
344    ["Offset of field: transcribe_model_load_params::device"]
345        [::std::mem::offset_of!(transcribe_model_load_params, device) - 16usize];
346};
347unsafe extern "C" {
348    pub fn transcribe_model_load_params_init(params: *mut transcribe_model_load_params);
349}
350#[repr(C)]
351#[derive(Debug, Copy, Clone)]
352pub struct transcribe_session_params {
353    pub struct_size: u64,
354    pub n_threads: ::std::os::raw::c_int,
355    pub kv_type: transcribe_kv_type,
356    pub n_ctx: i32,
357}
358#[allow(clippy::unnecessary_operation, clippy::identity_op)]
359const _: () = {
360    ["Size of transcribe_session_params"]
361        [::std::mem::size_of::<transcribe_session_params>() - 24usize];
362    ["Alignment of transcribe_session_params"]
363        [::std::mem::align_of::<transcribe_session_params>() - 8usize];
364    ["Offset of field: transcribe_session_params::struct_size"]
365        [::std::mem::offset_of!(transcribe_session_params, struct_size) - 0usize];
366    ["Offset of field: transcribe_session_params::n_threads"]
367        [::std::mem::offset_of!(transcribe_session_params, n_threads) - 8usize];
368    ["Offset of field: transcribe_session_params::kv_type"]
369        [::std::mem::offset_of!(transcribe_session_params, kv_type) - 12usize];
370    ["Offset of field: transcribe_session_params::n_ctx"]
371        [::std::mem::offset_of!(transcribe_session_params, n_ctx) - 16usize];
372};
373unsafe extern "C" {
374    pub fn transcribe_session_params_init(params: *mut transcribe_session_params);
375}
376#[repr(C)]
377#[derive(Debug, Copy, Clone)]
378pub struct transcribe_run_params {
379    pub struct_size: u64,
380    pub task: transcribe_task,
381    pub timestamps: transcribe_timestamp_kind,
382    pub pnc: transcribe_pnc_mode,
383    pub itn: transcribe_itn_mode,
384    pub diarize: transcribe_diarize_mode,
385    pub language: *const ::std::os::raw::c_char,
386    pub target_language: *const ::std::os::raw::c_char,
387    pub keep_special_tags: bool,
388    pub family: *const transcribe_ext,
389    pub spec_k_drafts: i32,
390    pub vocabulary: *const *const ::std::os::raw::c_char,
391    pub n_vocabulary: i32,
392    pub prompt: *const ::std::os::raw::c_char,
393    pub prefix: *const ::std::os::raw::c_char,
394}
395#[allow(clippy::unnecessary_operation, clippy::identity_op)]
396const _: () = {
397    ["Size of transcribe_run_params"][::std::mem::size_of::<transcribe_run_params>() - 104usize];
398    ["Alignment of transcribe_run_params"]
399        [::std::mem::align_of::<transcribe_run_params>() - 8usize];
400    ["Offset of field: transcribe_run_params::struct_size"]
401        [::std::mem::offset_of!(transcribe_run_params, struct_size) - 0usize];
402    ["Offset of field: transcribe_run_params::task"]
403        [::std::mem::offset_of!(transcribe_run_params, task) - 8usize];
404    ["Offset of field: transcribe_run_params::timestamps"]
405        [::std::mem::offset_of!(transcribe_run_params, timestamps) - 12usize];
406    ["Offset of field: transcribe_run_params::pnc"]
407        [::std::mem::offset_of!(transcribe_run_params, pnc) - 16usize];
408    ["Offset of field: transcribe_run_params::itn"]
409        [::std::mem::offset_of!(transcribe_run_params, itn) - 20usize];
410    ["Offset of field: transcribe_run_params::diarize"]
411        [::std::mem::offset_of!(transcribe_run_params, diarize) - 24usize];
412    ["Offset of field: transcribe_run_params::language"]
413        [::std::mem::offset_of!(transcribe_run_params, language) - 32usize];
414    ["Offset of field: transcribe_run_params::target_language"]
415        [::std::mem::offset_of!(transcribe_run_params, target_language) - 40usize];
416    ["Offset of field: transcribe_run_params::keep_special_tags"]
417        [::std::mem::offset_of!(transcribe_run_params, keep_special_tags) - 48usize];
418    ["Offset of field: transcribe_run_params::family"]
419        [::std::mem::offset_of!(transcribe_run_params, family) - 56usize];
420    ["Offset of field: transcribe_run_params::spec_k_drafts"]
421        [::std::mem::offset_of!(transcribe_run_params, spec_k_drafts) - 64usize];
422    ["Offset of field: transcribe_run_params::vocabulary"]
423        [::std::mem::offset_of!(transcribe_run_params, vocabulary) - 72usize];
424    ["Offset of field: transcribe_run_params::n_vocabulary"]
425        [::std::mem::offset_of!(transcribe_run_params, n_vocabulary) - 80usize];
426    ["Offset of field: transcribe_run_params::prompt"]
427        [::std::mem::offset_of!(transcribe_run_params, prompt) - 88usize];
428    ["Offset of field: transcribe_run_params::prefix"]
429        [::std::mem::offset_of!(transcribe_run_params, prefix) - 96usize];
430};
431unsafe extern "C" {
432    pub fn transcribe_run_params_init(params: *mut transcribe_run_params);
433}
434#[repr(C)]
435#[derive(Debug, Copy, Clone)]
436pub struct transcribe_capabilities {
437    pub struct_size: u64,
438    pub native_sample_rate: i32,
439    pub n_languages: ::std::os::raw::c_int,
440    pub languages: *const *const ::std::os::raw::c_char,
441    pub max_timestamp_kind: transcribe_timestamp_kind,
442    pub supports_language_detect: bool,
443    pub supports_translate: bool,
444    pub supports_streaming: bool,
445    pub supports_spec_decode: bool,
446    pub max_audio_ms: i64,
447    pub n_translate_target_languages: ::std::os::raw::c_int,
448    pub translate_target_languages: *const *const ::std::os::raw::c_char,
449}
450#[allow(clippy::unnecessary_operation, clippy::identity_op)]
451const _: () = {
452    ["Size of transcribe_capabilities"][::std::mem::size_of::<transcribe_capabilities>() - 56usize];
453    ["Alignment of transcribe_capabilities"]
454        [::std::mem::align_of::<transcribe_capabilities>() - 8usize];
455    ["Offset of field: transcribe_capabilities::struct_size"]
456        [::std::mem::offset_of!(transcribe_capabilities, struct_size) - 0usize];
457    ["Offset of field: transcribe_capabilities::native_sample_rate"]
458        [::std::mem::offset_of!(transcribe_capabilities, native_sample_rate) - 8usize];
459    ["Offset of field: transcribe_capabilities::n_languages"]
460        [::std::mem::offset_of!(transcribe_capabilities, n_languages) - 12usize];
461    ["Offset of field: transcribe_capabilities::languages"]
462        [::std::mem::offset_of!(transcribe_capabilities, languages) - 16usize];
463    ["Offset of field: transcribe_capabilities::max_timestamp_kind"]
464        [::std::mem::offset_of!(transcribe_capabilities, max_timestamp_kind) - 24usize];
465    ["Offset of field: transcribe_capabilities::supports_language_detect"]
466        [::std::mem::offset_of!(transcribe_capabilities, supports_language_detect) - 28usize];
467    ["Offset of field: transcribe_capabilities::supports_translate"]
468        [::std::mem::offset_of!(transcribe_capabilities, supports_translate) - 29usize];
469    ["Offset of field: transcribe_capabilities::supports_streaming"]
470        [::std::mem::offset_of!(transcribe_capabilities, supports_streaming) - 30usize];
471    ["Offset of field: transcribe_capabilities::supports_spec_decode"]
472        [::std::mem::offset_of!(transcribe_capabilities, supports_spec_decode) - 31usize];
473    ["Offset of field: transcribe_capabilities::max_audio_ms"]
474        [::std::mem::offset_of!(transcribe_capabilities, max_audio_ms) - 32usize];
475    ["Offset of field: transcribe_capabilities::n_translate_target_languages"]
476        [::std::mem::offset_of!(transcribe_capabilities, n_translate_target_languages) - 40usize];
477    ["Offset of field: transcribe_capabilities::translate_target_languages"]
478        [::std::mem::offset_of!(transcribe_capabilities, translate_target_languages) - 48usize];
479};
480unsafe extern "C" {
481    pub fn transcribe_capabilities_init(out: *mut transcribe_capabilities);
482}
483unsafe extern "C" {
484    pub fn transcribe_model_get_capabilities(
485        model: *const transcribe_model,
486        out_caps: *mut transcribe_capabilities,
487    ) -> transcribe_status;
488}
489impl transcribe_feature {
490    pub const TRANSCRIBE_FEATURE_INITIAL_PROMPT: transcribe_feature = transcribe_feature(0);
491    pub const TRANSCRIBE_FEATURE_TEMPERATURE_FALLBACK: transcribe_feature = transcribe_feature(1);
492    pub const TRANSCRIBE_FEATURE_LONG_FORM: transcribe_feature = transcribe_feature(2);
493    pub const TRANSCRIBE_FEATURE_CANCELLATION: transcribe_feature = transcribe_feature(3);
494    pub const TRANSCRIBE_FEATURE_PNC: transcribe_feature = transcribe_feature(4);
495    pub const TRANSCRIBE_FEATURE_ITN: transcribe_feature = transcribe_feature(5);
496    pub const TRANSCRIBE_FEATURE_DIARIZATION: transcribe_feature = transcribe_feature(6);
497    pub const TRANSCRIBE_FEATURE_VOCABULARY: transcribe_feature = transcribe_feature(7);
498    pub const TRANSCRIBE_FEATURE_CONTEXT_PROMPT: transcribe_feature = transcribe_feature(8);
499    pub const TRANSCRIBE_FEATURE_INSTRUCT: transcribe_feature = transcribe_feature(9);
500    pub const TRANSCRIBE_FEATURE_TRANSCRIPT_PREFIX: transcribe_feature = transcribe_feature(10);
501}
502#[repr(transparent)]
503#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
504pub struct transcribe_feature(pub ::std::os::raw::c_uint);
505unsafe extern "C" {
506    pub fn transcribe_model_supports(
507        model: *const transcribe_model,
508        feature: transcribe_feature,
509    ) -> bool;
510}
511unsafe extern "C" {
512    pub fn transcribe_model_arch_string(
513        model: *const transcribe_model,
514    ) -> *const ::std::os::raw::c_char;
515}
516unsafe extern "C" {
517    pub fn transcribe_model_variant_string(
518        model: *const transcribe_model,
519    ) -> *const ::std::os::raw::c_char;
520}
521unsafe extern "C" {
522    pub fn transcribe_model_backend(
523        model: *const transcribe_model,
524    ) -> *const ::std::os::raw::c_char;
525}
526unsafe extern "C" {
527    pub fn transcribe_model_meta_val_str(
528        model: *const transcribe_model,
529        key: *const ::std::os::raw::c_char,
530    ) -> *const ::std::os::raw::c_char;
531}
532unsafe extern "C" {
533    pub fn transcribe_model_load_file(
534        path: *const ::std::os::raw::c_char,
535        params: *const transcribe_model_load_params,
536        out_model: *mut *mut transcribe_model,
537    ) -> transcribe_status;
538}
539unsafe extern "C" {
540    pub fn transcribe_model_free(model: *mut transcribe_model);
541}
542unsafe extern "C" {
543    pub fn transcribe_session_init(
544        model: *mut transcribe_model,
545        params: *const transcribe_session_params,
546        out_session: *mut *mut transcribe_session,
547    ) -> transcribe_status;
548}
549unsafe extern "C" {
550    pub fn transcribe_session_free(session: *mut transcribe_session);
551}
552unsafe extern "C" {
553    pub fn transcribe_open(
554        path: *const ::std::os::raw::c_char,
555        load_params: *const transcribe_model_load_params,
556        session_params: *const transcribe_session_params,
557        out_session: *mut *mut transcribe_session,
558    ) -> transcribe_status;
559}
560unsafe extern "C" {
561    pub fn transcribe_close(session: *mut transcribe_session);
562}
563unsafe extern "C" {
564    pub fn transcribe_get_model(session: *const transcribe_session) -> *const transcribe_model;
565}
566unsafe extern "C" {
567    pub fn transcribe_run(
568        session: *mut transcribe_session,
569        pcm: *const f32,
570        n_samples: ::std::os::raw::c_int,
571        params: *const transcribe_run_params,
572    ) -> transcribe_status;
573}
574unsafe extern "C" {
575    pub fn transcribe_run_batch(
576        session: *mut transcribe_session,
577        pcm: *const *const f32,
578        n_samples: *const ::std::os::raw::c_int,
579        n: ::std::os::raw::c_int,
580        params: *const transcribe_run_params,
581    ) -> transcribe_status;
582}
583pub type transcribe_abort_callback =
584    ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void) -> bool>;
585unsafe extern "C" {
586    pub fn transcribe_set_abort_callback(
587        session: *mut transcribe_session,
588        cb: transcribe_abort_callback,
589        user_data: *mut ::std::os::raw::c_void,
590    );
591}
592unsafe extern "C" {
593    pub fn transcribe_was_aborted(session: *const transcribe_session) -> bool;
594}
595unsafe extern "C" {
596    pub fn transcribe_was_truncated(session: *const transcribe_session) -> bool;
597}
598#[repr(C)]
599#[derive(Debug, Copy, Clone)]
600pub struct transcribe_session_limits {
601    pub struct_size: u64,
602    pub effective_n_ctx: i32,
603    pub effective_max_audio_ms: i64,
604    pub max_kv_bytes: i64,
605}
606#[allow(clippy::unnecessary_operation, clippy::identity_op)]
607const _: () = {
608    ["Size of transcribe_session_limits"]
609        [::std::mem::size_of::<transcribe_session_limits>() - 32usize];
610    ["Alignment of transcribe_session_limits"]
611        [::std::mem::align_of::<transcribe_session_limits>() - 8usize];
612    ["Offset of field: transcribe_session_limits::struct_size"]
613        [::std::mem::offset_of!(transcribe_session_limits, struct_size) - 0usize];
614    ["Offset of field: transcribe_session_limits::effective_n_ctx"]
615        [::std::mem::offset_of!(transcribe_session_limits, effective_n_ctx) - 8usize];
616    ["Offset of field: transcribe_session_limits::effective_max_audio_ms"]
617        [::std::mem::offset_of!(transcribe_session_limits, effective_max_audio_ms) - 16usize];
618    ["Offset of field: transcribe_session_limits::max_kv_bytes"]
619        [::std::mem::offset_of!(transcribe_session_limits, max_kv_bytes) - 24usize];
620};
621unsafe extern "C" {
622    pub fn transcribe_session_limits_init(out: *mut transcribe_session_limits);
623}
624unsafe extern "C" {
625    pub fn transcribe_session_get_limits(
626        session: *const transcribe_session,
627        out: *mut transcribe_session_limits,
628    ) -> transcribe_status;
629}
630impl transcribe_stream_state {
631    pub const TRANSCRIBE_STREAM_IDLE: transcribe_stream_state = transcribe_stream_state(0);
632    pub const TRANSCRIBE_STREAM_ACTIVE: transcribe_stream_state = transcribe_stream_state(1);
633    pub const TRANSCRIBE_STREAM_FINISHED: transcribe_stream_state = transcribe_stream_state(2);
634    pub const TRANSCRIBE_STREAM_FAILED: transcribe_stream_state = transcribe_stream_state(3);
635}
636#[repr(transparent)]
637#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
638pub struct transcribe_stream_state(pub ::std::os::raw::c_uint);
639impl transcribe_stream_commit_policy {
640    pub const TRANSCRIBE_STREAM_COMMIT_AUTO: transcribe_stream_commit_policy =
641        transcribe_stream_commit_policy(0);
642    pub const TRANSCRIBE_STREAM_COMMIT_ON_FINALIZE: transcribe_stream_commit_policy =
643        transcribe_stream_commit_policy(1);
644    pub const TRANSCRIBE_STREAM_COMMIT_STABLE_PREFIX: transcribe_stream_commit_policy =
645        transcribe_stream_commit_policy(2);
646}
647#[repr(transparent)]
648#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
649pub struct transcribe_stream_commit_policy(pub ::std::os::raw::c_uint);
650#[repr(C)]
651#[derive(Debug, Copy, Clone)]
652pub struct transcribe_stream_params {
653    pub struct_size: u64,
654    pub family: *const transcribe_ext,
655    pub commit_policy: transcribe_stream_commit_policy,
656    pub stable_prefix_agreement_n: u32,
657}
658#[allow(clippy::unnecessary_operation, clippy::identity_op)]
659const _: () = {
660    ["Size of transcribe_stream_params"]
661        [::std::mem::size_of::<transcribe_stream_params>() - 24usize];
662    ["Alignment of transcribe_stream_params"]
663        [::std::mem::align_of::<transcribe_stream_params>() - 8usize];
664    ["Offset of field: transcribe_stream_params::struct_size"]
665        [::std::mem::offset_of!(transcribe_stream_params, struct_size) - 0usize];
666    ["Offset of field: transcribe_stream_params::family"]
667        [::std::mem::offset_of!(transcribe_stream_params, family) - 8usize];
668    ["Offset of field: transcribe_stream_params::commit_policy"]
669        [::std::mem::offset_of!(transcribe_stream_params, commit_policy) - 16usize];
670    ["Offset of field: transcribe_stream_params::stable_prefix_agreement_n"]
671        [::std::mem::offset_of!(transcribe_stream_params, stable_prefix_agreement_n) - 20usize];
672};
673unsafe extern "C" {
674    pub fn transcribe_stream_params_init(params: *mut transcribe_stream_params);
675}
676#[repr(C)]
677#[derive(Debug, Copy, Clone)]
678pub struct transcribe_stream_update {
679    pub struct_size: u64,
680    pub result_changed: bool,
681    pub is_final: bool,
682    pub revision: i32,
683    pub input_received_ms: i64,
684    pub audio_committed_ms: i64,
685    pub buffered_ms: i64,
686    pub committed_changed: bool,
687    pub tentative_changed: bool,
688}
689#[allow(clippy::unnecessary_operation, clippy::identity_op)]
690const _: () = {
691    ["Size of transcribe_stream_update"]
692        [::std::mem::size_of::<transcribe_stream_update>() - 48usize];
693    ["Alignment of transcribe_stream_update"]
694        [::std::mem::align_of::<transcribe_stream_update>() - 8usize];
695    ["Offset of field: transcribe_stream_update::struct_size"]
696        [::std::mem::offset_of!(transcribe_stream_update, struct_size) - 0usize];
697    ["Offset of field: transcribe_stream_update::result_changed"]
698        [::std::mem::offset_of!(transcribe_stream_update, result_changed) - 8usize];
699    ["Offset of field: transcribe_stream_update::is_final"]
700        [::std::mem::offset_of!(transcribe_stream_update, is_final) - 9usize];
701    ["Offset of field: transcribe_stream_update::revision"]
702        [::std::mem::offset_of!(transcribe_stream_update, revision) - 12usize];
703    ["Offset of field: transcribe_stream_update::input_received_ms"]
704        [::std::mem::offset_of!(transcribe_stream_update, input_received_ms) - 16usize];
705    ["Offset of field: transcribe_stream_update::audio_committed_ms"]
706        [::std::mem::offset_of!(transcribe_stream_update, audio_committed_ms) - 24usize];
707    ["Offset of field: transcribe_stream_update::buffered_ms"]
708        [::std::mem::offset_of!(transcribe_stream_update, buffered_ms) - 32usize];
709    ["Offset of field: transcribe_stream_update::committed_changed"]
710        [::std::mem::offset_of!(transcribe_stream_update, committed_changed) - 40usize];
711    ["Offset of field: transcribe_stream_update::tentative_changed"]
712        [::std::mem::offset_of!(transcribe_stream_update, tentative_changed) - 41usize];
713};
714unsafe extern "C" {
715    pub fn transcribe_stream_update_init(out: *mut transcribe_stream_update);
716}
717#[repr(C)]
718#[derive(Debug, Copy, Clone)]
719pub struct transcribe_stream_text {
720    pub struct_size: u64,
721    pub full_text: *const ::std::os::raw::c_char,
722    pub full_text_bytes: u64,
723    pub committed_text: *const ::std::os::raw::c_char,
724    pub committed_text_bytes: u64,
725    pub tentative_text: *const ::std::os::raw::c_char,
726    pub tentative_text_bytes: u64,
727    pub raw_tentative_start_bytes: u64,
728}
729#[allow(clippy::unnecessary_operation, clippy::identity_op)]
730const _: () = {
731    ["Size of transcribe_stream_text"][::std::mem::size_of::<transcribe_stream_text>() - 64usize];
732    ["Alignment of transcribe_stream_text"]
733        [::std::mem::align_of::<transcribe_stream_text>() - 8usize];
734    ["Offset of field: transcribe_stream_text::struct_size"]
735        [::std::mem::offset_of!(transcribe_stream_text, struct_size) - 0usize];
736    ["Offset of field: transcribe_stream_text::full_text"]
737        [::std::mem::offset_of!(transcribe_stream_text, full_text) - 8usize];
738    ["Offset of field: transcribe_stream_text::full_text_bytes"]
739        [::std::mem::offset_of!(transcribe_stream_text, full_text_bytes) - 16usize];
740    ["Offset of field: transcribe_stream_text::committed_text"]
741        [::std::mem::offset_of!(transcribe_stream_text, committed_text) - 24usize];
742    ["Offset of field: transcribe_stream_text::committed_text_bytes"]
743        [::std::mem::offset_of!(transcribe_stream_text, committed_text_bytes) - 32usize];
744    ["Offset of field: transcribe_stream_text::tentative_text"]
745        [::std::mem::offset_of!(transcribe_stream_text, tentative_text) - 40usize];
746    ["Offset of field: transcribe_stream_text::tentative_text_bytes"]
747        [::std::mem::offset_of!(transcribe_stream_text, tentative_text_bytes) - 48usize];
748    ["Offset of field: transcribe_stream_text::raw_tentative_start_bytes"]
749        [::std::mem::offset_of!(transcribe_stream_text, raw_tentative_start_bytes) - 56usize];
750};
751unsafe extern "C" {
752    pub fn transcribe_stream_text_init(out: *mut transcribe_stream_text);
753}
754unsafe extern "C" {
755    pub fn transcribe_stream_get_text(
756        session: *const transcribe_session,
757        out: *mut transcribe_stream_text,
758    ) -> transcribe_status;
759}
760unsafe extern "C" {
761    pub fn transcribe_stream_begin(
762        session: *mut transcribe_session,
763        run_params: *const transcribe_run_params,
764        stream_params: *const transcribe_stream_params,
765    ) -> transcribe_status;
766}
767unsafe extern "C" {
768    pub fn transcribe_stream_feed(
769        session: *mut transcribe_session,
770        pcm: *const f32,
771        n_samples: ::std::os::raw::c_int,
772        update: *mut transcribe_stream_update,
773    ) -> transcribe_status;
774}
775unsafe extern "C" {
776    pub fn transcribe_stream_finalize(
777        session: *mut transcribe_session,
778        update: *mut transcribe_stream_update,
779    ) -> transcribe_status;
780}
781unsafe extern "C" {
782    pub fn transcribe_stream_reset(session: *mut transcribe_session);
783}
784unsafe extern "C" {
785    pub fn transcribe_stream_get_state(
786        session: *const transcribe_session,
787    ) -> transcribe_stream_state;
788}
789unsafe extern "C" {
790    pub fn transcribe_stream_revision(session: *const transcribe_session) -> ::std::os::raw::c_int;
791}
792unsafe extern "C" {
793    pub fn transcribe_stream_n_committed_segments(
794        session: *const transcribe_session,
795    ) -> ::std::os::raw::c_int;
796}
797unsafe extern "C" {
798    pub fn transcribe_stream_n_committed_words(
799        session: *const transcribe_session,
800    ) -> ::std::os::raw::c_int;
801}
802unsafe extern "C" {
803    pub fn transcribe_stream_n_committed_tokens(
804        session: *const transcribe_session,
805    ) -> ::std::os::raw::c_int;
806}
807unsafe extern "C" {
808    pub fn transcribe_stream_last_status(session: *const transcribe_session) -> transcribe_status;
809}
810unsafe extern "C" {
811    pub fn transcribe_tokenize(
812        model: *const transcribe_model,
813        text: *const ::std::os::raw::c_char,
814        tokens: *mut i32,
815        n_max: usize,
816    ) -> ::std::os::raw::c_int;
817}
818#[repr(C)]
819#[derive(Debug, Copy, Clone)]
820pub struct transcribe_timings {
821    pub struct_size: u64,
822    pub load_ms: f32,
823    pub mel_ms: f32,
824    pub encode_ms: f32,
825    pub decode_ms: f32,
826}
827#[allow(clippy::unnecessary_operation, clippy::identity_op)]
828const _: () = {
829    ["Size of transcribe_timings"][::std::mem::size_of::<transcribe_timings>() - 24usize];
830    ["Alignment of transcribe_timings"][::std::mem::align_of::<transcribe_timings>() - 8usize];
831    ["Offset of field: transcribe_timings::struct_size"]
832        [::std::mem::offset_of!(transcribe_timings, struct_size) - 0usize];
833    ["Offset of field: transcribe_timings::load_ms"]
834        [::std::mem::offset_of!(transcribe_timings, load_ms) - 8usize];
835    ["Offset of field: transcribe_timings::mel_ms"]
836        [::std::mem::offset_of!(transcribe_timings, mel_ms) - 12usize];
837    ["Offset of field: transcribe_timings::encode_ms"]
838        [::std::mem::offset_of!(transcribe_timings, encode_ms) - 16usize];
839    ["Offset of field: transcribe_timings::decode_ms"]
840        [::std::mem::offset_of!(transcribe_timings, decode_ms) - 20usize];
841};
842unsafe extern "C" {
843    pub fn transcribe_timings_init(out: *mut transcribe_timings);
844}
845unsafe extern "C" {
846    pub fn transcribe_get_timings(
847        session: *const transcribe_session,
848        out_timings: *mut transcribe_timings,
849    ) -> transcribe_status;
850}
851unsafe extern "C" {
852    pub fn transcribe_print_timings(session: *const transcribe_session);
853}
854unsafe extern "C" {
855    pub fn transcribe_reset_timings(session: *mut transcribe_session);
856}
857unsafe extern "C" {
858    pub fn transcribe_full_text(
859        session: *const transcribe_session,
860    ) -> *const ::std::os::raw::c_char;
861}
862unsafe extern "C" {
863    pub fn transcribe_raw_text(session: *const transcribe_session)
864        -> *const ::std::os::raw::c_char;
865}
866unsafe extern "C" {
867    pub fn transcribe_returned_timestamp_kind(
868        session: *const transcribe_session,
869    ) -> transcribe_timestamp_kind;
870}
871unsafe extern "C" {
872    pub fn transcribe_n_segments(session: *const transcribe_session) -> ::std::os::raw::c_int;
873}
874unsafe extern "C" {
875    pub fn transcribe_n_words(session: *const transcribe_session) -> ::std::os::raw::c_int;
876}
877unsafe extern "C" {
878    pub fn transcribe_n_tokens(session: *const transcribe_session) -> ::std::os::raw::c_int;
879}
880unsafe extern "C" {
881    pub fn transcribe_detected_language(
882        session: *const transcribe_session,
883    ) -> *const ::std::os::raw::c_char;
884}
885#[repr(C)]
886#[derive(Debug, Copy, Clone)]
887pub struct transcribe_segment {
888    pub struct_size: u64,
889    pub t0_ms: i64,
890    pub t1_ms: i64,
891    pub first_word: ::std::os::raw::c_int,
892    pub n_words: ::std::os::raw::c_int,
893    pub first_token: ::std::os::raw::c_int,
894    pub n_tokens: ::std::os::raw::c_int,
895    pub text: *const ::std::os::raw::c_char,
896    pub speaker_id: i32,
897}
898#[allow(clippy::unnecessary_operation, clippy::identity_op)]
899const _: () = {
900    ["Size of transcribe_segment"][::std::mem::size_of::<transcribe_segment>() - 56usize];
901    ["Alignment of transcribe_segment"][::std::mem::align_of::<transcribe_segment>() - 8usize];
902    ["Offset of field: transcribe_segment::struct_size"]
903        [::std::mem::offset_of!(transcribe_segment, struct_size) - 0usize];
904    ["Offset of field: transcribe_segment::t0_ms"]
905        [::std::mem::offset_of!(transcribe_segment, t0_ms) - 8usize];
906    ["Offset of field: transcribe_segment::t1_ms"]
907        [::std::mem::offset_of!(transcribe_segment, t1_ms) - 16usize];
908    ["Offset of field: transcribe_segment::first_word"]
909        [::std::mem::offset_of!(transcribe_segment, first_word) - 24usize];
910    ["Offset of field: transcribe_segment::n_words"]
911        [::std::mem::offset_of!(transcribe_segment, n_words) - 28usize];
912    ["Offset of field: transcribe_segment::first_token"]
913        [::std::mem::offset_of!(transcribe_segment, first_token) - 32usize];
914    ["Offset of field: transcribe_segment::n_tokens"]
915        [::std::mem::offset_of!(transcribe_segment, n_tokens) - 36usize];
916    ["Offset of field: transcribe_segment::text"]
917        [::std::mem::offset_of!(transcribe_segment, text) - 40usize];
918    ["Offset of field: transcribe_segment::speaker_id"]
919        [::std::mem::offset_of!(transcribe_segment, speaker_id) - 48usize];
920};
921unsafe extern "C" {
922    pub fn transcribe_segment_init(out: *mut transcribe_segment);
923}
924#[repr(C)]
925#[derive(Debug, Copy, Clone)]
926pub struct transcribe_word {
927    pub struct_size: u64,
928    pub t0_ms: i64,
929    pub t1_ms: i64,
930    pub seg_index: ::std::os::raw::c_int,
931    pub first_token: ::std::os::raw::c_int,
932    pub n_tokens: ::std::os::raw::c_int,
933    pub text: *const ::std::os::raw::c_char,
934}
935#[allow(clippy::unnecessary_operation, clippy::identity_op)]
936const _: () = {
937    ["Size of transcribe_word"][::std::mem::size_of::<transcribe_word>() - 48usize];
938    ["Alignment of transcribe_word"][::std::mem::align_of::<transcribe_word>() - 8usize];
939    ["Offset of field: transcribe_word::struct_size"]
940        [::std::mem::offset_of!(transcribe_word, struct_size) - 0usize];
941    ["Offset of field: transcribe_word::t0_ms"]
942        [::std::mem::offset_of!(transcribe_word, t0_ms) - 8usize];
943    ["Offset of field: transcribe_word::t1_ms"]
944        [::std::mem::offset_of!(transcribe_word, t1_ms) - 16usize];
945    ["Offset of field: transcribe_word::seg_index"]
946        [::std::mem::offset_of!(transcribe_word, seg_index) - 24usize];
947    ["Offset of field: transcribe_word::first_token"]
948        [::std::mem::offset_of!(transcribe_word, first_token) - 28usize];
949    ["Offset of field: transcribe_word::n_tokens"]
950        [::std::mem::offset_of!(transcribe_word, n_tokens) - 32usize];
951    ["Offset of field: transcribe_word::text"]
952        [::std::mem::offset_of!(transcribe_word, text) - 40usize];
953};
954unsafe extern "C" {
955    pub fn transcribe_word_init(out: *mut transcribe_word);
956}
957#[repr(C)]
958#[derive(Debug, Copy, Clone)]
959pub struct transcribe_token {
960    pub struct_size: u64,
961    pub id: ::std::os::raw::c_int,
962    pub p: f32,
963    pub t0_ms: i64,
964    pub t1_ms: i64,
965    pub seg_index: ::std::os::raw::c_int,
966    pub word_index: ::std::os::raw::c_int,
967    pub text: *const ::std::os::raw::c_char,
968}
969#[allow(clippy::unnecessary_operation, clippy::identity_op)]
970const _: () = {
971    ["Size of transcribe_token"][::std::mem::size_of::<transcribe_token>() - 48usize];
972    ["Alignment of transcribe_token"][::std::mem::align_of::<transcribe_token>() - 8usize];
973    ["Offset of field: transcribe_token::struct_size"]
974        [::std::mem::offset_of!(transcribe_token, struct_size) - 0usize];
975    ["Offset of field: transcribe_token::id"]
976        [::std::mem::offset_of!(transcribe_token, id) - 8usize];
977    ["Offset of field: transcribe_token::p"][::std::mem::offset_of!(transcribe_token, p) - 12usize];
978    ["Offset of field: transcribe_token::t0_ms"]
979        [::std::mem::offset_of!(transcribe_token, t0_ms) - 16usize];
980    ["Offset of field: transcribe_token::t1_ms"]
981        [::std::mem::offset_of!(transcribe_token, t1_ms) - 24usize];
982    ["Offset of field: transcribe_token::seg_index"]
983        [::std::mem::offset_of!(transcribe_token, seg_index) - 32usize];
984    ["Offset of field: transcribe_token::word_index"]
985        [::std::mem::offset_of!(transcribe_token, word_index) - 36usize];
986    ["Offset of field: transcribe_token::text"]
987        [::std::mem::offset_of!(transcribe_token, text) - 40usize];
988};
989unsafe extern "C" {
990    pub fn transcribe_token_init(out: *mut transcribe_token);
991}
992unsafe extern "C" {
993    pub fn transcribe_get_segment(
994        session: *const transcribe_session,
995        i: ::std::os::raw::c_int,
996        out: *mut transcribe_segment,
997    ) -> transcribe_status;
998}
999unsafe extern "C" {
1000    pub fn transcribe_get_word(
1001        session: *const transcribe_session,
1002        i: ::std::os::raw::c_int,
1003        out: *mut transcribe_word,
1004    ) -> transcribe_status;
1005}
1006unsafe extern "C" {
1007    pub fn transcribe_get_token(
1008        session: *const transcribe_session,
1009        i: ::std::os::raw::c_int,
1010        out: *mut transcribe_token,
1011    ) -> transcribe_status;
1012}
1013#[repr(C)]
1014#[derive(Debug, Copy, Clone)]
1015pub struct transcribe_speaker_segment {
1016    pub struct_size: u64,
1017    pub t0_ms: i64,
1018    pub t1_ms: i64,
1019    pub speaker_id: i32,
1020    pub p: f32,
1021}
1022#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1023const _: () = {
1024    ["Size of transcribe_speaker_segment"]
1025        [::std::mem::size_of::<transcribe_speaker_segment>() - 32usize];
1026    ["Alignment of transcribe_speaker_segment"]
1027        [::std::mem::align_of::<transcribe_speaker_segment>() - 8usize];
1028    ["Offset of field: transcribe_speaker_segment::struct_size"]
1029        [::std::mem::offset_of!(transcribe_speaker_segment, struct_size) - 0usize];
1030    ["Offset of field: transcribe_speaker_segment::t0_ms"]
1031        [::std::mem::offset_of!(transcribe_speaker_segment, t0_ms) - 8usize];
1032    ["Offset of field: transcribe_speaker_segment::t1_ms"]
1033        [::std::mem::offset_of!(transcribe_speaker_segment, t1_ms) - 16usize];
1034    ["Offset of field: transcribe_speaker_segment::speaker_id"]
1035        [::std::mem::offset_of!(transcribe_speaker_segment, speaker_id) - 24usize];
1036    ["Offset of field: transcribe_speaker_segment::p"]
1037        [::std::mem::offset_of!(transcribe_speaker_segment, p) - 28usize];
1038};
1039unsafe extern "C" {
1040    pub fn transcribe_speaker_segment_init(out: *mut transcribe_speaker_segment);
1041}
1042unsafe extern "C" {
1043    pub fn transcribe_n_speaker_segments(
1044        session: *const transcribe_session,
1045    ) -> ::std::os::raw::c_int;
1046}
1047unsafe extern "C" {
1048    pub fn transcribe_get_speaker_segment(
1049        session: *const transcribe_session,
1050        i: ::std::os::raw::c_int,
1051        out: *mut transcribe_speaker_segment,
1052    ) -> transcribe_status;
1053}
1054unsafe extern "C" {
1055    pub fn transcribe_batch_n_results(session: *const transcribe_session) -> ::std::os::raw::c_int;
1056}
1057unsafe extern "C" {
1058    pub fn transcribe_batch_status(
1059        session: *const transcribe_session,
1060        i: ::std::os::raw::c_int,
1061    ) -> transcribe_status;
1062}
1063unsafe extern "C" {
1064    pub fn transcribe_batch_full_text(
1065        session: *const transcribe_session,
1066        i: ::std::os::raw::c_int,
1067    ) -> *const ::std::os::raw::c_char;
1068}
1069unsafe extern "C" {
1070    pub fn transcribe_batch_raw_text(
1071        session: *const transcribe_session,
1072        i: ::std::os::raw::c_int,
1073    ) -> *const ::std::os::raw::c_char;
1074}
1075unsafe extern "C" {
1076    pub fn transcribe_batch_returned_timestamp_kind(
1077        session: *const transcribe_session,
1078        i: ::std::os::raw::c_int,
1079    ) -> transcribe_timestamp_kind;
1080}
1081unsafe extern "C" {
1082    pub fn transcribe_batch_detected_language(
1083        session: *const transcribe_session,
1084        i: ::std::os::raw::c_int,
1085    ) -> *const ::std::os::raw::c_char;
1086}
1087unsafe extern "C" {
1088    pub fn transcribe_batch_n_segments(
1089        session: *const transcribe_session,
1090        i: ::std::os::raw::c_int,
1091    ) -> ::std::os::raw::c_int;
1092}
1093unsafe extern "C" {
1094    pub fn transcribe_batch_n_words(
1095        session: *const transcribe_session,
1096        i: ::std::os::raw::c_int,
1097    ) -> ::std::os::raw::c_int;
1098}
1099unsafe extern "C" {
1100    pub fn transcribe_batch_n_tokens(
1101        session: *const transcribe_session,
1102        i: ::std::os::raw::c_int,
1103    ) -> ::std::os::raw::c_int;
1104}
1105unsafe extern "C" {
1106    pub fn transcribe_batch_get_segment(
1107        session: *const transcribe_session,
1108        i: ::std::os::raw::c_int,
1109        j: ::std::os::raw::c_int,
1110        out: *mut transcribe_segment,
1111    ) -> transcribe_status;
1112}
1113unsafe extern "C" {
1114    pub fn transcribe_batch_get_word(
1115        session: *const transcribe_session,
1116        i: ::std::os::raw::c_int,
1117        j: ::std::os::raw::c_int,
1118        out: *mut transcribe_word,
1119    ) -> transcribe_status;
1120}
1121unsafe extern "C" {
1122    pub fn transcribe_batch_get_token(
1123        session: *const transcribe_session,
1124        i: ::std::os::raw::c_int,
1125        j: ::std::os::raw::c_int,
1126        out: *mut transcribe_token,
1127    ) -> transcribe_status;
1128}
1129unsafe extern "C" {
1130    pub fn transcribe_batch_n_speaker_segments(
1131        session: *const transcribe_session,
1132        i: ::std::os::raw::c_int,
1133    ) -> ::std::os::raw::c_int;
1134}
1135unsafe extern "C" {
1136    pub fn transcribe_batch_get_speaker_segment(
1137        session: *const transcribe_session,
1138        i: ::std::os::raw::c_int,
1139        j: ::std::os::raw::c_int,
1140        out: *mut transcribe_speaker_segment,
1141    ) -> transcribe_status;
1142}
1143unsafe extern "C" {
1144    pub fn transcribe_batch_get_timings(
1145        session: *const transcribe_session,
1146        i: ::std::os::raw::c_int,
1147        out: *mut transcribe_timings,
1148    ) -> transcribe_status;
1149}
1150#[repr(C)]
1151#[derive(Debug, Copy, Clone)]
1152pub struct transcribe_moonshine_streaming_stream_ext {
1153    pub ext: transcribe_ext,
1154    pub min_decode_interval_ms: i32,
1155}
1156#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1157const _: () = {
1158    ["Size of transcribe_moonshine_streaming_stream_ext"]
1159        [::std::mem::size_of::<transcribe_moonshine_streaming_stream_ext>() - 24usize];
1160    ["Alignment of transcribe_moonshine_streaming_stream_ext"]
1161        [::std::mem::align_of::<transcribe_moonshine_streaming_stream_ext>() - 8usize];
1162    ["Offset of field: transcribe_moonshine_streaming_stream_ext::ext"]
1163        [::std::mem::offset_of!(transcribe_moonshine_streaming_stream_ext, ext) - 0usize];
1164    ["Offset of field: transcribe_moonshine_streaming_stream_ext::min_decode_interval_ms"][::std::mem::offset_of!(
1165        transcribe_moonshine_streaming_stream_ext,
1166        min_decode_interval_ms
1167    )
1168        - 16usize];
1169};
1170unsafe extern "C" {
1171    pub fn transcribe_moonshine_streaming_stream_ext_init(
1172        ext: *mut transcribe_moonshine_streaming_stream_ext,
1173    );
1174}
1175#[repr(C)]
1176#[derive(Debug, Copy, Clone)]
1177pub struct transcribe_parakeet_stream_ext {
1178    pub ext: transcribe_ext,
1179    pub att_context_right: i32,
1180}
1181#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1182const _: () = {
1183    ["Size of transcribe_parakeet_stream_ext"]
1184        [::std::mem::size_of::<transcribe_parakeet_stream_ext>() - 24usize];
1185    ["Alignment of transcribe_parakeet_stream_ext"]
1186        [::std::mem::align_of::<transcribe_parakeet_stream_ext>() - 8usize];
1187    ["Offset of field: transcribe_parakeet_stream_ext::ext"]
1188        [::std::mem::offset_of!(transcribe_parakeet_stream_ext, ext) - 0usize];
1189    ["Offset of field: transcribe_parakeet_stream_ext::att_context_right"]
1190        [::std::mem::offset_of!(transcribe_parakeet_stream_ext, att_context_right) - 16usize];
1191};
1192unsafe extern "C" {
1193    pub fn transcribe_parakeet_stream_ext_init(ext: *mut transcribe_parakeet_stream_ext);
1194}
1195#[repr(C)]
1196#[derive(Debug, Copy, Clone)]
1197pub struct transcribe_parakeet_buffered_stream_ext {
1198    pub ext: transcribe_ext,
1199    pub left_ms: i32,
1200    pub chunk_ms: i32,
1201    pub right_ms: i32,
1202}
1203#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1204const _: () = {
1205    ["Size of transcribe_parakeet_buffered_stream_ext"]
1206        [::std::mem::size_of::<transcribe_parakeet_buffered_stream_ext>() - 32usize];
1207    ["Alignment of transcribe_parakeet_buffered_stream_ext"]
1208        [::std::mem::align_of::<transcribe_parakeet_buffered_stream_ext>() - 8usize];
1209    ["Offset of field: transcribe_parakeet_buffered_stream_ext::ext"]
1210        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, ext) - 0usize];
1211    ["Offset of field: transcribe_parakeet_buffered_stream_ext::left_ms"]
1212        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, left_ms) - 16usize];
1213    ["Offset of field: transcribe_parakeet_buffered_stream_ext::chunk_ms"]
1214        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, chunk_ms) - 20usize];
1215    ["Offset of field: transcribe_parakeet_buffered_stream_ext::right_ms"]
1216        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, right_ms) - 24usize];
1217};
1218unsafe extern "C" {
1219    pub fn transcribe_parakeet_buffered_stream_ext_init(
1220        ext: *mut transcribe_parakeet_buffered_stream_ext,
1221    );
1222}
1223impl transcribe_sortformer_preset {
1224    pub const TRANSCRIBE_SORTFORMER_PRESET_DEFAULT: transcribe_sortformer_preset =
1225        transcribe_sortformer_preset(0);
1226    pub const TRANSCRIBE_SORTFORMER_PRESET_VERY_HIGH_LATENCY: transcribe_sortformer_preset =
1227        transcribe_sortformer_preset(1);
1228    pub const TRANSCRIBE_SORTFORMER_PRESET_HIGH_LATENCY: transcribe_sortformer_preset =
1229        transcribe_sortformer_preset(2);
1230    pub const TRANSCRIBE_SORTFORMER_PRESET_LOW_LATENCY: transcribe_sortformer_preset =
1231        transcribe_sortformer_preset(3);
1232}
1233#[repr(transparent)]
1234#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1235pub struct transcribe_sortformer_preset(pub ::std::os::raw::c_uint);
1236#[repr(C)]
1237#[derive(Debug, Copy, Clone)]
1238pub struct transcribe_sortformer_stream_ext {
1239    pub ext: transcribe_ext,
1240    pub preset: transcribe_sortformer_preset,
1241}
1242#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1243const _: () = {
1244    ["Size of transcribe_sortformer_stream_ext"]
1245        [::std::mem::size_of::<transcribe_sortformer_stream_ext>() - 24usize];
1246    ["Alignment of transcribe_sortformer_stream_ext"]
1247        [::std::mem::align_of::<transcribe_sortformer_stream_ext>() - 8usize];
1248    ["Offset of field: transcribe_sortformer_stream_ext::ext"]
1249        [::std::mem::offset_of!(transcribe_sortformer_stream_ext, ext) - 0usize];
1250    ["Offset of field: transcribe_sortformer_stream_ext::preset"]
1251        [::std::mem::offset_of!(transcribe_sortformer_stream_ext, preset) - 16usize];
1252};
1253unsafe extern "C" {
1254    pub fn transcribe_sortformer_stream_ext_init(ext: *mut transcribe_sortformer_stream_ext);
1255}
1256#[repr(C)]
1257#[derive(Debug, Copy, Clone)]
1258pub struct transcribe_voxtral_realtime_stream_ext {
1259    pub ext: transcribe_ext,
1260    pub num_delay_tokens: i32,
1261    pub min_decode_interval_ms: i32,
1262}
1263#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1264const _: () = {
1265    ["Size of transcribe_voxtral_realtime_stream_ext"]
1266        [::std::mem::size_of::<transcribe_voxtral_realtime_stream_ext>() - 24usize];
1267    ["Alignment of transcribe_voxtral_realtime_stream_ext"]
1268        [::std::mem::align_of::<transcribe_voxtral_realtime_stream_ext>() - 8usize];
1269    ["Offset of field: transcribe_voxtral_realtime_stream_ext::ext"]
1270        [::std::mem::offset_of!(transcribe_voxtral_realtime_stream_ext, ext) - 0usize];
1271    ["Offset of field: transcribe_voxtral_realtime_stream_ext::num_delay_tokens"][::std::mem::offset_of!(
1272        transcribe_voxtral_realtime_stream_ext,
1273        num_delay_tokens
1274    ) - 16usize];
1275    ["Offset of field: transcribe_voxtral_realtime_stream_ext::min_decode_interval_ms"][::std::mem::offset_of!(
1276        transcribe_voxtral_realtime_stream_ext,
1277        min_decode_interval_ms
1278    )
1279        - 20usize];
1280};
1281unsafe extern "C" {
1282    pub fn transcribe_voxtral_realtime_stream_ext_init(
1283        ext: *mut transcribe_voxtral_realtime_stream_ext,
1284    );
1285}
1286impl transcribe_whisper_prompt_condition {
1287    pub const TRANSCRIBE_WHISPER_PROMPT_FIRST_SEGMENT: transcribe_whisper_prompt_condition =
1288        transcribe_whisper_prompt_condition(0);
1289    pub const TRANSCRIBE_WHISPER_PROMPT_ALL_SEGMENTS: transcribe_whisper_prompt_condition =
1290        transcribe_whisper_prompt_condition(1);
1291}
1292#[repr(transparent)]
1293#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1294pub struct transcribe_whisper_prompt_condition(pub ::std::os::raw::c_uint);
1295#[repr(C)]
1296#[derive(Debug, Copy, Clone)]
1297pub struct transcribe_whisper_run_ext {
1298    pub ext: transcribe_ext,
1299    pub initial_prompt: *const ::std::os::raw::c_char,
1300    pub prompt_tokens: *const i32,
1301    pub n_prompt_tokens: usize,
1302    pub prompt_condition: transcribe_whisper_prompt_condition,
1303    pub condition_on_prev_tokens: bool,
1304    pub max_prev_context_tokens: i32,
1305    pub temperature: f32,
1306    pub temperature_inc: f32,
1307    pub compression_ratio_thold: f32,
1308    pub logprob_thold: f32,
1309    pub no_speech_thold: f32,
1310    pub seed: u32,
1311    pub max_initial_timestamp: f32,
1312}
1313#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1314const _: () = {
1315    ["Size of transcribe_whisper_run_ext"]
1316        [::std::mem::size_of::<transcribe_whisper_run_ext>() - 80usize];
1317    ["Alignment of transcribe_whisper_run_ext"]
1318        [::std::mem::align_of::<transcribe_whisper_run_ext>() - 8usize];
1319    ["Offset of field: transcribe_whisper_run_ext::ext"]
1320        [::std::mem::offset_of!(transcribe_whisper_run_ext, ext) - 0usize];
1321    ["Offset of field: transcribe_whisper_run_ext::initial_prompt"]
1322        [::std::mem::offset_of!(transcribe_whisper_run_ext, initial_prompt) - 16usize];
1323    ["Offset of field: transcribe_whisper_run_ext::prompt_tokens"]
1324        [::std::mem::offset_of!(transcribe_whisper_run_ext, prompt_tokens) - 24usize];
1325    ["Offset of field: transcribe_whisper_run_ext::n_prompt_tokens"]
1326        [::std::mem::offset_of!(transcribe_whisper_run_ext, n_prompt_tokens) - 32usize];
1327    ["Offset of field: transcribe_whisper_run_ext::prompt_condition"]
1328        [::std::mem::offset_of!(transcribe_whisper_run_ext, prompt_condition) - 40usize];
1329    ["Offset of field: transcribe_whisper_run_ext::condition_on_prev_tokens"]
1330        [::std::mem::offset_of!(transcribe_whisper_run_ext, condition_on_prev_tokens) - 44usize];
1331    ["Offset of field: transcribe_whisper_run_ext::max_prev_context_tokens"]
1332        [::std::mem::offset_of!(transcribe_whisper_run_ext, max_prev_context_tokens) - 48usize];
1333    ["Offset of field: transcribe_whisper_run_ext::temperature"]
1334        [::std::mem::offset_of!(transcribe_whisper_run_ext, temperature) - 52usize];
1335    ["Offset of field: transcribe_whisper_run_ext::temperature_inc"]
1336        [::std::mem::offset_of!(transcribe_whisper_run_ext, temperature_inc) - 56usize];
1337    ["Offset of field: transcribe_whisper_run_ext::compression_ratio_thold"]
1338        [::std::mem::offset_of!(transcribe_whisper_run_ext, compression_ratio_thold) - 60usize];
1339    ["Offset of field: transcribe_whisper_run_ext::logprob_thold"]
1340        [::std::mem::offset_of!(transcribe_whisper_run_ext, logprob_thold) - 64usize];
1341    ["Offset of field: transcribe_whisper_run_ext::no_speech_thold"]
1342        [::std::mem::offset_of!(transcribe_whisper_run_ext, no_speech_thold) - 68usize];
1343    ["Offset of field: transcribe_whisper_run_ext::seed"]
1344        [::std::mem::offset_of!(transcribe_whisper_run_ext, seed) - 72usize];
1345    ["Offset of field: transcribe_whisper_run_ext::max_initial_timestamp"]
1346        [::std::mem::offset_of!(transcribe_whisper_run_ext, max_initial_timestamp) - 76usize];
1347};
1348unsafe extern "C" {
1349    pub fn transcribe_whisper_run_ext_init(ext: *mut transcribe_whisper_run_ext);
1350}
1351#[repr(C)]
1352#[derive(Debug, Copy, Clone)]
1353pub struct transcribe_whisper_chunk_trace {
1354    pub struct_size: u64,
1355    pub t0_ms: i64,
1356    pub t1_ms: i64,
1357    pub temperature_used: f32,
1358    pub compression_ratio: f32,
1359    pub avg_logprob: f32,
1360    pub no_speech_prob: f32,
1361    pub no_speech_triggered: bool,
1362    pub n_fallbacks: i32,
1363}
1364#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1365const _: () = {
1366    ["Size of transcribe_whisper_chunk_trace"]
1367        [::std::mem::size_of::<transcribe_whisper_chunk_trace>() - 48usize];
1368    ["Alignment of transcribe_whisper_chunk_trace"]
1369        [::std::mem::align_of::<transcribe_whisper_chunk_trace>() - 8usize];
1370    ["Offset of field: transcribe_whisper_chunk_trace::struct_size"]
1371        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, struct_size) - 0usize];
1372    ["Offset of field: transcribe_whisper_chunk_trace::t0_ms"]
1373        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, t0_ms) - 8usize];
1374    ["Offset of field: transcribe_whisper_chunk_trace::t1_ms"]
1375        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, t1_ms) - 16usize];
1376    ["Offset of field: transcribe_whisper_chunk_trace::temperature_used"]
1377        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, temperature_used) - 24usize];
1378    ["Offset of field: transcribe_whisper_chunk_trace::compression_ratio"]
1379        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, compression_ratio) - 28usize];
1380    ["Offset of field: transcribe_whisper_chunk_trace::avg_logprob"]
1381        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, avg_logprob) - 32usize];
1382    ["Offset of field: transcribe_whisper_chunk_trace::no_speech_prob"]
1383        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, no_speech_prob) - 36usize];
1384    ["Offset of field: transcribe_whisper_chunk_trace::no_speech_triggered"]
1385        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, no_speech_triggered) - 40usize];
1386    ["Offset of field: transcribe_whisper_chunk_trace::n_fallbacks"]
1387        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, n_fallbacks) - 44usize];
1388};
1389unsafe extern "C" {
1390    pub fn transcribe_whisper_chunk_trace_init(out: *mut transcribe_whisper_chunk_trace);
1391}
1392unsafe extern "C" {
1393    pub fn transcribe_get_whisper_chunk_count(
1394        session: *const transcribe_session,
1395    ) -> ::std::os::raw::c_int;
1396}
1397unsafe extern "C" {
1398    pub fn transcribe_get_whisper_chunk_trace(
1399        session: *const transcribe_session,
1400        i: ::std::os::raw::c_int,
1401        out_trace: *mut transcribe_whisper_chunk_trace,
1402    ) -> transcribe_status;
1403}