1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
#![allow(non_snake_case)] extern crate libc; extern crate ogg_sys as ogg; #[repr(C)] pub struct vorbis_info { pub version: libc::c_int, pub channels: libc::c_int, pub rate: libc::c_long, pub bitrate_upper: libc::c_long, pub bitrate_nominal: libc::c_long, pub bitrate_lower: libc::c_long, pub bitrate_window: libc::c_long, pub codec_setup: *mut libc::c_void, } #[repr(C)] pub struct vorbis_dsp_state { pub analysisp: libc::c_int, pub vi: *mut vorbis_info, pub pcm: *mut *mut libc::c_float, pub pcmret: *mut *mut libc::c_float, pub pcm_storage: libc::c_int, pub pcm_current: libc::c_int, pub pcm_returned: libc::c_int, pub preextrapolate: libc::c_int, pub eofflag: libc::c_int, pub lW: libc::c_long, pub W: libc::c_long, pub nW: libc::c_long, pub centerW: libc::c_long, pub granulepos: ogg::ogg_int64_t, pub sequence: ogg::ogg_int64_t, pub glue_bits: ogg::ogg_int64_t, pub time_bits: ogg::ogg_int64_t, pub floor_bits: ogg::ogg_int64_t, pub res_bits: ogg::ogg_int64_t, pub backend_state: *mut libc::c_void, } #[repr(C)] pub struct vorbis_block { pub pcm: *mut *mut libc::c_float, pub opb: ogg::oggpack_buffer, pub lW: libc::c_long, pub W: libc::c_long, pub nW: libc::c_long, pub pcmend: libc::c_int, pub mode: libc::c_int, pub eofflag: libc::c_int, pub granulepos: ogg::ogg_int64_t, pub sequence: ogg::ogg_int64_t, pub vd: *mut vorbis_dsp_state, pub localstore: *mut libc::c_void, pub localtop: libc::c_long, pub localalloc: libc::c_long, pub totaluse: libc::c_long, pub reap: *mut alloc_chain, pub glue_bits: libc::c_long, pub time_bits: libc::c_long, pub floor_bits: libc::c_long, pub res_bits: libc::c_long, pub internal: *mut libc::c_void, } #[repr(C)] pub struct alloc_chain { pub ptr: *mut libc::c_char, pub next: *mut alloc_chain, } #[repr(C)] pub struct vorbis_comment { pub user_comments: *mut *mut libc::c_char, pub comment_lengths: *mut libc::c_int, pub comments: libc::c_int, pub vendor: *mut libc::c_char, } pub const OV_FALSE: libc::c_int = -1; pub const OV_EOF: libc::c_int = -2; pub const OV_HOLE: libc::c_int = -3; pub const OV_EREAD: libc::c_int = -128; pub const OV_EFAULT: libc::c_int = -129; pub const OV_EIMPL: libc::c_int = -130; pub const OV_EINVAL: libc::c_int = -131; pub const OV_ENOTVORBIS: libc::c_int = -132; pub const OV_EBADHEADER: libc::c_int = -133; pub const OV_EVERSION: libc::c_int = -134; pub const OV_ENOTAUDIO: libc::c_int = -135; pub const OV_EBADPACKET: libc::c_int = -136; pub const OV_EBADLINK: libc::c_int = -137; pub const OV_ENOSEEK: libc::c_int = -138; extern { pub fn vorbis_info_init(vi: *mut vorbis_info); pub fn vorbis_info_clear(vi: *mut vorbis_info); pub fn vorbis_info_blocksize(vi: *mut vorbis_info, zo: libc::c_int) -> libc::c_int; pub fn vorbis_comment_init(vc: *mut vorbis_comment); pub fn vorbis_comment_add(vc: *mut vorbis_comment, comment: *const libc::c_char); pub fn vorbis_comment_add_tag(vc: *mut vorbis_comment, tag: *const libc::c_char, contents: *const libc::c_char); pub fn vorbis_comment_query(vc: *mut vorbis_comment, tag: *const libc::c_char, count: libc::c_int) -> *mut libc::c_char; pub fn vorbis_comment_query_count(vc: *mut vorbis_comment, tag: *const libc::c_char) -> libc::c_int; pub fn vorbis_comment_clear(vc: *mut vorbis_comment); pub fn vorbis_block_init(v: *mut vorbis_dsp_state, vb: *mut vorbis_block) -> libc::c_int; pub fn vorbis_block_clear(vb: *mut vorbis_block) -> libc::c_int; pub fn vorbis_dsp_clear(v: *mut vorbis_dsp_state); pub fn vorbis_granule_time(v: *mut vorbis_dsp_state, granulepos: ogg::ogg_int64_t) -> libc::c_double; pub fn vorbis_version_string() -> *const libc::c_char; pub fn vorbis_analysis_init(v: *mut vorbis_dsp_state,vi: *mut vorbis_info) -> libc::c_int; pub fn vorbis_commentheader_out(vc: *mut vorbis_comment, op: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_analysis_headerout(v: *mut vorbis_dsp_state, vc: *mut vorbis_comment, op: *mut ogg::ogg_packet, op_comm: *mut ogg::ogg_packet, op_code: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_analysis_buffer(v: *mut vorbis_dsp_state, vals: libc::c_int) -> *mut *mut libc::c_float; pub fn vorbis_analysis_wrote(v: *mut vorbis_dsp_state, vals: libc::c_int) -> libc::c_int; pub fn vorbis_analysis_blockout(v: *mut vorbis_dsp_state, vb: *mut vorbis_block) -> libc::c_int; pub fn vorbis_analysis(vb: *mut vorbis_block, op: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_bitrate_addblock(vb: *mut vorbis_block) -> libc::c_int; pub fn vorbis_bitrate_flushpacket(v: *mut vorbis_dsp_state, op: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_synthesis_idheader(op: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_synthesis_headerin(vi: *mut vorbis_info, vc: *mut vorbis_comment, op: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_synthesis_init(v: *mut vorbis_dsp_state, vi: *mut vorbis_info) -> libc::c_int; pub fn vorbis_synthesis_restart(v: *mut vorbis_dsp_state) -> libc::c_int; pub fn vorbis_synthesis(vb: *mut vorbis_block,op: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_synthesis_trackonly(vb: *mut vorbis_block, op: *mut ogg::ogg_packet) -> libc::c_int; pub fn vorbis_synthesis_blockin(v: *mut vorbis_dsp_state,vb: *mut vorbis_block) -> libc::c_int; pub fn vorbis_synthesis_pcmout(v: *mut vorbis_dsp_state, pcm: *mut *mut *mut libc::c_float) -> libc::c_int; pub fn vorbis_synthesis_lapout(v: *mut vorbis_dsp_state, pcm: *mut *mut *mut libc::c_float) -> libc::c_int; pub fn vorbis_synthesis_read(v: *mut vorbis_dsp_state, samples: libc::c_int) -> libc::c_int; pub fn vorbis_packet_blocksize(vi: *mut vorbis_info, op: *mut ogg::ogg_packet) -> libc::c_long; pub fn vorbis_synthesis_halfrate(v: *mut vorbis_info, flag: libc::c_int) -> libc::c_int; pub fn vorbis_synthesis_halfrate_p(v: *mut vorbis_info) -> libc::c_int; }