Struct rsmpeg::ffi::AVIOContext [−][src]
#[repr(C)]pub struct AVIOContext {}Show fields
pub av_class: *const AVClass, pub buffer: *mut u8, pub buffer_size: i32, pub buf_ptr: *mut u8, pub buf_end: *mut u8, pub opaque: *mut c_void, pub read_packet: Option<unsafe extern "C" fn(*mut c_void, *mut u8, i32) -> i32>, pub write_packet: Option<unsafe extern "C" fn(*mut c_void, *mut u8, i32) -> i32>, pub seek: Option<unsafe extern "C" fn(*mut c_void, i64, i32) -> i64>, pub pos: i64, pub eof_reached: i32, pub write_flag: i32, pub max_packet_size: i32, pub checksum: u64, pub checksum_ptr: *mut u8, pub update_checksum: Option<unsafe extern "C" fn(u64, *const u8, u32) -> u64>, pub error: i32, pub read_pause: Option<unsafe extern "C" fn(*mut c_void, i32) -> i32>, pub read_seek: Option<unsafe extern "C" fn(*mut c_void, i32, i64, i32) -> i64>, pub seekable: i32, pub maxsize: i64, pub direct: i32, pub bytes_read: i64, pub seek_count: i32, pub writeout_count: i32, pub orig_buffer_size: i32, pub short_seek_threshold: i32, pub protocol_whitelist: *const i8, pub protocol_blacklist: *const i8, pub write_data_type: Option<unsafe extern "C" fn(*mut c_void, *mut u8, i32, u32, i64) -> i32>, pub ignore_boundary_point: i32, pub current_type: u32, pub last_time: i64, pub short_seek_get: Option<unsafe extern "C" fn(*mut c_void) -> i32>, pub written: i64, pub buf_ptr_max: *mut u8, pub min_packet_size: i32,
Expand description
Bytestream IO Context. New fields can be added to the end with minor version bumps. Removal, reordering and changes to existing fields require a major version bump. sizeof(AVIOContext) must not be used outside libav*.
@note None of the function pointers in AVIOContext should be called directly, they should only be set by the client application when implementing custom I/O. Normally these are set to the function pointers specified in avio_alloc_context()
Fields
av_class: *const AVClass
Expand description
A class for private options.
If this AVIOContext is created by avio_open2(), av_class is set and passes the options down to protocols.
If this AVIOContext is manually allocated, then av_class may be set by the caller.
warning – this field can be NULL, be sure to not pass this AVIOContext to any av_opt_* functions in that case.
buffer: *mut u8
Expand description
< Start of the buffer.
buffer_size: i32
Expand description
< Maximum buffer size
buf_ptr: *mut u8
Expand description
< Current position in the buffer
buf_end: *mut u8
Expand description
< End of the data, may be less than buffer+buffer_size if the read function returned less data than requested, e.g. for streams where no more data has been received yet.
opaque: *mut c_void
Expand description
< A private pointer, passed to the read/write/seek/… functions.
read_packet: Option<unsafe extern "C" fn(*mut c_void, *mut u8, i32) -> i32>
write_packet: Option<unsafe extern "C" fn(*mut c_void, *mut u8, i32) -> i32>
seek: Option<unsafe extern "C" fn(*mut c_void, i64, i32) -> i64>
pos: i64
Expand description
< position in the file of the current buffer
eof_reached: i32
Expand description
< true if was unable to read due to error or eof
write_flag: i32
Expand description
< true if open for writing
max_packet_size: i32
checksum: u64
checksum_ptr: *mut u8
update_checksum: Option<unsafe extern "C" fn(u64, *const u8, u32) -> u64>
error: i32
Expand description
< contains the error code or 0 if no error happened
read_pause: Option<unsafe extern "C" fn(*mut c_void, i32) -> i32>
Expand description
Pause or resume playback for network streaming protocols - e.g. MMS.
read_seek: Option<unsafe extern "C" fn(*mut c_void, i32, i64, i32) -> i64>
Expand description
Seek to a given timestamp in stream with the specified stream_index. Needed for some network streaming protocols which don’t support seeking to byte position.
seekable: i32
Expand description
A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable.
maxsize: i64
Expand description
max filesize, used to limit allocations This field is internal to libavformat and access from outside is not allowed.
direct: i32
Expand description
avio_read and avio_write should if possible be satisfied directly instead of going through a buffer, and avio_seek will always call the underlying seek function directly.
bytes_read: i64
Expand description
Bytes read statistic This field is internal to libavformat and access from outside is not allowed.
seek_count: i32
Expand description
seek statistic This field is internal to libavformat and access from outside is not allowed.
writeout_count: i32
Expand description
writeout statistic This field is internal to libavformat and access from outside is not allowed.
orig_buffer_size: i32
Expand description
Original buffer size used internally after probing and ensure seekback to reset the buffer size This field is internal to libavformat and access from outside is not allowed.
short_seek_threshold: i32
Expand description
Threshold to favor readahead over seek. This is current internal only, do not use from outside.
protocol_whitelist: *const i8
Expand description
‘,’ separated list of allowed protocols.
protocol_blacklist: *const i8
Expand description
‘,’ separated list of disallowed protocols.
write_data_type: Option<unsafe extern "C" fn(*mut c_void, *mut u8, i32, u32, i64) -> i32>
Expand description
A callback that is used instead of write_packet.
ignore_boundary_point: i32
Expand description
If set, don’t call write_data_type separately for AVIO_DATA_MARKER_BOUNDARY_POINT, but ignore them and treat them as AVIO_DATA_MARKER_UNKNOWN (to avoid needlessly small chunks of data returned from the callback).
current_type: u32
Expand description
Internal, not meant to be used from outside of AVIOContext.
last_time: i64
short_seek_get: Option<unsafe extern "C" fn(*mut c_void) -> i32>
Expand description
A callback that is used instead of short_seek_threshold. This is current internal only, do not use from outside.
written: i64
buf_ptr_max: *mut u8
Expand description
Maximum reached position before a backward seek in the write buffer, used keeping track of already written data for a later flush.
min_packet_size: i32
Expand description
Try to buffer at least this amount of data before flushing it
Trait Implementations
impl Clone for AVIOContext
[src]
impl Clone for AVIOContext
[src]pub fn clone(&self) -> AVIOContext
[src]
pub fn clone(&self) -> AVIOContext
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for AVIOContext
[src]
impl Debug for AVIOContext
[src]impl Copy for AVIOContext
[src]
Auto Trait Implementations
impl RefUnwindSafe for AVIOContext
impl !Send for AVIOContext
impl !Sync for AVIOContext
impl Unpin for AVIOContext
impl UnwindSafe for AVIOContext
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more