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