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