World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Структура AVIOContext

#include <avio.h>

+ Граф связей класса AVIOContext:

Открытые атрибуты

const AVClassav_class
 
unsigned char * buffer
 
int buffer_size
 
unsigned char * buf_ptr
 
unsigned char * buf_end
 
voidopaque
 
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 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
 
int(* short_seek_get )(void *opaque)
 
int64_t written
 
unsigned char * buf_ptr_max
 
int min_packet_size
 

Подробное описание

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

Заметки
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()

См. определение в файле avio.h строка 161

Данные класса

◆ av_class

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.

См. определение в файле avio.h строка 174

◆ buffer

unsigned char* AVIOContext::buffer

Start of the buffer.

См. определение в файле avio.h строка 226

◆ buffer_size

int AVIOContext::buffer_size

Maximum buffer size

См. определение в файле avio.h строка 227

◆ buf_ptr

unsigned char* AVIOContext::buf_ptr

Current position in the buffer

См. определение в файле avio.h строка 228

◆ buf_end

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.

См. определение в файле avio.h строка 229

◆ opaque

void* AVIOContext::opaque

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

См. определение в файле avio.h строка 233

◆ read_packet

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

См. определение в файле avio.h строка 235

◆ write_packet

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

См. определение в файле avio.h строка 236

◆ seek

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

См. определение в файле avio.h строка 237

◆ pos

int64_t AVIOContext::pos

position in the file of the current buffer

См. определение в файле avio.h строка 238

◆ eof_reached

int AVIOContext::eof_reached

true if was unable to read due to error or eof

См. определение в файле avio.h строка 239

◆ write_flag

int AVIOContext::write_flag

true if open for writing

См. определение в файле avio.h строка 240

◆ max_packet_size

int AVIOContext::max_packet_size

См. определение в файле avio.h строка 241

◆ checksum

unsigned long AVIOContext::checksum

См. определение в файле avio.h строка 242

◆ checksum_ptr

unsigned char* AVIOContext::checksum_ptr

См. определение в файле avio.h строка 243

◆ update_checksum

unsigned long(* AVIOContext::update_checksum) (unsigned long checksum, const uint8_t *buf, unsigned int size)

См. определение в файле avio.h строка 244

◆ error

int AVIOContext::error

contains the error code or 0 if no error happened

См. определение в файле avio.h строка 245

◆ read_pause

int(* AVIOContext::read_pause) (void *opaque, int pause)

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

См. определение в файле avio.h строка 249

◆ read_seek

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.

См. определение в файле avio.h строка 255

◆ seekable

int AVIOContext::seekable

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

См. определение в файле avio.h строка 260

◆ maxsize

int64_t AVIOContext::maxsize

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

См. определение в файле avio.h строка 266

◆ direct

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.

См. определение в файле avio.h строка 273

◆ bytes_read

int64_t AVIOContext::bytes_read

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

См. определение в файле avio.h строка 279

◆ seek_count

int AVIOContext::seek_count

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

См. определение в файле avio.h строка 285

◆ writeout_count

int AVIOContext::writeout_count

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

См. определение в файле avio.h строка 291

◆ orig_buffer_size

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.

См. определение в файле avio.h строка 298

◆ short_seek_threshold

int AVIOContext::short_seek_threshold

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

См. определение в файле avio.h строка 304

◆ protocol_whitelist

const char* AVIOContext::protocol_whitelist

',' separated list of allowed protocols.

См. определение в файле avio.h строка 309

◆ protocol_blacklist

const char* AVIOContext::protocol_blacklist

',' separated list of disallowed protocols.

См. определение в файле avio.h строка 314

◆ write_data_type

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.

См. определение в файле avio.h строка 319

◆ ignore_boundary_point

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

См. определение в файле avio.h строка 326

◆ current_type

enum AVIODataMarkerType AVIOContext::current_type

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

См. определение в файле avio.h строка 331

◆ last_time

int64_t AVIOContext::last_time

См. определение в файле avio.h строка 332

◆ short_seek_get

int(* AVIOContext::short_seek_get) (void *opaque)

A callback that is used instead of short_seek_threshold. This is current internal only, do not use from outside.

См. определение в файле avio.h строка 338

◆ written

int64_t AVIOContext::written

См. определение в файле avio.h строка 340

◆ buf_ptr_max

unsigned char* AVIOContext::buf_ptr_max

Maximum reached position before a backward seek in the write buffer, used keeping track of already written data for a later flush.

См. определение в файле avio.h строка 346

◆ min_packet_size

int AVIOContext::min_packet_size

Try to buffer at least this amount of data before flushing it

См. определение в файле avio.h строка 351


Объявления и описания членов структуры находятся в файле: