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
use libc::{c_void, c_int, uint8_t}; pub type AVBuffer = c_void; #[derive(Debug)] #[repr(C)] pub struct AVBufferRef { pub buffer: *mut AVBuffer, pub data: *mut uint8_t, pub size: c_int, } pub type AVBufferPool = c_void; pub const AV_BUFFER_FLAG_READONLY: c_int = 1; extern { pub fn av_buffer_alloc(size: c_int) -> *mut AVBufferRef; pub fn av_buffer_allocz(size: c_int) -> *mut AVBufferRef; pub fn av_buffer_create(data: *mut uint8_t, size: c_int, free: extern fn(*mut c_void, *mut uint8_t), opaque: *mut c_void, flags: c_int) -> *mut AVBufferRef; pub fn av_buffer_default_free(opaque: *mut c_void, data: *mut uint8_t); pub fn av_buffer_ref(buf: *mut AVBufferRef) -> *mut AVBufferRef; pub fn av_buffer_unref(buf: *mut *mut AVBufferRef); pub fn av_buffer_is_writable(buf: *const AVBufferRef) -> c_int; pub fn av_buffer_get_opaque(buf: *const AVBufferRef) -> *mut c_void; pub fn av_buffer_get_ref_count(buf: *const AVBufferRef) -> c_int; pub fn av_buffer_make_writable(buf: *mut *mut AVBufferRef) -> c_int; pub fn av_buffer_realloc(buf: *mut *mut AVBufferRef, size: c_int) -> c_int; pub fn av_buffer_pool_init(size: c_int, alloc: extern fn(c_int) -> *mut AVBufferRef) -> *mut AVBufferPool; pub fn av_buffer_pool_uninit(pool: *mut *mut AVBufferPool); pub fn av_buffer_pool_get(pool: *mut AVBufferPool) -> *mut AVBufferRef; }