[−][src]Struct ffmpeg_dev::sys::AVIOContext
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
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 c_uchar
< Start of the buffer.
buffer_size: c_int
< Maximum buffer size
buf_ptr: *mut c_uchar
< Current position in the buffer
buf_end: *mut c_uchar
< 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
< A private pointer, passed to the read/write/seek/... functions.
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>
pos: i64
< position in the file of the current buffer
eof_reached: c_int
< true if was unable to read due to error or eof
write_flag: c_int
< true if open for writing
max_packet_size: c_int
checksum: c_ulong
checksum_ptr: *mut c_uchar
update_checksum: Option<unsafe extern "C" fn(checksum: c_ulong, buf: *const u8, size: c_uint) -> c_ulong>
error: c_int
< contains the error code or 0 if no error happened
read_pause: Option<unsafe extern "C" fn(opaque: *mut c_void, pause: c_int) -> c_int>
Pause or resume playback for network streaming protocols - e.g. MMS.
read_seek: Option<unsafe extern "C" fn(opaque: *mut c_void, stream_index: c_int, timestamp: i64, flags: c_int) -> i64>
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: c_int
A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable.
maxsize: i64
max filesize, used to limit allocations This field is internal to libavformat and access from outside is not allowed.
direct: c_int
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
Bytes read statistic This field is internal to libavformat and access from outside is not allowed.
seek_count: c_int
seek statistic This field is internal to libavformat and access from outside is not allowed.
writeout_count: c_int
writeout statistic This field is internal to libavformat and access from outside is not allowed.
orig_buffer_size: c_int
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: c_int
Threshold to favor readahead over seek. This is current internal only, do not use from outside.
protocol_whitelist: *const c_char
',' separated list of allowed protocols.
protocol_blacklist: *const c_char
',' separated list of disallowed protocols.
write_data_type: Option<unsafe extern "C" fn(opaque: *mut c_void, buf: *mut u8, buf_size: c_int, type_: AVIODataMarkerType, time: i64) -> c_int>
A callback that is used instead of write_packet.
ignore_boundary_point: c_int
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: AVIODataMarkerType
Internal, not meant to be used from outside of AVIOContext.
last_time: i64
short_seek_get: Option<unsafe extern "C" fn(opaque: *mut c_void) -> c_int>
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 c_uchar
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: c_int
Try to buffer at least this amount of data before flushing it
Trait Implementations
impl Clone for AVIOContext
[src]
fn clone(&self) -> AVIOContext
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for AVIOContext
[src]
impl Debug 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> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,