Miam-Player  0.8.0
A nice music player
AVIOContext Struct Reference

#include <avio.h>

Public Attributes

const AVClassav_class
 
unsigned char * buffer
 
int buffer_size
 
unsigned char * buf_ptr
 
unsigned char * buf_end
 
void * opaque
 
int(* read_packet )(void *opaque, uint8_t *buf, int buf_size)
 
int(* write_packet )(void *opaque, uint8_t *buf, int buf_size)
 
int64_t(* seek )(void *opaque, int64_t offset, int whence)
 
int64_t pos
 
int must_flush
 
int eof_reached
 
int write_flag
 
int max_packet_size
 
unsigned long checksum
 
unsigned char * checksum_ptr
 
unsigned long(* update_checksum )(unsigned long checksum, const uint8_t *buf, unsigned int size)
 
int error
 
int(* read_pause )(void *opaque, int pause)
 
int64_t(* read_seek )(void *opaque, int stream_index, int64_t timestamp, int flags)
 
int seekable
 
int64_t maxsize
 
int direct
 
int64_t bytes_read
 
int seek_count
 
int writeout_count
 
int orig_buffer_size
 
int short_seek_threshold
 
const char * protocol_whitelist
 
const char * protocol_blacklist
 
int(* write_data_type )(void *opaque, uint8_t *buf, int buf_size, enum AVIODataMarkerType type, int64_t time)
 
int ignore_boundary_point
 
enum AVIODataMarkerType current_type
 
int64_t last_time
 

Detailed 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()

Member Data Documentation

const AVClass* AVIOContext::av_class

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.

unsigned char* AVIOContext::buf_end

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.

unsigned char* AVIOContext::buf_ptr

Current position in the buffer

unsigned char* AVIOContext::buffer

Start of the buffer.

int AVIOContext::buffer_size

Maximum buffer size

int64_t AVIOContext::bytes_read

Bytes read statistic This field is internal to libavformat and access from outside is not allowed.

unsigned long AVIOContext::checksum
unsigned char* AVIOContext::checksum_ptr
enum AVIODataMarkerType AVIOContext::current_type

Internal, not meant to be used from outside of AVIOContext.

int AVIOContext::direct

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.

int AVIOContext::eof_reached

true if eof reached

int AVIOContext::error

contains the error code or 0 if no error happened

int AVIOContext::ignore_boundary_point

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).

int64_t AVIOContext::last_time
int AVIOContext::max_packet_size
int64_t AVIOContext::maxsize

max filesize, used to limit allocations This field is internal to libavformat and access from outside is not allowed.

int AVIOContext::must_flush

true if the next seek should flush

void* AVIOContext::opaque

A private pointer, passed to the read/write/seek/... functions.

int AVIOContext::orig_buffer_size

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.

int64_t AVIOContext::pos

position in the file of the current buffer

const char* AVIOContext::protocol_blacklist

',' separated list of disallowed protocols.

const char* AVIOContext::protocol_whitelist

',' separated list of allowed protocols.

int(* AVIOContext::read_packet) (void *opaque, uint8_t *buf, int buf_size)
int(* AVIOContext::read_pause) (void *opaque, int pause)

Pause or resume playback for network streaming protocols - e.g. MMS.

int64_t(* AVIOContext::read_seek) (void *opaque, int stream_index, int64_t timestamp, int flags)

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.

int64_t(* AVIOContext::seek) (void *opaque, int64_t offset, int whence)
int AVIOContext::seek_count

seek statistic This field is internal to libavformat and access from outside is not allowed.

int AVIOContext::seekable

A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable.

int AVIOContext::short_seek_threshold

Threshold to favor readahead over seek. This is current internal only, do not use from outside.

unsigned long(* AVIOContext::update_checksum) (unsigned long checksum, const uint8_t *buf, unsigned int size)
int(* AVIOContext::write_data_type) (void *opaque, uint8_t *buf, int buf_size, enum AVIODataMarkerType type, int64_t time)

A callback that is used instead of write_packet.

int AVIOContext::write_flag

true if open for writing

int(* AVIOContext::write_packet) (void *opaque, uint8_t *buf, int buf_size)
int AVIOContext::writeout_count

writeout statistic This field is internal to libavformat and access from outside is not allowed.


The documentation for this struct was generated from the following file: