Skip to main content

vorbisenc_sys/
lib.rs

1#![allow(non_snake_case)]
2
3extern crate libc;
4extern crate vorbis_sys;
5
6#[repr(C)]
7pub struct ovectl_ratemanage_arg {
8    pub management_active: libc::c_int,
9    pub bitrate_hard_min: libc::c_long,
10    pub bitrate_hard_max: libc::c_long,
11    pub bitrate_hard_window: libc::c_double,
12    pub bitrate_av_lo: libc::c_long,
13    pub bitrate_av_hi: libc::c_long,
14    pub bitrate_av_window: libc::c_double,
15    pub bitrate_av_window_center: libc::c_double
16}
17#[repr(C)]
18pub struct ovectl_ratemanage2_arg {
19    pub management_active: libc::c_int,
20    pub bitrate_limit_min_kbps: libc::c_long,
21    pub bitrate_limit_max_kbps: libc::c_long,
22    pub bitrate_limit_reservoir_bits: libc::c_long,
23    pub bitrate_limit_reservoir_bias: libc::c_double,
24    pub bitrate_average_kbps: libc::c_long,
25    pub bitrate_average_damping: libc::c_double
26}
27
28pub const OV_ECTL_RATEMANAGE2_GET: libc::c_int = 0x14;
29pub const OV_ECTL_RATEMANAGE2_SET: libc::c_int = 0x15;
30pub const OV_ECTL_LOWPASS_GET: libc::c_int = 0x20;
31pub const OV_ECTL_LOWPASS_SET: libc::c_int = 0x21;
32pub const OV_ECTL_IBLOCK_GET: libc::c_int = 0x30;
33pub const OV_ECTL_IBLOCK_SET: libc::c_int = 0x31;
34pub const OV_ECTL_COUPLING_GET: libc::c_int = 0x40;
35pub const OV_ECTL_COUPLING_SET: libc::c_int = 0x41;
36pub const OV_ECTL_RATEMANAGE_GET: libc::c_int = 0x10;
37pub const OV_ECTL_RATEMANAGE_SET: libc::c_int = 0x11;
38pub const OV_ECTL_RATEMANAGE_AVG: libc::c_int = 0x12;
39pub const OV_ECTL_RATEMANAGE_HARD: libc::c_int = 0x13;
40
41extern {
42    pub fn vorbis_encode_init(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
43        rate: libc::c_long, max_bitrate: libc::c_long,
44        nominal_bitrate: libc::c_long, min_bitrate: libc::c_long) -> libc::c_int;
45    pub fn vorbis_encode_setup_managed(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
46        rate: libc::c_long, max_bitrate: libc::c_long,
47        nominal_bitrate: libc::c_long, min_bitrate: libc::c_long) -> libc::c_int;
48    pub fn vorbis_encode_setup_vbr(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
49        rate: libc::c_long, quality: libc::c_float) -> libc::c_int;
50    pub fn vorbis_encode_init_vbr(vi: *mut vorbis_sys::vorbis_info, channels: libc::c_long,
51        rate: libc::c_long, base_quality: libc::c_float) -> libc::c_int;
52    pub fn vorbis_encode_setup_init(vi: *mut vorbis_sys::vorbis_info) -> libc::c_int;
53    pub fn vorbis_encode_ctl(vi: *mut vorbis_sys::vorbis_info, number: libc::c_int, arg: *mut libc::c_void) -> libc::c_int;
54}