pub unsafe extern "C" fn avio_alloc_context(
    buffer: *mut c_uchar,
    buffer_size: c_int,
    write_flag: c_int,
    opaque: *mut c_void,
    read_packet: Option<unsafe extern "C" fn(opaque: *mut c_void, buf: *mut u8, buf_size: c_int) -> c_int>,
    write_packet: Option<unsafe extern "C" fn(opaque: *mut c_void, buf: *mut u8, buf_size: c_int) -> c_int>,
    seek: Option<unsafe extern "C" fn(opaque: *mut c_void, offset: i64, whence: c_int) -> i64>
) -> *mut AVIOContext