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 = f99ad4169374b8f3
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 = "f99ad4169374b8f3";
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_DIARIZE: u32 = 1380206163;
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    pub const TRANSCRIBE_ERR_UNSUPPORTED_ROLE: transcribe_status = transcribe_status(20);
47    pub const TRANSCRIBE_ERR_INPUT_TOO_SHORT: transcribe_status = transcribe_status(21);
48}
49#[repr(transparent)]
50#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
51pub struct transcribe_status(pub ::std::os::raw::c_uint);
52unsafe extern "C" {
53    pub fn transcribe_status_string(status: ::std::os::raw::c_int)
54        -> *const ::std::os::raw::c_char;
55}
56unsafe extern "C" {
57    pub fn transcribe_version() -> *const ::std::os::raw::c_char;
58}
59unsafe extern "C" {
60    pub fn transcribe_version_commit() -> *const ::std::os::raw::c_char;
61}
62impl transcribe_abi_struct {
63    pub const TRANSCRIBE_ABI_MODEL_LOAD_PARAMS: transcribe_abi_struct = transcribe_abi_struct(0);
64    pub const TRANSCRIBE_ABI_SESSION_PARAMS: transcribe_abi_struct = transcribe_abi_struct(1);
65    pub const TRANSCRIBE_ABI_RUN_PARAMS: transcribe_abi_struct = transcribe_abi_struct(2);
66    pub const TRANSCRIBE_ABI_STREAM_PARAMS: transcribe_abi_struct = transcribe_abi_struct(3);
67    pub const TRANSCRIBE_ABI_CAPABILITIES: transcribe_abi_struct = transcribe_abi_struct(4);
68    pub const TRANSCRIBE_ABI_TIMINGS: transcribe_abi_struct = transcribe_abi_struct(5);
69    pub const TRANSCRIBE_ABI_SEGMENT: transcribe_abi_struct = transcribe_abi_struct(6);
70    pub const TRANSCRIBE_ABI_WORD: transcribe_abi_struct = transcribe_abi_struct(7);
71    pub const TRANSCRIBE_ABI_TOKEN: transcribe_abi_struct = transcribe_abi_struct(8);
72    pub const TRANSCRIBE_ABI_STREAM_UPDATE: transcribe_abi_struct = transcribe_abi_struct(9);
73    pub const TRANSCRIBE_ABI_STREAM_TEXT: transcribe_abi_struct = transcribe_abi_struct(10);
74    pub const TRANSCRIBE_ABI_SESSION_LIMITS: transcribe_abi_struct = transcribe_abi_struct(11);
75    pub const TRANSCRIBE_ABI_EXT: transcribe_abi_struct = transcribe_abi_struct(12);
76    pub const TRANSCRIBE_ABI_DEVICE_INFO: transcribe_abi_struct = transcribe_abi_struct(13);
77    pub const TRANSCRIBE_ABI_SPEAKER_SEGMENT: transcribe_abi_struct = transcribe_abi_struct(14);
78    pub const TRANSCRIBE_ABI_BACKEND_INIT_PARAMS: transcribe_abi_struct = transcribe_abi_struct(15);
79    pub const TRANSCRIBE_ABI_DIARIZE_INFO: transcribe_abi_struct = transcribe_abi_struct(16);
80    pub const TRANSCRIBE_ABI_DIARIZE_SESSION_PARAMS: transcribe_abi_struct =
81        transcribe_abi_struct(17);
82    pub const TRANSCRIBE_ABI_DIARIZE_PARAMS: transcribe_abi_struct = transcribe_abi_struct(18);
83    pub const TRANSCRIBE_ABI_LANGID_INFO: transcribe_abi_struct = transcribe_abi_struct(19);
84    pub const TRANSCRIBE_ABI_LANGID_SESSION_PARAMS: transcribe_abi_struct =
85        transcribe_abi_struct(20);
86    pub const TRANSCRIBE_ABI_LANGID_PARAMS: transcribe_abi_struct = transcribe_abi_struct(21);
87    pub const TRANSCRIBE_ABI_LANGID_RESULT: transcribe_abi_struct = transcribe_abi_struct(22);
88    pub const TRANSCRIBE_ABI_LANGID_CANDIDATE: transcribe_abi_struct = transcribe_abi_struct(23);
89    pub const TRANSCRIBE_ABI_VAD_INFO: transcribe_abi_struct = transcribe_abi_struct(24);
90    pub const TRANSCRIBE_ABI_VAD_SESSION_PARAMS: transcribe_abi_struct = transcribe_abi_struct(25);
91    pub const TRANSCRIBE_ABI_VAD_PARAMS: transcribe_abi_struct = transcribe_abi_struct(26);
92    pub const TRANSCRIBE_ABI_VAD_RESULT: transcribe_abi_struct = transcribe_abi_struct(27);
93    pub const TRANSCRIBE_ABI_VAD_SEGMENT: transcribe_abi_struct = transcribe_abi_struct(28);
94}
95#[repr(transparent)]
96#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
97pub struct transcribe_abi_struct(pub ::std::os::raw::c_uint);
98unsafe extern "C" {
99    pub fn transcribe_abi_struct_size(which: transcribe_abi_struct) -> usize;
100}
101unsafe extern "C" {
102    pub fn transcribe_abi_struct_align(which: transcribe_abi_struct) -> usize;
103}
104impl transcribe_log_level {
105    pub const TRANSCRIBE_LOG_LEVEL_NONE: transcribe_log_level = transcribe_log_level(0);
106    pub const TRANSCRIBE_LOG_LEVEL_INFO: transcribe_log_level = transcribe_log_level(1);
107    pub const TRANSCRIBE_LOG_LEVEL_WARN: transcribe_log_level = transcribe_log_level(2);
108    pub const TRANSCRIBE_LOG_LEVEL_ERROR: transcribe_log_level = transcribe_log_level(3);
109    pub const TRANSCRIBE_LOG_LEVEL_DEBUG: transcribe_log_level = transcribe_log_level(4);
110    pub const TRANSCRIBE_LOG_LEVEL_CONT: transcribe_log_level = transcribe_log_level(5);
111}
112#[repr(transparent)]
113#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
114pub struct transcribe_log_level(pub ::std::os::raw::c_uint);
115pub type transcribe_log_callback = ::std::option::Option<
116    unsafe extern "C" fn(
117        level: transcribe_log_level,
118        msg: *const ::std::os::raw::c_char,
119        userdata: *mut ::std::os::raw::c_void,
120    ),
121>;
122unsafe extern "C" {
123    pub fn transcribe_log_set(cb: transcribe_log_callback, userdata: *mut ::std::os::raw::c_void);
124}
125impl transcribe_task {
126    pub const TRANSCRIBE_TASK_TRANSCRIBE: transcribe_task = transcribe_task(0);
127    pub const TRANSCRIBE_TASK_TRANSLATE: transcribe_task = transcribe_task(1);
128    pub const TRANSCRIBE_TASK_INSTRUCT: transcribe_task = transcribe_task(2);
129}
130#[repr(transparent)]
131#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
132pub struct transcribe_task(pub ::std::os::raw::c_uint);
133impl transcribe_timestamp_kind {
134    pub const TRANSCRIBE_TIMESTAMPS_NONE: transcribe_timestamp_kind = transcribe_timestamp_kind(0);
135    pub const TRANSCRIBE_TIMESTAMPS_AUTO: transcribe_timestamp_kind = transcribe_timestamp_kind(1);
136    pub const TRANSCRIBE_TIMESTAMPS_SEGMENT: transcribe_timestamp_kind =
137        transcribe_timestamp_kind(2);
138    pub const TRANSCRIBE_TIMESTAMPS_WORD: transcribe_timestamp_kind = transcribe_timestamp_kind(3);
139    pub const TRANSCRIBE_TIMESTAMPS_TOKEN: transcribe_timestamp_kind = transcribe_timestamp_kind(4);
140}
141#[repr(transparent)]
142#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
143pub struct transcribe_timestamp_kind(pub ::std::os::raw::c_uint);
144impl transcribe_kv_type {
145    pub const TRANSCRIBE_KV_TYPE_AUTO: transcribe_kv_type = transcribe_kv_type(0);
146    pub const TRANSCRIBE_KV_TYPE_F32: transcribe_kv_type = transcribe_kv_type(1);
147    pub const TRANSCRIBE_KV_TYPE_F16: transcribe_kv_type = transcribe_kv_type(2);
148}
149#[repr(transparent)]
150#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
151pub struct transcribe_kv_type(pub ::std::os::raw::c_uint);
152impl transcribe_pnc_mode {
153    pub const TRANSCRIBE_PNC_MODE_DEFAULT: transcribe_pnc_mode = transcribe_pnc_mode(0);
154    pub const TRANSCRIBE_PNC_MODE_OFF: transcribe_pnc_mode = transcribe_pnc_mode(1);
155    pub const TRANSCRIBE_PNC_MODE_ON: transcribe_pnc_mode = transcribe_pnc_mode(2);
156}
157#[repr(transparent)]
158#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
159pub struct transcribe_pnc_mode(pub ::std::os::raw::c_uint);
160impl transcribe_itn_mode {
161    pub const TRANSCRIBE_ITN_MODE_DEFAULT: transcribe_itn_mode = transcribe_itn_mode(0);
162    pub const TRANSCRIBE_ITN_MODE_OFF: transcribe_itn_mode = transcribe_itn_mode(1);
163    pub const TRANSCRIBE_ITN_MODE_ON: transcribe_itn_mode = transcribe_itn_mode(2);
164}
165#[repr(transparent)]
166#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
167pub struct transcribe_itn_mode(pub ::std::os::raw::c_uint);
168impl transcribe_diarize_mode {
169    pub const TRANSCRIBE_DIARIZE_MODE_DEFAULT: transcribe_diarize_mode = transcribe_diarize_mode(0);
170    pub const TRANSCRIBE_DIARIZE_MODE_OFF: transcribe_diarize_mode = transcribe_diarize_mode(1);
171    pub const TRANSCRIBE_DIARIZE_MODE_ON: transcribe_diarize_mode = transcribe_diarize_mode(2);
172}
173#[repr(transparent)]
174#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
175pub struct transcribe_diarize_mode(pub ::std::os::raw::c_uint);
176#[repr(C)]
177#[derive(Debug, Copy, Clone)]
178pub struct transcribe_model {
179    _unused: [u8; 0],
180}
181#[repr(C)]
182#[derive(Debug, Copy, Clone)]
183pub struct transcribe_session {
184    _unused: [u8; 0],
185}
186#[repr(C)]
187#[derive(Debug, Copy, Clone)]
188pub struct transcribe_ext {
189    pub size: u64,
190    pub kind: u32,
191}
192#[allow(clippy::unnecessary_operation, clippy::identity_op)]
193const _: () = {
194    ["Size of transcribe_ext"][::std::mem::size_of::<transcribe_ext>() - 16usize];
195    ["Alignment of transcribe_ext"][::std::mem::align_of::<transcribe_ext>() - 8usize];
196    ["Offset of field: transcribe_ext::size"]
197        [::std::mem::offset_of!(transcribe_ext, size) - 0usize];
198    ["Offset of field: transcribe_ext::kind"]
199        [::std::mem::offset_of!(transcribe_ext, kind) - 8usize];
200};
201unsafe extern "C" {
202    pub fn transcribe_ext_check(
203        ext: *const transcribe_ext,
204        expected_kind: u32,
205        min_size: u64,
206    ) -> transcribe_status;
207}
208impl transcribe_ext_slot {
209    pub const TRANSCRIBE_EXT_SLOT_RUN: transcribe_ext_slot = transcribe_ext_slot(0);
210    pub const TRANSCRIBE_EXT_SLOT_STREAM: transcribe_ext_slot = transcribe_ext_slot(1);
211    pub const TRANSCRIBE_EXT_SLOT_DIARIZE_RUN: transcribe_ext_slot = transcribe_ext_slot(2);
212}
213#[repr(transparent)]
214#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
215pub struct transcribe_ext_slot(pub ::std::os::raw::c_uint);
216unsafe extern "C" {
217    pub fn transcribe_model_accepts_ext_kind(
218        model: *const transcribe_model,
219        slot: transcribe_ext_slot,
220        kind: u32,
221    ) -> bool;
222}
223impl transcribe_backend_request {
224    pub const TRANSCRIBE_BACKEND_AUTO: transcribe_backend_request = transcribe_backend_request(0);
225    pub const TRANSCRIBE_BACKEND_CPU: transcribe_backend_request = transcribe_backend_request(1);
226    pub const TRANSCRIBE_BACKEND_METAL: transcribe_backend_request = transcribe_backend_request(2);
227    pub const TRANSCRIBE_BACKEND_VULKAN: transcribe_backend_request = transcribe_backend_request(3);
228    pub const TRANSCRIBE_BACKEND_CPU_ACCEL: transcribe_backend_request =
229        transcribe_backend_request(4);
230    pub const TRANSCRIBE_BACKEND_CUDA: transcribe_backend_request = transcribe_backend_request(5);
231    pub const TRANSCRIBE_BACKEND_ROCM: transcribe_backend_request = transcribe_backend_request(6);
232}
233#[repr(transparent)]
234#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
235pub struct transcribe_backend_request(pub ::std::os::raw::c_uint);
236unsafe extern "C" {
237    pub fn transcribe_init_backends(
238        artifact_dir: *const ::std::os::raw::c_char,
239    ) -> transcribe_status;
240}
241unsafe extern "C" {
242    pub fn transcribe_init_backends_default() -> transcribe_status;
243}
244#[repr(C)]
245#[derive(Debug, Copy, Clone)]
246pub struct transcribe_backend_init_params {
247    pub struct_size: u64,
248    pub artifact_dir: *const ::std::os::raw::c_char,
249    pub allowed_backends: u32,
250}
251#[allow(clippy::unnecessary_operation, clippy::identity_op)]
252const _: () = {
253    ["Size of transcribe_backend_init_params"]
254        [::std::mem::size_of::<transcribe_backend_init_params>() - 24usize];
255    ["Alignment of transcribe_backend_init_params"]
256        [::std::mem::align_of::<transcribe_backend_init_params>() - 8usize];
257    ["Offset of field: transcribe_backend_init_params::struct_size"]
258        [::std::mem::offset_of!(transcribe_backend_init_params, struct_size) - 0usize];
259    ["Offset of field: transcribe_backend_init_params::artifact_dir"]
260        [::std::mem::offset_of!(transcribe_backend_init_params, artifact_dir) - 8usize];
261    ["Offset of field: transcribe_backend_init_params::allowed_backends"]
262        [::std::mem::offset_of!(transcribe_backend_init_params, allowed_backends) - 16usize];
263};
264unsafe extern "C" {
265    pub fn transcribe_backend_init_params_init(p: *mut transcribe_backend_init_params);
266}
267unsafe extern "C" {
268    pub fn transcribe_init_backends_ex(
269        params: *const transcribe_backend_init_params,
270    ) -> transcribe_status;
271}
272unsafe extern "C" {
273    pub fn transcribe_allowed_backends() -> u32;
274}
275#[repr(C)]
276#[derive(Debug, Copy, Clone)]
277pub struct transcribe_device {
278    _unused: [u8; 0],
279}
280pub type transcribe_device_t = *mut transcribe_device;
281unsafe extern "C" {
282    pub fn transcribe_device_count() -> ::std::os::raw::c_int;
283}
284unsafe extern "C" {
285    pub fn transcribe_device_get(index: ::std::os::raw::c_int) -> transcribe_device_t;
286}
287impl transcribe_device_type {
288    pub const TRANSCRIBE_DEVICE_TYPE_CPU: transcribe_device_type = transcribe_device_type(0);
289    pub const TRANSCRIBE_DEVICE_TYPE_GPU: transcribe_device_type = transcribe_device_type(1);
290    pub const TRANSCRIBE_DEVICE_TYPE_IGPU: transcribe_device_type = transcribe_device_type(2);
291    pub const TRANSCRIBE_DEVICE_TYPE_ACCEL: transcribe_device_type = transcribe_device_type(3);
292}
293#[repr(transparent)]
294#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
295pub struct transcribe_device_type(pub ::std::os::raw::c_uint);
296#[repr(C)]
297#[derive(Debug, Copy, Clone)]
298pub struct transcribe_device_info {
299    pub struct_size: u64,
300    pub name: *const ::std::os::raw::c_char,
301    pub description: *const ::std::os::raw::c_char,
302    pub kind: *const ::std::os::raw::c_char,
303    pub device_id: *const ::std::os::raw::c_char,
304    pub memory_total: u64,
305    pub memory_free: u64,
306    pub device_type: transcribe_device_type,
307}
308#[allow(clippy::unnecessary_operation, clippy::identity_op)]
309const _: () = {
310    ["Size of transcribe_device_info"][::std::mem::size_of::<transcribe_device_info>() - 64usize];
311    ["Alignment of transcribe_device_info"]
312        [::std::mem::align_of::<transcribe_device_info>() - 8usize];
313    ["Offset of field: transcribe_device_info::struct_size"]
314        [::std::mem::offset_of!(transcribe_device_info, struct_size) - 0usize];
315    ["Offset of field: transcribe_device_info::name"]
316        [::std::mem::offset_of!(transcribe_device_info, name) - 8usize];
317    ["Offset of field: transcribe_device_info::description"]
318        [::std::mem::offset_of!(transcribe_device_info, description) - 16usize];
319    ["Offset of field: transcribe_device_info::kind"]
320        [::std::mem::offset_of!(transcribe_device_info, kind) - 24usize];
321    ["Offset of field: transcribe_device_info::device_id"]
322        [::std::mem::offset_of!(transcribe_device_info, device_id) - 32usize];
323    ["Offset of field: transcribe_device_info::memory_total"]
324        [::std::mem::offset_of!(transcribe_device_info, memory_total) - 40usize];
325    ["Offset of field: transcribe_device_info::memory_free"]
326        [::std::mem::offset_of!(transcribe_device_info, memory_free) - 48usize];
327    ["Offset of field: transcribe_device_info::device_type"]
328        [::std::mem::offset_of!(transcribe_device_info, device_type) - 56usize];
329};
330unsafe extern "C" {
331    pub fn transcribe_device_info_init(p: *mut transcribe_device_info);
332}
333unsafe extern "C" {
334    pub fn transcribe_device_get_info(
335        device: transcribe_device_t,
336        out: *mut transcribe_device_info,
337    ) -> transcribe_status;
338}
339unsafe extern "C" {
340    pub fn transcribe_backend_available(kind: transcribe_backend_request) -> bool;
341}
342unsafe extern "C" {
343    pub fn transcribe_model_device(model: *const transcribe_model) -> transcribe_device_t;
344}
345#[repr(C)]
346#[derive(Debug, Copy, Clone)]
347pub struct transcribe_model_load_params {
348    pub struct_size: u64,
349    pub backend: transcribe_backend_request,
350    pub device: transcribe_device_t,
351    pub no_mmap: bool,
352}
353#[allow(clippy::unnecessary_operation, clippy::identity_op)]
354const _: () = {
355    ["Size of transcribe_model_load_params"]
356        [::std::mem::size_of::<transcribe_model_load_params>() - 32usize];
357    ["Alignment of transcribe_model_load_params"]
358        [::std::mem::align_of::<transcribe_model_load_params>() - 8usize];
359    ["Offset of field: transcribe_model_load_params::struct_size"]
360        [::std::mem::offset_of!(transcribe_model_load_params, struct_size) - 0usize];
361    ["Offset of field: transcribe_model_load_params::backend"]
362        [::std::mem::offset_of!(transcribe_model_load_params, backend) - 8usize];
363    ["Offset of field: transcribe_model_load_params::device"]
364        [::std::mem::offset_of!(transcribe_model_load_params, device) - 16usize];
365    ["Offset of field: transcribe_model_load_params::no_mmap"]
366        [::std::mem::offset_of!(transcribe_model_load_params, no_mmap) - 24usize];
367};
368unsafe extern "C" {
369    pub fn transcribe_model_load_params_init(params: *mut transcribe_model_load_params);
370}
371#[repr(C)]
372#[derive(Debug, Copy, Clone)]
373pub struct transcribe_session_params {
374    pub struct_size: u64,
375    pub n_threads: ::std::os::raw::c_int,
376    pub kv_type: transcribe_kv_type,
377    pub n_ctx: i32,
378}
379#[allow(clippy::unnecessary_operation, clippy::identity_op)]
380const _: () = {
381    ["Size of transcribe_session_params"]
382        [::std::mem::size_of::<transcribe_session_params>() - 24usize];
383    ["Alignment of transcribe_session_params"]
384        [::std::mem::align_of::<transcribe_session_params>() - 8usize];
385    ["Offset of field: transcribe_session_params::struct_size"]
386        [::std::mem::offset_of!(transcribe_session_params, struct_size) - 0usize];
387    ["Offset of field: transcribe_session_params::n_threads"]
388        [::std::mem::offset_of!(transcribe_session_params, n_threads) - 8usize];
389    ["Offset of field: transcribe_session_params::kv_type"]
390        [::std::mem::offset_of!(transcribe_session_params, kv_type) - 12usize];
391    ["Offset of field: transcribe_session_params::n_ctx"]
392        [::std::mem::offset_of!(transcribe_session_params, n_ctx) - 16usize];
393};
394unsafe extern "C" {
395    pub fn transcribe_session_params_init(params: *mut transcribe_session_params);
396}
397#[repr(C)]
398#[derive(Debug, Copy, Clone)]
399pub struct transcribe_run_params {
400    pub struct_size: u64,
401    pub task: transcribe_task,
402    pub timestamps: transcribe_timestamp_kind,
403    pub pnc: transcribe_pnc_mode,
404    pub itn: transcribe_itn_mode,
405    pub diarize: transcribe_diarize_mode,
406    pub language: *const ::std::os::raw::c_char,
407    pub target_language: *const ::std::os::raw::c_char,
408    pub keep_special_tags: bool,
409    pub family: *const transcribe_ext,
410    pub spec_k_drafts: i32,
411    pub vocabulary: *const *const ::std::os::raw::c_char,
412    pub n_vocabulary: i32,
413    pub prompt: *const ::std::os::raw::c_char,
414    pub prefix: *const ::std::os::raw::c_char,
415}
416#[allow(clippy::unnecessary_operation, clippy::identity_op)]
417const _: () = {
418    ["Size of transcribe_run_params"][::std::mem::size_of::<transcribe_run_params>() - 104usize];
419    ["Alignment of transcribe_run_params"]
420        [::std::mem::align_of::<transcribe_run_params>() - 8usize];
421    ["Offset of field: transcribe_run_params::struct_size"]
422        [::std::mem::offset_of!(transcribe_run_params, struct_size) - 0usize];
423    ["Offset of field: transcribe_run_params::task"]
424        [::std::mem::offset_of!(transcribe_run_params, task) - 8usize];
425    ["Offset of field: transcribe_run_params::timestamps"]
426        [::std::mem::offset_of!(transcribe_run_params, timestamps) - 12usize];
427    ["Offset of field: transcribe_run_params::pnc"]
428        [::std::mem::offset_of!(transcribe_run_params, pnc) - 16usize];
429    ["Offset of field: transcribe_run_params::itn"]
430        [::std::mem::offset_of!(transcribe_run_params, itn) - 20usize];
431    ["Offset of field: transcribe_run_params::diarize"]
432        [::std::mem::offset_of!(transcribe_run_params, diarize) - 24usize];
433    ["Offset of field: transcribe_run_params::language"]
434        [::std::mem::offset_of!(transcribe_run_params, language) - 32usize];
435    ["Offset of field: transcribe_run_params::target_language"]
436        [::std::mem::offset_of!(transcribe_run_params, target_language) - 40usize];
437    ["Offset of field: transcribe_run_params::keep_special_tags"]
438        [::std::mem::offset_of!(transcribe_run_params, keep_special_tags) - 48usize];
439    ["Offset of field: transcribe_run_params::family"]
440        [::std::mem::offset_of!(transcribe_run_params, family) - 56usize];
441    ["Offset of field: transcribe_run_params::spec_k_drafts"]
442        [::std::mem::offset_of!(transcribe_run_params, spec_k_drafts) - 64usize];
443    ["Offset of field: transcribe_run_params::vocabulary"]
444        [::std::mem::offset_of!(transcribe_run_params, vocabulary) - 72usize];
445    ["Offset of field: transcribe_run_params::n_vocabulary"]
446        [::std::mem::offset_of!(transcribe_run_params, n_vocabulary) - 80usize];
447    ["Offset of field: transcribe_run_params::prompt"]
448        [::std::mem::offset_of!(transcribe_run_params, prompt) - 88usize];
449    ["Offset of field: transcribe_run_params::prefix"]
450        [::std::mem::offset_of!(transcribe_run_params, prefix) - 96usize];
451};
452unsafe extern "C" {
453    pub fn transcribe_run_params_init(params: *mut transcribe_run_params);
454}
455#[repr(C)]
456#[derive(Debug, Copy, Clone)]
457pub struct transcribe_capabilities {
458    pub struct_size: u64,
459    pub native_sample_rate: i32,
460    pub n_languages: ::std::os::raw::c_int,
461    pub languages: *const *const ::std::os::raw::c_char,
462    pub max_timestamp_kind: transcribe_timestamp_kind,
463    pub supports_language_detect: bool,
464    pub supports_translate: bool,
465    pub supports_streaming: bool,
466    pub supports_spec_decode: bool,
467    pub max_audio_ms: i64,
468    pub n_translate_target_languages: ::std::os::raw::c_int,
469    pub translate_target_languages: *const *const ::std::os::raw::c_char,
470}
471#[allow(clippy::unnecessary_operation, clippy::identity_op)]
472const _: () = {
473    ["Size of transcribe_capabilities"][::std::mem::size_of::<transcribe_capabilities>() - 56usize];
474    ["Alignment of transcribe_capabilities"]
475        [::std::mem::align_of::<transcribe_capabilities>() - 8usize];
476    ["Offset of field: transcribe_capabilities::struct_size"]
477        [::std::mem::offset_of!(transcribe_capabilities, struct_size) - 0usize];
478    ["Offset of field: transcribe_capabilities::native_sample_rate"]
479        [::std::mem::offset_of!(transcribe_capabilities, native_sample_rate) - 8usize];
480    ["Offset of field: transcribe_capabilities::n_languages"]
481        [::std::mem::offset_of!(transcribe_capabilities, n_languages) - 12usize];
482    ["Offset of field: transcribe_capabilities::languages"]
483        [::std::mem::offset_of!(transcribe_capabilities, languages) - 16usize];
484    ["Offset of field: transcribe_capabilities::max_timestamp_kind"]
485        [::std::mem::offset_of!(transcribe_capabilities, max_timestamp_kind) - 24usize];
486    ["Offset of field: transcribe_capabilities::supports_language_detect"]
487        [::std::mem::offset_of!(transcribe_capabilities, supports_language_detect) - 28usize];
488    ["Offset of field: transcribe_capabilities::supports_translate"]
489        [::std::mem::offset_of!(transcribe_capabilities, supports_translate) - 29usize];
490    ["Offset of field: transcribe_capabilities::supports_streaming"]
491        [::std::mem::offset_of!(transcribe_capabilities, supports_streaming) - 30usize];
492    ["Offset of field: transcribe_capabilities::supports_spec_decode"]
493        [::std::mem::offset_of!(transcribe_capabilities, supports_spec_decode) - 31usize];
494    ["Offset of field: transcribe_capabilities::max_audio_ms"]
495        [::std::mem::offset_of!(transcribe_capabilities, max_audio_ms) - 32usize];
496    ["Offset of field: transcribe_capabilities::n_translate_target_languages"]
497        [::std::mem::offset_of!(transcribe_capabilities, n_translate_target_languages) - 40usize];
498    ["Offset of field: transcribe_capabilities::translate_target_languages"]
499        [::std::mem::offset_of!(transcribe_capabilities, translate_target_languages) - 48usize];
500};
501unsafe extern "C" {
502    pub fn transcribe_capabilities_init(out: *mut transcribe_capabilities);
503}
504impl transcribe_role {
505    pub const TRANSCRIBE_ROLE_ASR: transcribe_role = transcribe_role(1);
506    pub const TRANSCRIBE_ROLE_DIARIZE: transcribe_role = transcribe_role(2);
507    pub const TRANSCRIBE_ROLE_LANGID: transcribe_role = transcribe_role(4);
508    pub const TRANSCRIBE_ROLE_VAD: transcribe_role = transcribe_role(8);
509}
510#[repr(transparent)]
511#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
512pub struct transcribe_role(pub ::std::os::raw::c_uint);
513unsafe extern "C" {
514    pub fn transcribe_model_roles(model: *const transcribe_model) -> u32;
515}
516unsafe extern "C" {
517    pub fn transcribe_model_get_capabilities(
518        model: *const transcribe_model,
519        out_caps: *mut transcribe_capabilities,
520    ) -> transcribe_status;
521}
522impl transcribe_feature {
523    pub const TRANSCRIBE_FEATURE_INITIAL_PROMPT: transcribe_feature = transcribe_feature(0);
524    pub const TRANSCRIBE_FEATURE_TEMPERATURE_FALLBACK: transcribe_feature = transcribe_feature(1);
525    pub const TRANSCRIBE_FEATURE_LONG_FORM: transcribe_feature = transcribe_feature(2);
526    pub const TRANSCRIBE_FEATURE_CANCELLATION: transcribe_feature = transcribe_feature(3);
527    pub const TRANSCRIBE_FEATURE_PNC: transcribe_feature = transcribe_feature(4);
528    pub const TRANSCRIBE_FEATURE_ITN: transcribe_feature = transcribe_feature(5);
529    pub const TRANSCRIBE_FEATURE_DIARIZATION: transcribe_feature = transcribe_feature(6);
530    pub const TRANSCRIBE_FEATURE_VOCABULARY: transcribe_feature = transcribe_feature(7);
531    pub const TRANSCRIBE_FEATURE_CONTEXT_PROMPT: transcribe_feature = transcribe_feature(8);
532    pub const TRANSCRIBE_FEATURE_INSTRUCT: transcribe_feature = transcribe_feature(9);
533    pub const TRANSCRIBE_FEATURE_TRANSCRIPT_PREFIX: transcribe_feature = transcribe_feature(10);
534}
535#[repr(transparent)]
536#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
537pub struct transcribe_feature(pub ::std::os::raw::c_uint);
538unsafe extern "C" {
539    pub fn transcribe_model_supports(
540        model: *const transcribe_model,
541        feature: transcribe_feature,
542    ) -> bool;
543}
544unsafe extern "C" {
545    pub fn transcribe_model_arch_string(
546        model: *const transcribe_model,
547    ) -> *const ::std::os::raw::c_char;
548}
549unsafe extern "C" {
550    pub fn transcribe_model_variant_string(
551        model: *const transcribe_model,
552    ) -> *const ::std::os::raw::c_char;
553}
554unsafe extern "C" {
555    pub fn transcribe_model_backend(
556        model: *const transcribe_model,
557    ) -> *const ::std::os::raw::c_char;
558}
559unsafe extern "C" {
560    pub fn transcribe_model_meta_val_str(
561        model: *const transcribe_model,
562        key: *const ::std::os::raw::c_char,
563    ) -> *const ::std::os::raw::c_char;
564}
565unsafe extern "C" {
566    pub fn transcribe_model_load_file(
567        path: *const ::std::os::raw::c_char,
568        params: *const transcribe_model_load_params,
569        out_model: *mut *mut transcribe_model,
570    ) -> transcribe_status;
571}
572unsafe extern "C" {
573    pub fn transcribe_model_free(model: *mut transcribe_model);
574}
575unsafe extern "C" {
576    pub fn transcribe_session_init(
577        model: *mut transcribe_model,
578        params: *const transcribe_session_params,
579        out_session: *mut *mut transcribe_session,
580    ) -> transcribe_status;
581}
582unsafe extern "C" {
583    pub fn transcribe_session_free(session: *mut transcribe_session);
584}
585unsafe extern "C" {
586    pub fn transcribe_open(
587        path: *const ::std::os::raw::c_char,
588        load_params: *const transcribe_model_load_params,
589        session_params: *const transcribe_session_params,
590        out_session: *mut *mut transcribe_session,
591    ) -> transcribe_status;
592}
593unsafe extern "C" {
594    pub fn transcribe_close(session: *mut transcribe_session);
595}
596unsafe extern "C" {
597    pub fn transcribe_get_model(session: *const transcribe_session) -> *const transcribe_model;
598}
599unsafe extern "C" {
600    pub fn transcribe_run(
601        session: *mut transcribe_session,
602        pcm: *const f32,
603        n_samples: ::std::os::raw::c_int,
604        params: *const transcribe_run_params,
605    ) -> transcribe_status;
606}
607unsafe extern "C" {
608    pub fn transcribe_run_batch(
609        session: *mut transcribe_session,
610        pcm: *const *const f32,
611        n_samples: *const ::std::os::raw::c_int,
612        n: ::std::os::raw::c_int,
613        params: *const transcribe_run_params,
614    ) -> transcribe_status;
615}
616pub type transcribe_abort_callback =
617    ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void) -> bool>;
618unsafe extern "C" {
619    pub fn transcribe_set_abort_callback(
620        session: *mut transcribe_session,
621        cb: transcribe_abort_callback,
622        user_data: *mut ::std::os::raw::c_void,
623    );
624}
625unsafe extern "C" {
626    pub fn transcribe_was_aborted(session: *const transcribe_session) -> bool;
627}
628unsafe extern "C" {
629    pub fn transcribe_was_truncated(session: *const transcribe_session) -> bool;
630}
631#[repr(C)]
632#[derive(Debug, Copy, Clone)]
633pub struct transcribe_session_limits {
634    pub struct_size: u64,
635    pub effective_n_ctx: i32,
636    pub effective_max_audio_ms: i64,
637    pub max_kv_bytes: i64,
638}
639#[allow(clippy::unnecessary_operation, clippy::identity_op)]
640const _: () = {
641    ["Size of transcribe_session_limits"]
642        [::std::mem::size_of::<transcribe_session_limits>() - 32usize];
643    ["Alignment of transcribe_session_limits"]
644        [::std::mem::align_of::<transcribe_session_limits>() - 8usize];
645    ["Offset of field: transcribe_session_limits::struct_size"]
646        [::std::mem::offset_of!(transcribe_session_limits, struct_size) - 0usize];
647    ["Offset of field: transcribe_session_limits::effective_n_ctx"]
648        [::std::mem::offset_of!(transcribe_session_limits, effective_n_ctx) - 8usize];
649    ["Offset of field: transcribe_session_limits::effective_max_audio_ms"]
650        [::std::mem::offset_of!(transcribe_session_limits, effective_max_audio_ms) - 16usize];
651    ["Offset of field: transcribe_session_limits::max_kv_bytes"]
652        [::std::mem::offset_of!(transcribe_session_limits, max_kv_bytes) - 24usize];
653};
654unsafe extern "C" {
655    pub fn transcribe_session_limits_init(out: *mut transcribe_session_limits);
656}
657unsafe extern "C" {
658    pub fn transcribe_session_get_limits(
659        session: *const transcribe_session,
660        out: *mut transcribe_session_limits,
661    ) -> transcribe_status;
662}
663impl transcribe_stream_state {
664    pub const TRANSCRIBE_STREAM_IDLE: transcribe_stream_state = transcribe_stream_state(0);
665    pub const TRANSCRIBE_STREAM_ACTIVE: transcribe_stream_state = transcribe_stream_state(1);
666    pub const TRANSCRIBE_STREAM_FINISHED: transcribe_stream_state = transcribe_stream_state(2);
667    pub const TRANSCRIBE_STREAM_FAILED: transcribe_stream_state = transcribe_stream_state(3);
668}
669#[repr(transparent)]
670#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
671pub struct transcribe_stream_state(pub ::std::os::raw::c_uint);
672impl transcribe_stream_commit_policy {
673    pub const TRANSCRIBE_STREAM_COMMIT_AUTO: transcribe_stream_commit_policy =
674        transcribe_stream_commit_policy(0);
675    pub const TRANSCRIBE_STREAM_COMMIT_ON_FINALIZE: transcribe_stream_commit_policy =
676        transcribe_stream_commit_policy(1);
677    pub const TRANSCRIBE_STREAM_COMMIT_STABLE_PREFIX: transcribe_stream_commit_policy =
678        transcribe_stream_commit_policy(2);
679}
680#[repr(transparent)]
681#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
682pub struct transcribe_stream_commit_policy(pub ::std::os::raw::c_uint);
683#[repr(C)]
684#[derive(Debug, Copy, Clone)]
685pub struct transcribe_stream_params {
686    pub struct_size: u64,
687    pub family: *const transcribe_ext,
688    pub commit_policy: transcribe_stream_commit_policy,
689    pub stable_prefix_agreement_n: u32,
690}
691#[allow(clippy::unnecessary_operation, clippy::identity_op)]
692const _: () = {
693    ["Size of transcribe_stream_params"]
694        [::std::mem::size_of::<transcribe_stream_params>() - 24usize];
695    ["Alignment of transcribe_stream_params"]
696        [::std::mem::align_of::<transcribe_stream_params>() - 8usize];
697    ["Offset of field: transcribe_stream_params::struct_size"]
698        [::std::mem::offset_of!(transcribe_stream_params, struct_size) - 0usize];
699    ["Offset of field: transcribe_stream_params::family"]
700        [::std::mem::offset_of!(transcribe_stream_params, family) - 8usize];
701    ["Offset of field: transcribe_stream_params::commit_policy"]
702        [::std::mem::offset_of!(transcribe_stream_params, commit_policy) - 16usize];
703    ["Offset of field: transcribe_stream_params::stable_prefix_agreement_n"]
704        [::std::mem::offset_of!(transcribe_stream_params, stable_prefix_agreement_n) - 20usize];
705};
706unsafe extern "C" {
707    pub fn transcribe_stream_params_init(params: *mut transcribe_stream_params);
708}
709#[repr(C)]
710#[derive(Debug, Copy, Clone)]
711pub struct transcribe_stream_update {
712    pub struct_size: u64,
713    pub result_changed: bool,
714    pub is_final: bool,
715    pub revision: i32,
716    pub input_received_ms: i64,
717    pub audio_committed_ms: i64,
718    pub buffered_ms: i64,
719    pub committed_changed: bool,
720    pub tentative_changed: bool,
721}
722#[allow(clippy::unnecessary_operation, clippy::identity_op)]
723const _: () = {
724    ["Size of transcribe_stream_update"]
725        [::std::mem::size_of::<transcribe_stream_update>() - 48usize];
726    ["Alignment of transcribe_stream_update"]
727        [::std::mem::align_of::<transcribe_stream_update>() - 8usize];
728    ["Offset of field: transcribe_stream_update::struct_size"]
729        [::std::mem::offset_of!(transcribe_stream_update, struct_size) - 0usize];
730    ["Offset of field: transcribe_stream_update::result_changed"]
731        [::std::mem::offset_of!(transcribe_stream_update, result_changed) - 8usize];
732    ["Offset of field: transcribe_stream_update::is_final"]
733        [::std::mem::offset_of!(transcribe_stream_update, is_final) - 9usize];
734    ["Offset of field: transcribe_stream_update::revision"]
735        [::std::mem::offset_of!(transcribe_stream_update, revision) - 12usize];
736    ["Offset of field: transcribe_stream_update::input_received_ms"]
737        [::std::mem::offset_of!(transcribe_stream_update, input_received_ms) - 16usize];
738    ["Offset of field: transcribe_stream_update::audio_committed_ms"]
739        [::std::mem::offset_of!(transcribe_stream_update, audio_committed_ms) - 24usize];
740    ["Offset of field: transcribe_stream_update::buffered_ms"]
741        [::std::mem::offset_of!(transcribe_stream_update, buffered_ms) - 32usize];
742    ["Offset of field: transcribe_stream_update::committed_changed"]
743        [::std::mem::offset_of!(transcribe_stream_update, committed_changed) - 40usize];
744    ["Offset of field: transcribe_stream_update::tentative_changed"]
745        [::std::mem::offset_of!(transcribe_stream_update, tentative_changed) - 41usize];
746};
747unsafe extern "C" {
748    pub fn transcribe_stream_update_init(out: *mut transcribe_stream_update);
749}
750#[repr(C)]
751#[derive(Debug, Copy, Clone)]
752pub struct transcribe_stream_text {
753    pub struct_size: u64,
754    pub full_text: *const ::std::os::raw::c_char,
755    pub full_text_bytes: u64,
756    pub committed_text: *const ::std::os::raw::c_char,
757    pub committed_text_bytes: u64,
758    pub tentative_text: *const ::std::os::raw::c_char,
759    pub tentative_text_bytes: u64,
760    pub raw_tentative_start_bytes: u64,
761}
762#[allow(clippy::unnecessary_operation, clippy::identity_op)]
763const _: () = {
764    ["Size of transcribe_stream_text"][::std::mem::size_of::<transcribe_stream_text>() - 64usize];
765    ["Alignment of transcribe_stream_text"]
766        [::std::mem::align_of::<transcribe_stream_text>() - 8usize];
767    ["Offset of field: transcribe_stream_text::struct_size"]
768        [::std::mem::offset_of!(transcribe_stream_text, struct_size) - 0usize];
769    ["Offset of field: transcribe_stream_text::full_text"]
770        [::std::mem::offset_of!(transcribe_stream_text, full_text) - 8usize];
771    ["Offset of field: transcribe_stream_text::full_text_bytes"]
772        [::std::mem::offset_of!(transcribe_stream_text, full_text_bytes) - 16usize];
773    ["Offset of field: transcribe_stream_text::committed_text"]
774        [::std::mem::offset_of!(transcribe_stream_text, committed_text) - 24usize];
775    ["Offset of field: transcribe_stream_text::committed_text_bytes"]
776        [::std::mem::offset_of!(transcribe_stream_text, committed_text_bytes) - 32usize];
777    ["Offset of field: transcribe_stream_text::tentative_text"]
778        [::std::mem::offset_of!(transcribe_stream_text, tentative_text) - 40usize];
779    ["Offset of field: transcribe_stream_text::tentative_text_bytes"]
780        [::std::mem::offset_of!(transcribe_stream_text, tentative_text_bytes) - 48usize];
781    ["Offset of field: transcribe_stream_text::raw_tentative_start_bytes"]
782        [::std::mem::offset_of!(transcribe_stream_text, raw_tentative_start_bytes) - 56usize];
783};
784unsafe extern "C" {
785    pub fn transcribe_stream_text_init(out: *mut transcribe_stream_text);
786}
787unsafe extern "C" {
788    pub fn transcribe_stream_get_text(
789        session: *const transcribe_session,
790        out: *mut transcribe_stream_text,
791    ) -> transcribe_status;
792}
793unsafe extern "C" {
794    pub fn transcribe_stream_begin(
795        session: *mut transcribe_session,
796        run_params: *const transcribe_run_params,
797        stream_params: *const transcribe_stream_params,
798    ) -> transcribe_status;
799}
800unsafe extern "C" {
801    pub fn transcribe_stream_feed(
802        session: *mut transcribe_session,
803        pcm: *const f32,
804        n_samples: ::std::os::raw::c_int,
805        update: *mut transcribe_stream_update,
806    ) -> transcribe_status;
807}
808unsafe extern "C" {
809    pub fn transcribe_stream_finalize(
810        session: *mut transcribe_session,
811        update: *mut transcribe_stream_update,
812    ) -> transcribe_status;
813}
814unsafe extern "C" {
815    pub fn transcribe_stream_reset(session: *mut transcribe_session);
816}
817unsafe extern "C" {
818    pub fn transcribe_stream_get_state(
819        session: *const transcribe_session,
820    ) -> transcribe_stream_state;
821}
822unsafe extern "C" {
823    pub fn transcribe_stream_revision(session: *const transcribe_session) -> ::std::os::raw::c_int;
824}
825unsafe extern "C" {
826    pub fn transcribe_stream_n_committed_segments(
827        session: *const transcribe_session,
828    ) -> ::std::os::raw::c_int;
829}
830unsafe extern "C" {
831    pub fn transcribe_stream_n_committed_words(
832        session: *const transcribe_session,
833    ) -> ::std::os::raw::c_int;
834}
835unsafe extern "C" {
836    pub fn transcribe_stream_n_committed_tokens(
837        session: *const transcribe_session,
838    ) -> ::std::os::raw::c_int;
839}
840unsafe extern "C" {
841    pub fn transcribe_stream_last_status(session: *const transcribe_session) -> transcribe_status;
842}
843unsafe extern "C" {
844    pub fn transcribe_tokenize(
845        model: *const transcribe_model,
846        text: *const ::std::os::raw::c_char,
847        tokens: *mut i32,
848        n_max: usize,
849    ) -> ::std::os::raw::c_int;
850}
851#[repr(C)]
852#[derive(Debug, Copy, Clone)]
853pub struct transcribe_timings {
854    pub struct_size: u64,
855    pub load_ms: f32,
856    pub mel_ms: f32,
857    pub encode_ms: f32,
858    pub decode_ms: f32,
859}
860#[allow(clippy::unnecessary_operation, clippy::identity_op)]
861const _: () = {
862    ["Size of transcribe_timings"][::std::mem::size_of::<transcribe_timings>() - 24usize];
863    ["Alignment of transcribe_timings"][::std::mem::align_of::<transcribe_timings>() - 8usize];
864    ["Offset of field: transcribe_timings::struct_size"]
865        [::std::mem::offset_of!(transcribe_timings, struct_size) - 0usize];
866    ["Offset of field: transcribe_timings::load_ms"]
867        [::std::mem::offset_of!(transcribe_timings, load_ms) - 8usize];
868    ["Offset of field: transcribe_timings::mel_ms"]
869        [::std::mem::offset_of!(transcribe_timings, mel_ms) - 12usize];
870    ["Offset of field: transcribe_timings::encode_ms"]
871        [::std::mem::offset_of!(transcribe_timings, encode_ms) - 16usize];
872    ["Offset of field: transcribe_timings::decode_ms"]
873        [::std::mem::offset_of!(transcribe_timings, decode_ms) - 20usize];
874};
875unsafe extern "C" {
876    pub fn transcribe_timings_init(out: *mut transcribe_timings);
877}
878unsafe extern "C" {
879    pub fn transcribe_get_timings(
880        session: *const transcribe_session,
881        out_timings: *mut transcribe_timings,
882    ) -> transcribe_status;
883}
884unsafe extern "C" {
885    pub fn transcribe_print_timings(session: *const transcribe_session);
886}
887unsafe extern "C" {
888    pub fn transcribe_reset_timings(session: *mut transcribe_session);
889}
890unsafe extern "C" {
891    pub fn transcribe_full_text(
892        session: *const transcribe_session,
893    ) -> *const ::std::os::raw::c_char;
894}
895unsafe extern "C" {
896    pub fn transcribe_raw_text(session: *const transcribe_session)
897        -> *const ::std::os::raw::c_char;
898}
899unsafe extern "C" {
900    pub fn transcribe_returned_timestamp_kind(
901        session: *const transcribe_session,
902    ) -> transcribe_timestamp_kind;
903}
904unsafe extern "C" {
905    pub fn transcribe_n_segments(session: *const transcribe_session) -> ::std::os::raw::c_int;
906}
907unsafe extern "C" {
908    pub fn transcribe_n_words(session: *const transcribe_session) -> ::std::os::raw::c_int;
909}
910unsafe extern "C" {
911    pub fn transcribe_n_tokens(session: *const transcribe_session) -> ::std::os::raw::c_int;
912}
913unsafe extern "C" {
914    pub fn transcribe_detected_language(
915        session: *const transcribe_session,
916    ) -> *const ::std::os::raw::c_char;
917}
918#[repr(C)]
919#[derive(Debug, Copy, Clone)]
920pub struct transcribe_segment {
921    pub struct_size: u64,
922    pub t0_ms: i64,
923    pub t1_ms: i64,
924    pub first_word: ::std::os::raw::c_int,
925    pub n_words: ::std::os::raw::c_int,
926    pub first_token: ::std::os::raw::c_int,
927    pub n_tokens: ::std::os::raw::c_int,
928    pub text: *const ::std::os::raw::c_char,
929    pub speaker_id: i32,
930}
931#[allow(clippy::unnecessary_operation, clippy::identity_op)]
932const _: () = {
933    ["Size of transcribe_segment"][::std::mem::size_of::<transcribe_segment>() - 56usize];
934    ["Alignment of transcribe_segment"][::std::mem::align_of::<transcribe_segment>() - 8usize];
935    ["Offset of field: transcribe_segment::struct_size"]
936        [::std::mem::offset_of!(transcribe_segment, struct_size) - 0usize];
937    ["Offset of field: transcribe_segment::t0_ms"]
938        [::std::mem::offset_of!(transcribe_segment, t0_ms) - 8usize];
939    ["Offset of field: transcribe_segment::t1_ms"]
940        [::std::mem::offset_of!(transcribe_segment, t1_ms) - 16usize];
941    ["Offset of field: transcribe_segment::first_word"]
942        [::std::mem::offset_of!(transcribe_segment, first_word) - 24usize];
943    ["Offset of field: transcribe_segment::n_words"]
944        [::std::mem::offset_of!(transcribe_segment, n_words) - 28usize];
945    ["Offset of field: transcribe_segment::first_token"]
946        [::std::mem::offset_of!(transcribe_segment, first_token) - 32usize];
947    ["Offset of field: transcribe_segment::n_tokens"]
948        [::std::mem::offset_of!(transcribe_segment, n_tokens) - 36usize];
949    ["Offset of field: transcribe_segment::text"]
950        [::std::mem::offset_of!(transcribe_segment, text) - 40usize];
951    ["Offset of field: transcribe_segment::speaker_id"]
952        [::std::mem::offset_of!(transcribe_segment, speaker_id) - 48usize];
953};
954unsafe extern "C" {
955    pub fn transcribe_segment_init(out: *mut transcribe_segment);
956}
957#[repr(C)]
958#[derive(Debug, Copy, Clone)]
959pub struct transcribe_word {
960    pub struct_size: u64,
961    pub t0_ms: i64,
962    pub t1_ms: i64,
963    pub seg_index: ::std::os::raw::c_int,
964    pub first_token: ::std::os::raw::c_int,
965    pub n_tokens: ::std::os::raw::c_int,
966    pub text: *const ::std::os::raw::c_char,
967}
968#[allow(clippy::unnecessary_operation, clippy::identity_op)]
969const _: () = {
970    ["Size of transcribe_word"][::std::mem::size_of::<transcribe_word>() - 48usize];
971    ["Alignment of transcribe_word"][::std::mem::align_of::<transcribe_word>() - 8usize];
972    ["Offset of field: transcribe_word::struct_size"]
973        [::std::mem::offset_of!(transcribe_word, struct_size) - 0usize];
974    ["Offset of field: transcribe_word::t0_ms"]
975        [::std::mem::offset_of!(transcribe_word, t0_ms) - 8usize];
976    ["Offset of field: transcribe_word::t1_ms"]
977        [::std::mem::offset_of!(transcribe_word, t1_ms) - 16usize];
978    ["Offset of field: transcribe_word::seg_index"]
979        [::std::mem::offset_of!(transcribe_word, seg_index) - 24usize];
980    ["Offset of field: transcribe_word::first_token"]
981        [::std::mem::offset_of!(transcribe_word, first_token) - 28usize];
982    ["Offset of field: transcribe_word::n_tokens"]
983        [::std::mem::offset_of!(transcribe_word, n_tokens) - 32usize];
984    ["Offset of field: transcribe_word::text"]
985        [::std::mem::offset_of!(transcribe_word, text) - 40usize];
986};
987unsafe extern "C" {
988    pub fn transcribe_word_init(out: *mut transcribe_word);
989}
990#[repr(C)]
991#[derive(Debug, Copy, Clone)]
992pub struct transcribe_token {
993    pub struct_size: u64,
994    pub id: ::std::os::raw::c_int,
995    pub p: f32,
996    pub t0_ms: i64,
997    pub t1_ms: i64,
998    pub seg_index: ::std::os::raw::c_int,
999    pub word_index: ::std::os::raw::c_int,
1000    pub text: *const ::std::os::raw::c_char,
1001}
1002#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1003const _: () = {
1004    ["Size of transcribe_token"][::std::mem::size_of::<transcribe_token>() - 48usize];
1005    ["Alignment of transcribe_token"][::std::mem::align_of::<transcribe_token>() - 8usize];
1006    ["Offset of field: transcribe_token::struct_size"]
1007        [::std::mem::offset_of!(transcribe_token, struct_size) - 0usize];
1008    ["Offset of field: transcribe_token::id"]
1009        [::std::mem::offset_of!(transcribe_token, id) - 8usize];
1010    ["Offset of field: transcribe_token::p"][::std::mem::offset_of!(transcribe_token, p) - 12usize];
1011    ["Offset of field: transcribe_token::t0_ms"]
1012        [::std::mem::offset_of!(transcribe_token, t0_ms) - 16usize];
1013    ["Offset of field: transcribe_token::t1_ms"]
1014        [::std::mem::offset_of!(transcribe_token, t1_ms) - 24usize];
1015    ["Offset of field: transcribe_token::seg_index"]
1016        [::std::mem::offset_of!(transcribe_token, seg_index) - 32usize];
1017    ["Offset of field: transcribe_token::word_index"]
1018        [::std::mem::offset_of!(transcribe_token, word_index) - 36usize];
1019    ["Offset of field: transcribe_token::text"]
1020        [::std::mem::offset_of!(transcribe_token, text) - 40usize];
1021};
1022unsafe extern "C" {
1023    pub fn transcribe_token_init(out: *mut transcribe_token);
1024}
1025unsafe extern "C" {
1026    pub fn transcribe_get_segment(
1027        session: *const transcribe_session,
1028        i: ::std::os::raw::c_int,
1029        out: *mut transcribe_segment,
1030    ) -> transcribe_status;
1031}
1032unsafe extern "C" {
1033    pub fn transcribe_get_word(
1034        session: *const transcribe_session,
1035        i: ::std::os::raw::c_int,
1036        out: *mut transcribe_word,
1037    ) -> transcribe_status;
1038}
1039unsafe extern "C" {
1040    pub fn transcribe_get_token(
1041        session: *const transcribe_session,
1042        i: ::std::os::raw::c_int,
1043        out: *mut transcribe_token,
1044    ) -> transcribe_status;
1045}
1046#[repr(C)]
1047#[derive(Debug, Copy, Clone)]
1048pub struct transcribe_speaker_segment {
1049    pub struct_size: u64,
1050    pub t0_ms: i64,
1051    pub t1_ms: i64,
1052    pub speaker_id: i32,
1053    pub p: f32,
1054}
1055#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1056const _: () = {
1057    ["Size of transcribe_speaker_segment"]
1058        [::std::mem::size_of::<transcribe_speaker_segment>() - 32usize];
1059    ["Alignment of transcribe_speaker_segment"]
1060        [::std::mem::align_of::<transcribe_speaker_segment>() - 8usize];
1061    ["Offset of field: transcribe_speaker_segment::struct_size"]
1062        [::std::mem::offset_of!(transcribe_speaker_segment, struct_size) - 0usize];
1063    ["Offset of field: transcribe_speaker_segment::t0_ms"]
1064        [::std::mem::offset_of!(transcribe_speaker_segment, t0_ms) - 8usize];
1065    ["Offset of field: transcribe_speaker_segment::t1_ms"]
1066        [::std::mem::offset_of!(transcribe_speaker_segment, t1_ms) - 16usize];
1067    ["Offset of field: transcribe_speaker_segment::speaker_id"]
1068        [::std::mem::offset_of!(transcribe_speaker_segment, speaker_id) - 24usize];
1069    ["Offset of field: transcribe_speaker_segment::p"]
1070        [::std::mem::offset_of!(transcribe_speaker_segment, p) - 28usize];
1071};
1072unsafe extern "C" {
1073    pub fn transcribe_speaker_segment_init(out: *mut transcribe_speaker_segment);
1074}
1075unsafe extern "C" {
1076    pub fn transcribe_n_speaker_segments(
1077        session: *const transcribe_session,
1078    ) -> ::std::os::raw::c_int;
1079}
1080unsafe extern "C" {
1081    pub fn transcribe_get_speaker_segment(
1082        session: *const transcribe_session,
1083        i: ::std::os::raw::c_int,
1084        out: *mut transcribe_speaker_segment,
1085    ) -> transcribe_status;
1086}
1087unsafe extern "C" {
1088    pub fn transcribe_batch_n_results(session: *const transcribe_session) -> ::std::os::raw::c_int;
1089}
1090unsafe extern "C" {
1091    pub fn transcribe_batch_status(
1092        session: *const transcribe_session,
1093        i: ::std::os::raw::c_int,
1094    ) -> transcribe_status;
1095}
1096unsafe extern "C" {
1097    pub fn transcribe_batch_full_text(
1098        session: *const transcribe_session,
1099        i: ::std::os::raw::c_int,
1100    ) -> *const ::std::os::raw::c_char;
1101}
1102unsafe extern "C" {
1103    pub fn transcribe_batch_raw_text(
1104        session: *const transcribe_session,
1105        i: ::std::os::raw::c_int,
1106    ) -> *const ::std::os::raw::c_char;
1107}
1108unsafe extern "C" {
1109    pub fn transcribe_batch_returned_timestamp_kind(
1110        session: *const transcribe_session,
1111        i: ::std::os::raw::c_int,
1112    ) -> transcribe_timestamp_kind;
1113}
1114unsafe extern "C" {
1115    pub fn transcribe_batch_detected_language(
1116        session: *const transcribe_session,
1117        i: ::std::os::raw::c_int,
1118    ) -> *const ::std::os::raw::c_char;
1119}
1120unsafe extern "C" {
1121    pub fn transcribe_batch_n_segments(
1122        session: *const transcribe_session,
1123        i: ::std::os::raw::c_int,
1124    ) -> ::std::os::raw::c_int;
1125}
1126unsafe extern "C" {
1127    pub fn transcribe_batch_n_words(
1128        session: *const transcribe_session,
1129        i: ::std::os::raw::c_int,
1130    ) -> ::std::os::raw::c_int;
1131}
1132unsafe extern "C" {
1133    pub fn transcribe_batch_n_tokens(
1134        session: *const transcribe_session,
1135        i: ::std::os::raw::c_int,
1136    ) -> ::std::os::raw::c_int;
1137}
1138unsafe extern "C" {
1139    pub fn transcribe_batch_get_segment(
1140        session: *const transcribe_session,
1141        i: ::std::os::raw::c_int,
1142        j: ::std::os::raw::c_int,
1143        out: *mut transcribe_segment,
1144    ) -> transcribe_status;
1145}
1146unsafe extern "C" {
1147    pub fn transcribe_batch_get_word(
1148        session: *const transcribe_session,
1149        i: ::std::os::raw::c_int,
1150        j: ::std::os::raw::c_int,
1151        out: *mut transcribe_word,
1152    ) -> transcribe_status;
1153}
1154unsafe extern "C" {
1155    pub fn transcribe_batch_get_token(
1156        session: *const transcribe_session,
1157        i: ::std::os::raw::c_int,
1158        j: ::std::os::raw::c_int,
1159        out: *mut transcribe_token,
1160    ) -> transcribe_status;
1161}
1162unsafe extern "C" {
1163    pub fn transcribe_batch_n_speaker_segments(
1164        session: *const transcribe_session,
1165        i: ::std::os::raw::c_int,
1166    ) -> ::std::os::raw::c_int;
1167}
1168unsafe extern "C" {
1169    pub fn transcribe_batch_get_speaker_segment(
1170        session: *const transcribe_session,
1171        i: ::std::os::raw::c_int,
1172        j: ::std::os::raw::c_int,
1173        out: *mut transcribe_speaker_segment,
1174    ) -> transcribe_status;
1175}
1176unsafe extern "C" {
1177    pub fn transcribe_batch_get_timings(
1178        session: *const transcribe_session,
1179        i: ::std::os::raw::c_int,
1180        out: *mut transcribe_timings,
1181    ) -> transcribe_status;
1182}
1183#[repr(C)]
1184#[derive(Debug, Copy, Clone)]
1185pub struct transcribe_diarize_session {
1186    _unused: [u8; 0],
1187}
1188#[repr(C)]
1189#[derive(Debug, Copy, Clone)]
1190pub struct transcribe_diarize_info {
1191    pub struct_size: u64,
1192    pub sample_rate: i32,
1193    pub max_speakers: i32,
1194}
1195#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1196const _: () = {
1197    ["Size of transcribe_diarize_info"][::std::mem::size_of::<transcribe_diarize_info>() - 16usize];
1198    ["Alignment of transcribe_diarize_info"]
1199        [::std::mem::align_of::<transcribe_diarize_info>() - 8usize];
1200    ["Offset of field: transcribe_diarize_info::struct_size"]
1201        [::std::mem::offset_of!(transcribe_diarize_info, struct_size) - 0usize];
1202    ["Offset of field: transcribe_diarize_info::sample_rate"]
1203        [::std::mem::offset_of!(transcribe_diarize_info, sample_rate) - 8usize];
1204    ["Offset of field: transcribe_diarize_info::max_speakers"]
1205        [::std::mem::offset_of!(transcribe_diarize_info, max_speakers) - 12usize];
1206};
1207#[repr(C)]
1208#[derive(Debug, Copy, Clone)]
1209pub struct transcribe_diarize_session_params {
1210    pub struct_size: u64,
1211    pub n_threads: i32,
1212}
1213#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1214const _: () = {
1215    ["Size of transcribe_diarize_session_params"]
1216        [::std::mem::size_of::<transcribe_diarize_session_params>() - 16usize];
1217    ["Alignment of transcribe_diarize_session_params"]
1218        [::std::mem::align_of::<transcribe_diarize_session_params>() - 8usize];
1219    ["Offset of field: transcribe_diarize_session_params::struct_size"]
1220        [::std::mem::offset_of!(transcribe_diarize_session_params, struct_size) - 0usize];
1221    ["Offset of field: transcribe_diarize_session_params::n_threads"]
1222        [::std::mem::offset_of!(transcribe_diarize_session_params, n_threads) - 8usize];
1223};
1224#[repr(C)]
1225#[derive(Debug, Copy, Clone)]
1226pub struct transcribe_diarize_params {
1227    pub struct_size: u64,
1228    pub family: *const transcribe_ext,
1229}
1230#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1231const _: () = {
1232    ["Size of transcribe_diarize_params"]
1233        [::std::mem::size_of::<transcribe_diarize_params>() - 16usize];
1234    ["Alignment of transcribe_diarize_params"]
1235        [::std::mem::align_of::<transcribe_diarize_params>() - 8usize];
1236    ["Offset of field: transcribe_diarize_params::struct_size"]
1237        [::std::mem::offset_of!(transcribe_diarize_params, struct_size) - 0usize];
1238    ["Offset of field: transcribe_diarize_params::family"]
1239        [::std::mem::offset_of!(transcribe_diarize_params, family) - 8usize];
1240};
1241unsafe extern "C" {
1242    pub fn transcribe_diarize_info_init(out: *mut transcribe_diarize_info);
1243}
1244unsafe extern "C" {
1245    pub fn transcribe_diarize_session_params_init(params: *mut transcribe_diarize_session_params);
1246}
1247unsafe extern "C" {
1248    pub fn transcribe_diarize_params_init(params: *mut transcribe_diarize_params);
1249}
1250unsafe extern "C" {
1251    pub fn transcribe_diarize_get_info(
1252        model: *const transcribe_model,
1253        out: *mut transcribe_diarize_info,
1254    ) -> transcribe_status;
1255}
1256unsafe extern "C" {
1257    pub fn transcribe_diarize_session_init(
1258        model: *mut transcribe_model,
1259        params: *const transcribe_diarize_session_params,
1260        out_session: *mut *mut transcribe_diarize_session,
1261    ) -> transcribe_status;
1262}
1263unsafe extern "C" {
1264    pub fn transcribe_diarize_session_free(session: *mut transcribe_diarize_session);
1265}
1266unsafe extern "C" {
1267    pub fn transcribe_diarize_set_abort_callback(
1268        session: *mut transcribe_diarize_session,
1269        cb: transcribe_abort_callback,
1270        user_data: *mut ::std::os::raw::c_void,
1271    );
1272}
1273unsafe extern "C" {
1274    pub fn transcribe_diarize_run(
1275        session: *mut transcribe_diarize_session,
1276        pcm: *const f32,
1277        n_samples: ::std::os::raw::c_int,
1278        params: *const transcribe_diarize_params,
1279    ) -> transcribe_status;
1280}
1281unsafe extern "C" {
1282    pub fn transcribe_diarize_n_segments(
1283        session: *const transcribe_diarize_session,
1284    ) -> ::std::os::raw::c_int;
1285}
1286unsafe extern "C" {
1287    pub fn transcribe_diarize_get_segment(
1288        session: *const transcribe_diarize_session,
1289        i: ::std::os::raw::c_int,
1290        out: *mut transcribe_speaker_segment,
1291    ) -> transcribe_status;
1292}
1293unsafe extern "C" {
1294    pub fn transcribe_diarize_get_timings(
1295        session: *const transcribe_diarize_session,
1296        out: *mut transcribe_timings,
1297    ) -> transcribe_status;
1298}
1299#[repr(C)]
1300#[derive(Debug, Copy, Clone)]
1301pub struct transcribe_langid_session {
1302    _unused: [u8; 0],
1303}
1304#[repr(C)]
1305#[derive(Debug, Copy, Clone)]
1306pub struct transcribe_langid_info {
1307    pub struct_size: u64,
1308    pub sample_rate: i32,
1309    pub n_labels: i32,
1310    pub min_audio_ms: i32,
1311    pub max_audio_ms: i32,
1312}
1313#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1314const _: () = {
1315    ["Size of transcribe_langid_info"][::std::mem::size_of::<transcribe_langid_info>() - 24usize];
1316    ["Alignment of transcribe_langid_info"]
1317        [::std::mem::align_of::<transcribe_langid_info>() - 8usize];
1318    ["Offset of field: transcribe_langid_info::struct_size"]
1319        [::std::mem::offset_of!(transcribe_langid_info, struct_size) - 0usize];
1320    ["Offset of field: transcribe_langid_info::sample_rate"]
1321        [::std::mem::offset_of!(transcribe_langid_info, sample_rate) - 8usize];
1322    ["Offset of field: transcribe_langid_info::n_labels"]
1323        [::std::mem::offset_of!(transcribe_langid_info, n_labels) - 12usize];
1324    ["Offset of field: transcribe_langid_info::min_audio_ms"]
1325        [::std::mem::offset_of!(transcribe_langid_info, min_audio_ms) - 16usize];
1326    ["Offset of field: transcribe_langid_info::max_audio_ms"]
1327        [::std::mem::offset_of!(transcribe_langid_info, max_audio_ms) - 20usize];
1328};
1329#[repr(C)]
1330#[derive(Debug, Copy, Clone)]
1331pub struct transcribe_langid_session_params {
1332    pub struct_size: u64,
1333    pub n_threads: i32,
1334}
1335#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1336const _: () = {
1337    ["Size of transcribe_langid_session_params"]
1338        [::std::mem::size_of::<transcribe_langid_session_params>() - 16usize];
1339    ["Alignment of transcribe_langid_session_params"]
1340        [::std::mem::align_of::<transcribe_langid_session_params>() - 8usize];
1341    ["Offset of field: transcribe_langid_session_params::struct_size"]
1342        [::std::mem::offset_of!(transcribe_langid_session_params, struct_size) - 0usize];
1343    ["Offset of field: transcribe_langid_session_params::n_threads"]
1344        [::std::mem::offset_of!(transcribe_langid_session_params, n_threads) - 8usize];
1345};
1346#[repr(C)]
1347#[derive(Debug, Copy, Clone)]
1348pub struct transcribe_langid_params {
1349    pub struct_size: u64,
1350    pub allowed: *const *const ::std::os::raw::c_char,
1351    pub n_allowed: i32,
1352}
1353#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1354const _: () = {
1355    ["Size of transcribe_langid_params"]
1356        [::std::mem::size_of::<transcribe_langid_params>() - 24usize];
1357    ["Alignment of transcribe_langid_params"]
1358        [::std::mem::align_of::<transcribe_langid_params>() - 8usize];
1359    ["Offset of field: transcribe_langid_params::struct_size"]
1360        [::std::mem::offset_of!(transcribe_langid_params, struct_size) - 0usize];
1361    ["Offset of field: transcribe_langid_params::allowed"]
1362        [::std::mem::offset_of!(transcribe_langid_params, allowed) - 8usize];
1363    ["Offset of field: transcribe_langid_params::n_allowed"]
1364        [::std::mem::offset_of!(transcribe_langid_params, n_allowed) - 16usize];
1365};
1366#[repr(C)]
1367#[derive(Debug, Copy, Clone)]
1368pub struct transcribe_langid_result {
1369    pub struct_size: u64,
1370    pub n_candidates: i32,
1371    pub allowed_mass: f32,
1372}
1373#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1374const _: () = {
1375    ["Size of transcribe_langid_result"]
1376        [::std::mem::size_of::<transcribe_langid_result>() - 16usize];
1377    ["Alignment of transcribe_langid_result"]
1378        [::std::mem::align_of::<transcribe_langid_result>() - 8usize];
1379    ["Offset of field: transcribe_langid_result::struct_size"]
1380        [::std::mem::offset_of!(transcribe_langid_result, struct_size) - 0usize];
1381    ["Offset of field: transcribe_langid_result::n_candidates"]
1382        [::std::mem::offset_of!(transcribe_langid_result, n_candidates) - 8usize];
1383    ["Offset of field: transcribe_langid_result::allowed_mass"]
1384        [::std::mem::offset_of!(transcribe_langid_result, allowed_mass) - 12usize];
1385};
1386#[repr(C)]
1387#[derive(Debug, Copy, Clone)]
1388pub struct transcribe_langid_candidate {
1389    pub struct_size: u64,
1390    pub index: i32,
1391    pub code: *const ::std::os::raw::c_char,
1392    pub name: *const ::std::os::raw::c_char,
1393    pub p: f32,
1394    pub logit: f32,
1395}
1396#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1397const _: () = {
1398    ["Size of transcribe_langid_candidate"]
1399        [::std::mem::size_of::<transcribe_langid_candidate>() - 40usize];
1400    ["Alignment of transcribe_langid_candidate"]
1401        [::std::mem::align_of::<transcribe_langid_candidate>() - 8usize];
1402    ["Offset of field: transcribe_langid_candidate::struct_size"]
1403        [::std::mem::offset_of!(transcribe_langid_candidate, struct_size) - 0usize];
1404    ["Offset of field: transcribe_langid_candidate::index"]
1405        [::std::mem::offset_of!(transcribe_langid_candidate, index) - 8usize];
1406    ["Offset of field: transcribe_langid_candidate::code"]
1407        [::std::mem::offset_of!(transcribe_langid_candidate, code) - 16usize];
1408    ["Offset of field: transcribe_langid_candidate::name"]
1409        [::std::mem::offset_of!(transcribe_langid_candidate, name) - 24usize];
1410    ["Offset of field: transcribe_langid_candidate::p"]
1411        [::std::mem::offset_of!(transcribe_langid_candidate, p) - 32usize];
1412    ["Offset of field: transcribe_langid_candidate::logit"]
1413        [::std::mem::offset_of!(transcribe_langid_candidate, logit) - 36usize];
1414};
1415unsafe extern "C" {
1416    pub fn transcribe_langid_info_init(out: *mut transcribe_langid_info);
1417}
1418unsafe extern "C" {
1419    pub fn transcribe_langid_session_params_init(params: *mut transcribe_langid_session_params);
1420}
1421unsafe extern "C" {
1422    pub fn transcribe_langid_params_init(params: *mut transcribe_langid_params);
1423}
1424unsafe extern "C" {
1425    pub fn transcribe_langid_result_init(out: *mut transcribe_langid_result);
1426}
1427unsafe extern "C" {
1428    pub fn transcribe_langid_candidate_init(out: *mut transcribe_langid_candidate);
1429}
1430unsafe extern "C" {
1431    pub fn transcribe_langid_get_info(
1432        model: *const transcribe_model,
1433        out: *mut transcribe_langid_info,
1434    ) -> transcribe_status;
1435}
1436unsafe extern "C" {
1437    pub fn transcribe_langid_label_code(
1438        model: *const transcribe_model,
1439        i: i32,
1440    ) -> *const ::std::os::raw::c_char;
1441}
1442unsafe extern "C" {
1443    pub fn transcribe_langid_label_name(
1444        model: *const transcribe_model,
1445        i: i32,
1446    ) -> *const ::std::os::raw::c_char;
1447}
1448unsafe extern "C" {
1449    pub fn transcribe_langid_label_index(
1450        model: *const transcribe_model,
1451        code_or_alias: *const ::std::os::raw::c_char,
1452    ) -> i32;
1453}
1454unsafe extern "C" {
1455    pub fn transcribe_langid_session_init(
1456        model: *mut transcribe_model,
1457        params: *const transcribe_langid_session_params,
1458        out_session: *mut *mut transcribe_langid_session,
1459    ) -> transcribe_status;
1460}
1461unsafe extern "C" {
1462    pub fn transcribe_langid_session_free(session: *mut transcribe_langid_session);
1463}
1464unsafe extern "C" {
1465    pub fn transcribe_langid_set_abort_callback(
1466        session: *mut transcribe_langid_session,
1467        cb: transcribe_abort_callback,
1468        user_data: *mut ::std::os::raw::c_void,
1469    );
1470}
1471unsafe extern "C" {
1472    pub fn transcribe_langid_run(
1473        session: *mut transcribe_langid_session,
1474        pcm: *const f32,
1475        n_samples: ::std::os::raw::c_int,
1476        params: *const transcribe_langid_params,
1477    ) -> transcribe_status;
1478}
1479unsafe extern "C" {
1480    pub fn transcribe_langid_get_result(
1481        session: *const transcribe_langid_session,
1482        out: *mut transcribe_langid_result,
1483    ) -> transcribe_status;
1484}
1485unsafe extern "C" {
1486    pub fn transcribe_langid_get_candidate(
1487        session: *const transcribe_langid_session,
1488        i: ::std::os::raw::c_int,
1489        out: *mut transcribe_langid_candidate,
1490    ) -> transcribe_status;
1491}
1492unsafe extern "C" {
1493    pub fn transcribe_langid_get_timings(
1494        session: *const transcribe_langid_session,
1495        out: *mut transcribe_timings,
1496    ) -> transcribe_status;
1497}
1498#[repr(C)]
1499#[derive(Debug, Copy, Clone)]
1500pub struct transcribe_moonshine_streaming_stream_ext {
1501    pub ext: transcribe_ext,
1502    pub min_decode_interval_ms: i32,
1503}
1504#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1505const _: () = {
1506    ["Size of transcribe_moonshine_streaming_stream_ext"]
1507        [::std::mem::size_of::<transcribe_moonshine_streaming_stream_ext>() - 24usize];
1508    ["Alignment of transcribe_moonshine_streaming_stream_ext"]
1509        [::std::mem::align_of::<transcribe_moonshine_streaming_stream_ext>() - 8usize];
1510    ["Offset of field: transcribe_moonshine_streaming_stream_ext::ext"]
1511        [::std::mem::offset_of!(transcribe_moonshine_streaming_stream_ext, ext) - 0usize];
1512    ["Offset of field: transcribe_moonshine_streaming_stream_ext::min_decode_interval_ms"][::std::mem::offset_of!(
1513        transcribe_moonshine_streaming_stream_ext,
1514        min_decode_interval_ms
1515    )
1516        - 16usize];
1517};
1518unsafe extern "C" {
1519    pub fn transcribe_moonshine_streaming_stream_ext_init(
1520        ext: *mut transcribe_moonshine_streaming_stream_ext,
1521    );
1522}
1523#[repr(C)]
1524#[derive(Debug, Copy, Clone)]
1525pub struct transcribe_parakeet_stream_ext {
1526    pub ext: transcribe_ext,
1527    pub att_context_right: i32,
1528}
1529#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1530const _: () = {
1531    ["Size of transcribe_parakeet_stream_ext"]
1532        [::std::mem::size_of::<transcribe_parakeet_stream_ext>() - 24usize];
1533    ["Alignment of transcribe_parakeet_stream_ext"]
1534        [::std::mem::align_of::<transcribe_parakeet_stream_ext>() - 8usize];
1535    ["Offset of field: transcribe_parakeet_stream_ext::ext"]
1536        [::std::mem::offset_of!(transcribe_parakeet_stream_ext, ext) - 0usize];
1537    ["Offset of field: transcribe_parakeet_stream_ext::att_context_right"]
1538        [::std::mem::offset_of!(transcribe_parakeet_stream_ext, att_context_right) - 16usize];
1539};
1540unsafe extern "C" {
1541    pub fn transcribe_parakeet_stream_ext_init(ext: *mut transcribe_parakeet_stream_ext);
1542}
1543#[repr(C)]
1544#[derive(Debug, Copy, Clone)]
1545pub struct transcribe_parakeet_buffered_stream_ext {
1546    pub ext: transcribe_ext,
1547    pub left_ms: i32,
1548    pub chunk_ms: i32,
1549    pub right_ms: i32,
1550}
1551#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1552const _: () = {
1553    ["Size of transcribe_parakeet_buffered_stream_ext"]
1554        [::std::mem::size_of::<transcribe_parakeet_buffered_stream_ext>() - 32usize];
1555    ["Alignment of transcribe_parakeet_buffered_stream_ext"]
1556        [::std::mem::align_of::<transcribe_parakeet_buffered_stream_ext>() - 8usize];
1557    ["Offset of field: transcribe_parakeet_buffered_stream_ext::ext"]
1558        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, ext) - 0usize];
1559    ["Offset of field: transcribe_parakeet_buffered_stream_ext::left_ms"]
1560        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, left_ms) - 16usize];
1561    ["Offset of field: transcribe_parakeet_buffered_stream_ext::chunk_ms"]
1562        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, chunk_ms) - 20usize];
1563    ["Offset of field: transcribe_parakeet_buffered_stream_ext::right_ms"]
1564        [::std::mem::offset_of!(transcribe_parakeet_buffered_stream_ext, right_ms) - 24usize];
1565};
1566unsafe extern "C" {
1567    pub fn transcribe_parakeet_buffered_stream_ext_init(
1568        ext: *mut transcribe_parakeet_buffered_stream_ext,
1569    );
1570}
1571impl transcribe_sortformer_preset {
1572    pub const TRANSCRIBE_SORTFORMER_PRESET_DEFAULT: transcribe_sortformer_preset =
1573        transcribe_sortformer_preset(0);
1574    pub const TRANSCRIBE_SORTFORMER_PRESET_VERY_HIGH_LATENCY: transcribe_sortformer_preset =
1575        transcribe_sortformer_preset(1);
1576    pub const TRANSCRIBE_SORTFORMER_PRESET_HIGH_LATENCY: transcribe_sortformer_preset =
1577        transcribe_sortformer_preset(2);
1578    pub const TRANSCRIBE_SORTFORMER_PRESET_LOW_LATENCY: transcribe_sortformer_preset =
1579        transcribe_sortformer_preset(3);
1580}
1581#[repr(transparent)]
1582#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1583pub struct transcribe_sortformer_preset(pub ::std::os::raw::c_uint);
1584#[repr(C)]
1585#[derive(Debug, Copy, Clone)]
1586pub struct transcribe_sortformer_diarize_ext {
1587    pub ext: transcribe_ext,
1588    pub preset: transcribe_sortformer_preset,
1589}
1590#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1591const _: () = {
1592    ["Size of transcribe_sortformer_diarize_ext"]
1593        [::std::mem::size_of::<transcribe_sortformer_diarize_ext>() - 24usize];
1594    ["Alignment of transcribe_sortformer_diarize_ext"]
1595        [::std::mem::align_of::<transcribe_sortformer_diarize_ext>() - 8usize];
1596    ["Offset of field: transcribe_sortformer_diarize_ext::ext"]
1597        [::std::mem::offset_of!(transcribe_sortformer_diarize_ext, ext) - 0usize];
1598    ["Offset of field: transcribe_sortformer_diarize_ext::preset"]
1599        [::std::mem::offset_of!(transcribe_sortformer_diarize_ext, preset) - 16usize];
1600};
1601unsafe extern "C" {
1602    pub fn transcribe_sortformer_diarize_ext_init(ext: *mut transcribe_sortformer_diarize_ext);
1603}
1604#[repr(C)]
1605#[derive(Debug, Copy, Clone)]
1606pub struct transcribe_vad_session {
1607    _unused: [u8; 0],
1608}
1609#[repr(C)]
1610#[derive(Debug, Copy, Clone)]
1611pub struct transcribe_vad_info {
1612    pub struct_size: u64,
1613    pub sample_rate: i32,
1614    pub frame_samples: i32,
1615}
1616#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1617const _: () = {
1618    ["Size of transcribe_vad_info"][::std::mem::size_of::<transcribe_vad_info>() - 16usize];
1619    ["Alignment of transcribe_vad_info"][::std::mem::align_of::<transcribe_vad_info>() - 8usize];
1620    ["Offset of field: transcribe_vad_info::struct_size"]
1621        [::std::mem::offset_of!(transcribe_vad_info, struct_size) - 0usize];
1622    ["Offset of field: transcribe_vad_info::sample_rate"]
1623        [::std::mem::offset_of!(transcribe_vad_info, sample_rate) - 8usize];
1624    ["Offset of field: transcribe_vad_info::frame_samples"]
1625        [::std::mem::offset_of!(transcribe_vad_info, frame_samples) - 12usize];
1626};
1627#[repr(C)]
1628#[derive(Debug, Copy, Clone)]
1629pub struct transcribe_vad_session_params {
1630    pub struct_size: u64,
1631    pub n_threads: i32,
1632}
1633#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1634const _: () = {
1635    ["Size of transcribe_vad_session_params"]
1636        [::std::mem::size_of::<transcribe_vad_session_params>() - 16usize];
1637    ["Alignment of transcribe_vad_session_params"]
1638        [::std::mem::align_of::<transcribe_vad_session_params>() - 8usize];
1639    ["Offset of field: transcribe_vad_session_params::struct_size"]
1640        [::std::mem::offset_of!(transcribe_vad_session_params, struct_size) - 0usize];
1641    ["Offset of field: transcribe_vad_session_params::n_threads"]
1642        [::std::mem::offset_of!(transcribe_vad_session_params, n_threads) - 8usize];
1643};
1644#[repr(C)]
1645#[derive(Debug, Copy, Clone)]
1646pub struct transcribe_vad_params {
1647    pub struct_size: u64,
1648    pub threshold: f64,
1649    pub neg_threshold: f64,
1650    pub min_speech_ms: i32,
1651    pub min_silence_ms: i32,
1652    pub speech_pad_ms: i32,
1653    pub max_speech_ms: i32,
1654}
1655#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1656const _: () = {
1657    ["Size of transcribe_vad_params"][::std::mem::size_of::<transcribe_vad_params>() - 40usize];
1658    ["Alignment of transcribe_vad_params"]
1659        [::std::mem::align_of::<transcribe_vad_params>() - 8usize];
1660    ["Offset of field: transcribe_vad_params::struct_size"]
1661        [::std::mem::offset_of!(transcribe_vad_params, struct_size) - 0usize];
1662    ["Offset of field: transcribe_vad_params::threshold"]
1663        [::std::mem::offset_of!(transcribe_vad_params, threshold) - 8usize];
1664    ["Offset of field: transcribe_vad_params::neg_threshold"]
1665        [::std::mem::offset_of!(transcribe_vad_params, neg_threshold) - 16usize];
1666    ["Offset of field: transcribe_vad_params::min_speech_ms"]
1667        [::std::mem::offset_of!(transcribe_vad_params, min_speech_ms) - 24usize];
1668    ["Offset of field: transcribe_vad_params::min_silence_ms"]
1669        [::std::mem::offset_of!(transcribe_vad_params, min_silence_ms) - 28usize];
1670    ["Offset of field: transcribe_vad_params::speech_pad_ms"]
1671        [::std::mem::offset_of!(transcribe_vad_params, speech_pad_ms) - 32usize];
1672    ["Offset of field: transcribe_vad_params::max_speech_ms"]
1673        [::std::mem::offset_of!(transcribe_vad_params, max_speech_ms) - 36usize];
1674};
1675#[repr(C)]
1676#[derive(Debug, Copy, Clone)]
1677pub struct transcribe_vad_result {
1678    pub struct_size: u64,
1679    pub n_probs: i32,
1680    pub first_frame: i64,
1681    pub n_segments: i32,
1682}
1683#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1684const _: () = {
1685    ["Size of transcribe_vad_result"][::std::mem::size_of::<transcribe_vad_result>() - 32usize];
1686    ["Alignment of transcribe_vad_result"]
1687        [::std::mem::align_of::<transcribe_vad_result>() - 8usize];
1688    ["Offset of field: transcribe_vad_result::struct_size"]
1689        [::std::mem::offset_of!(transcribe_vad_result, struct_size) - 0usize];
1690    ["Offset of field: transcribe_vad_result::n_probs"]
1691        [::std::mem::offset_of!(transcribe_vad_result, n_probs) - 8usize];
1692    ["Offset of field: transcribe_vad_result::first_frame"]
1693        [::std::mem::offset_of!(transcribe_vad_result, first_frame) - 16usize];
1694    ["Offset of field: transcribe_vad_result::n_segments"]
1695        [::std::mem::offset_of!(transcribe_vad_result, n_segments) - 24usize];
1696};
1697#[repr(C)]
1698#[derive(Debug, Copy, Clone)]
1699pub struct transcribe_vad_segment {
1700    pub struct_size: u64,
1701    pub start_sample: i64,
1702    pub end_sample: i64,
1703}
1704#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1705const _: () = {
1706    ["Size of transcribe_vad_segment"][::std::mem::size_of::<transcribe_vad_segment>() - 24usize];
1707    ["Alignment of transcribe_vad_segment"]
1708        [::std::mem::align_of::<transcribe_vad_segment>() - 8usize];
1709    ["Offset of field: transcribe_vad_segment::struct_size"]
1710        [::std::mem::offset_of!(transcribe_vad_segment, struct_size) - 0usize];
1711    ["Offset of field: transcribe_vad_segment::start_sample"]
1712        [::std::mem::offset_of!(transcribe_vad_segment, start_sample) - 8usize];
1713    ["Offset of field: transcribe_vad_segment::end_sample"]
1714        [::std::mem::offset_of!(transcribe_vad_segment, end_sample) - 16usize];
1715};
1716unsafe extern "C" {
1717    pub fn transcribe_vad_info_init(out: *mut transcribe_vad_info);
1718}
1719unsafe extern "C" {
1720    pub fn transcribe_vad_session_params_init(params: *mut transcribe_vad_session_params);
1721}
1722unsafe extern "C" {
1723    pub fn transcribe_vad_params_init(params: *mut transcribe_vad_params);
1724}
1725unsafe extern "C" {
1726    pub fn transcribe_vad_result_init(out: *mut transcribe_vad_result);
1727}
1728unsafe extern "C" {
1729    pub fn transcribe_vad_segment_init(out: *mut transcribe_vad_segment);
1730}
1731unsafe extern "C" {
1732    pub fn transcribe_vad_get_info(
1733        model: *const transcribe_model,
1734        out: *mut transcribe_vad_info,
1735    ) -> transcribe_status;
1736}
1737unsafe extern "C" {
1738    pub fn transcribe_vad_session_init(
1739        model: *mut transcribe_model,
1740        params: *const transcribe_vad_session_params,
1741        out_session: *mut *mut transcribe_vad_session,
1742    ) -> transcribe_status;
1743}
1744unsafe extern "C" {
1745    pub fn transcribe_vad_session_free(session: *mut transcribe_vad_session);
1746}
1747unsafe extern "C" {
1748    pub fn transcribe_vad_set_abort_callback(
1749        session: *mut transcribe_vad_session,
1750        cb: transcribe_abort_callback,
1751        user_data: *mut ::std::os::raw::c_void,
1752    );
1753}
1754unsafe extern "C" {
1755    pub fn transcribe_vad_run(
1756        session: *mut transcribe_vad_session,
1757        pcm: *const f32,
1758        n_samples: ::std::os::raw::c_int,
1759        params: *const transcribe_vad_params,
1760    ) -> transcribe_status;
1761}
1762unsafe extern "C" {
1763    pub fn transcribe_vad_stream_feed(
1764        session: *mut transcribe_vad_session,
1765        pcm: *const f32,
1766        n_samples: ::std::os::raw::c_int,
1767    ) -> transcribe_status;
1768}
1769unsafe extern "C" {
1770    pub fn transcribe_vad_stream_flush(session: *mut transcribe_vad_session) -> transcribe_status;
1771}
1772unsafe extern "C" {
1773    pub fn transcribe_vad_stream_reset(session: *mut transcribe_vad_session);
1774}
1775unsafe extern "C" {
1776    pub fn transcribe_vad_get_result(
1777        session: *const transcribe_vad_session,
1778        out: *mut transcribe_vad_result,
1779    ) -> transcribe_status;
1780}
1781unsafe extern "C" {
1782    pub fn transcribe_vad_probs(session: *const transcribe_vad_session) -> *const f32;
1783}
1784unsafe extern "C" {
1785    pub fn transcribe_vad_get_segment(
1786        session: *const transcribe_vad_session,
1787        i: ::std::os::raw::c_int,
1788        out: *mut transcribe_vad_segment,
1789    ) -> transcribe_status;
1790}
1791unsafe extern "C" {
1792    pub fn transcribe_vad_get_timings(
1793        session: *const transcribe_vad_session,
1794        out: *mut transcribe_timings,
1795    ) -> transcribe_status;
1796}
1797#[repr(C)]
1798#[derive(Debug, Copy, Clone)]
1799pub struct transcribe_voxtral_realtime_stream_ext {
1800    pub ext: transcribe_ext,
1801    pub num_delay_tokens: i32,
1802    pub min_decode_interval_ms: i32,
1803}
1804#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1805const _: () = {
1806    ["Size of transcribe_voxtral_realtime_stream_ext"]
1807        [::std::mem::size_of::<transcribe_voxtral_realtime_stream_ext>() - 24usize];
1808    ["Alignment of transcribe_voxtral_realtime_stream_ext"]
1809        [::std::mem::align_of::<transcribe_voxtral_realtime_stream_ext>() - 8usize];
1810    ["Offset of field: transcribe_voxtral_realtime_stream_ext::ext"]
1811        [::std::mem::offset_of!(transcribe_voxtral_realtime_stream_ext, ext) - 0usize];
1812    ["Offset of field: transcribe_voxtral_realtime_stream_ext::num_delay_tokens"][::std::mem::offset_of!(
1813        transcribe_voxtral_realtime_stream_ext,
1814        num_delay_tokens
1815    ) - 16usize];
1816    ["Offset of field: transcribe_voxtral_realtime_stream_ext::min_decode_interval_ms"][::std::mem::offset_of!(
1817        transcribe_voxtral_realtime_stream_ext,
1818        min_decode_interval_ms
1819    )
1820        - 20usize];
1821};
1822unsafe extern "C" {
1823    pub fn transcribe_voxtral_realtime_stream_ext_init(
1824        ext: *mut transcribe_voxtral_realtime_stream_ext,
1825    );
1826}
1827impl transcribe_whisper_prompt_condition {
1828    pub const TRANSCRIBE_WHISPER_PROMPT_FIRST_SEGMENT: transcribe_whisper_prompt_condition =
1829        transcribe_whisper_prompt_condition(0);
1830    pub const TRANSCRIBE_WHISPER_PROMPT_ALL_SEGMENTS: transcribe_whisper_prompt_condition =
1831        transcribe_whisper_prompt_condition(1);
1832}
1833#[repr(transparent)]
1834#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1835pub struct transcribe_whisper_prompt_condition(pub ::std::os::raw::c_uint);
1836#[repr(C)]
1837#[derive(Debug, Copy, Clone)]
1838pub struct transcribe_whisper_run_ext {
1839    pub ext: transcribe_ext,
1840    pub initial_prompt: *const ::std::os::raw::c_char,
1841    pub prompt_tokens: *const i32,
1842    pub n_prompt_tokens: usize,
1843    pub prompt_condition: transcribe_whisper_prompt_condition,
1844    pub condition_on_prev_tokens: bool,
1845    pub max_prev_context_tokens: i32,
1846    pub temperature: f32,
1847    pub temperature_inc: f32,
1848    pub compression_ratio_thold: f32,
1849    pub logprob_thold: f32,
1850    pub no_speech_thold: f32,
1851    pub seed: u32,
1852    pub max_initial_timestamp: f32,
1853}
1854#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1855const _: () = {
1856    ["Size of transcribe_whisper_run_ext"]
1857        [::std::mem::size_of::<transcribe_whisper_run_ext>() - 80usize];
1858    ["Alignment of transcribe_whisper_run_ext"]
1859        [::std::mem::align_of::<transcribe_whisper_run_ext>() - 8usize];
1860    ["Offset of field: transcribe_whisper_run_ext::ext"]
1861        [::std::mem::offset_of!(transcribe_whisper_run_ext, ext) - 0usize];
1862    ["Offset of field: transcribe_whisper_run_ext::initial_prompt"]
1863        [::std::mem::offset_of!(transcribe_whisper_run_ext, initial_prompt) - 16usize];
1864    ["Offset of field: transcribe_whisper_run_ext::prompt_tokens"]
1865        [::std::mem::offset_of!(transcribe_whisper_run_ext, prompt_tokens) - 24usize];
1866    ["Offset of field: transcribe_whisper_run_ext::n_prompt_tokens"]
1867        [::std::mem::offset_of!(transcribe_whisper_run_ext, n_prompt_tokens) - 32usize];
1868    ["Offset of field: transcribe_whisper_run_ext::prompt_condition"]
1869        [::std::mem::offset_of!(transcribe_whisper_run_ext, prompt_condition) - 40usize];
1870    ["Offset of field: transcribe_whisper_run_ext::condition_on_prev_tokens"]
1871        [::std::mem::offset_of!(transcribe_whisper_run_ext, condition_on_prev_tokens) - 44usize];
1872    ["Offset of field: transcribe_whisper_run_ext::max_prev_context_tokens"]
1873        [::std::mem::offset_of!(transcribe_whisper_run_ext, max_prev_context_tokens) - 48usize];
1874    ["Offset of field: transcribe_whisper_run_ext::temperature"]
1875        [::std::mem::offset_of!(transcribe_whisper_run_ext, temperature) - 52usize];
1876    ["Offset of field: transcribe_whisper_run_ext::temperature_inc"]
1877        [::std::mem::offset_of!(transcribe_whisper_run_ext, temperature_inc) - 56usize];
1878    ["Offset of field: transcribe_whisper_run_ext::compression_ratio_thold"]
1879        [::std::mem::offset_of!(transcribe_whisper_run_ext, compression_ratio_thold) - 60usize];
1880    ["Offset of field: transcribe_whisper_run_ext::logprob_thold"]
1881        [::std::mem::offset_of!(transcribe_whisper_run_ext, logprob_thold) - 64usize];
1882    ["Offset of field: transcribe_whisper_run_ext::no_speech_thold"]
1883        [::std::mem::offset_of!(transcribe_whisper_run_ext, no_speech_thold) - 68usize];
1884    ["Offset of field: transcribe_whisper_run_ext::seed"]
1885        [::std::mem::offset_of!(transcribe_whisper_run_ext, seed) - 72usize];
1886    ["Offset of field: transcribe_whisper_run_ext::max_initial_timestamp"]
1887        [::std::mem::offset_of!(transcribe_whisper_run_ext, max_initial_timestamp) - 76usize];
1888};
1889unsafe extern "C" {
1890    pub fn transcribe_whisper_run_ext_init(ext: *mut transcribe_whisper_run_ext);
1891}
1892#[repr(C)]
1893#[derive(Debug, Copy, Clone)]
1894pub struct transcribe_whisper_chunk_trace {
1895    pub struct_size: u64,
1896    pub t0_ms: i64,
1897    pub t1_ms: i64,
1898    pub temperature_used: f32,
1899    pub compression_ratio: f32,
1900    pub avg_logprob: f32,
1901    pub no_speech_prob: f32,
1902    pub no_speech_triggered: bool,
1903    pub n_fallbacks: i32,
1904}
1905#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1906const _: () = {
1907    ["Size of transcribe_whisper_chunk_trace"]
1908        [::std::mem::size_of::<transcribe_whisper_chunk_trace>() - 48usize];
1909    ["Alignment of transcribe_whisper_chunk_trace"]
1910        [::std::mem::align_of::<transcribe_whisper_chunk_trace>() - 8usize];
1911    ["Offset of field: transcribe_whisper_chunk_trace::struct_size"]
1912        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, struct_size) - 0usize];
1913    ["Offset of field: transcribe_whisper_chunk_trace::t0_ms"]
1914        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, t0_ms) - 8usize];
1915    ["Offset of field: transcribe_whisper_chunk_trace::t1_ms"]
1916        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, t1_ms) - 16usize];
1917    ["Offset of field: transcribe_whisper_chunk_trace::temperature_used"]
1918        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, temperature_used) - 24usize];
1919    ["Offset of field: transcribe_whisper_chunk_trace::compression_ratio"]
1920        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, compression_ratio) - 28usize];
1921    ["Offset of field: transcribe_whisper_chunk_trace::avg_logprob"]
1922        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, avg_logprob) - 32usize];
1923    ["Offset of field: transcribe_whisper_chunk_trace::no_speech_prob"]
1924        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, no_speech_prob) - 36usize];
1925    ["Offset of field: transcribe_whisper_chunk_trace::no_speech_triggered"]
1926        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, no_speech_triggered) - 40usize];
1927    ["Offset of field: transcribe_whisper_chunk_trace::n_fallbacks"]
1928        [::std::mem::offset_of!(transcribe_whisper_chunk_trace, n_fallbacks) - 44usize];
1929};
1930unsafe extern "C" {
1931    pub fn transcribe_whisper_chunk_trace_init(out: *mut transcribe_whisper_chunk_trace);
1932}
1933unsafe extern "C" {
1934    pub fn transcribe_get_whisper_chunk_count(
1935        session: *const transcribe_session,
1936    ) -> ::std::os::raw::c_int;
1937}
1938unsafe extern "C" {
1939    pub fn transcribe_get_whisper_chunk_trace(
1940        session: *const transcribe_session,
1941        i: ::std::os::raw::c_int,
1942        out_trace: *mut transcribe_whisper_chunk_trace,
1943    ) -> transcribe_status;
1944}