World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Файл avio.h

См. исходные тексты.

Классы

struct  AVIOInterruptCB
 
struct  AVIODirEntry
 
struct  AVIODirContext
 
struct  AVIOContext
 

Определения типов

typedef struct AVIOInterruptCB AVIOInterruptCB
 
typedef struct AVIODirEntry AVIODirEntry
 
typedef struct AVIODirContext AVIODirContext
 
typedef struct AVIOContext AVIOContext
 

Перечисления

enum  AVIODirEntryType {
  AVIO_ENTRY_UNKNOWN, AVIO_ENTRY_BLOCK_DEVICE, AVIO_ENTRY_CHARACTER_DEVICE, AVIO_ENTRY_DIRECTORY,
  AVIO_ENTRY_NAMED_PIPE, AVIO_ENTRY_SYMBOLIC_LINK, AVIO_ENTRY_SOCKET, AVIO_ENTRY_FILE,
  AVIO_ENTRY_SERVER, AVIO_ENTRY_SHARE, AVIO_ENTRY_WORKGROUP
}
 
enum  AVIODataMarkerType {
  AVIO_DATA_MARKER_HEADER, AVIO_DATA_MARKER_SYNC_POINT, AVIO_DATA_MARKER_BOUNDARY_POINT, AVIO_DATA_MARKER_UNKNOWN,
  AVIO_DATA_MARKER_TRAILER, AVIO_DATA_MARKER_FLUSH_POINT
}
 

Функции

const char * avio_find_protocol_name (const char *url)
 
int avio_check (const char *url, int flags)
 
int avpriv_io_move (const char *url_src, const char *url_dst)
 
int avpriv_io_delete (const char *url)
 
int avio_open_dir (AVIODirContext **s, const char *url, AVDictionary **options)
 
int avio_read_dir (AVIODirContext *s, AVIODirEntry **next)
 
int avio_close_dir (AVIODirContext **s)
 
void avio_free_directory_entry (AVIODirEntry **entry)
 
AVIOContextavio_alloc_context (unsigned char *buffer, int buffer_size, int write_flag, 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))
 
void avio_context_free (AVIOContext **s)
 
void avio_w8 (AVIOContext *s, int b)
 
void avio_write (AVIOContext *s, const unsigned char *buf, int size)
 
void avio_wl64 (AVIOContext *s, uint64_t val)
 
void avio_wb64 (AVIOContext *s, uint64_t val)
 
void avio_wl32 (AVIOContext *s, unsigned int val)
 
void avio_wb32 (AVIOContext *s, unsigned int val)
 
void avio_wl24 (AVIOContext *s, unsigned int val)
 
void avio_wb24 (AVIOContext *s, unsigned int val)
 
void avio_wl16 (AVIOContext *s, unsigned int val)
 
void avio_wb16 (AVIOContext *s, unsigned int val)
 
int avio_put_str (AVIOContext *s, const char *str)
 
int avio_put_str16le (AVIOContext *s, const char *str)
 
int avio_put_str16be (AVIOContext *s, const char *str)
 
void avio_write_marker (AVIOContext *s, int64_t time, enum AVIODataMarkerType type)
 
int64_t avio_seek (AVIOContext *s, int64_t offset, int whence)
 
int64_t avio_skip (AVIOContext *s, int64_t offset)
 
static av_always_inline int64_t avio_tell (AVIOContext *s)
 
int64_t avio_size (AVIOContext *s)
 
int avio_feof (AVIOContext *s)
 
int avio_printf (AVIOContext *s, const char *fmt,...) av_printf_format(2
 
int void avio_flush (AVIOContext *s)
 
int avio_read (AVIOContext *s, unsigned char *buf, int size)
 
int avio_read_partial (AVIOContext *s, unsigned char *buf, int size)
 
int avio_get_str (AVIOContext *pb, int maxlen, char *buf, int buflen)
 
int avio_get_str16le (AVIOContext *pb, int maxlen, char *buf, int buflen)
 
int avio_get_str16be (AVIOContext *pb, int maxlen, char *buf, int buflen)
 
int avio_open (AVIOContext **s, const char *url, int flags)
 
int avio_open2 (AVIOContext **s, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options)
 
int avio_close (AVIOContext *s)
 
int avio_closep (AVIOContext **s)
 
int avio_open_dyn_buf (AVIOContext **s)
 
int avio_get_dyn_buf (AVIOContext *s, uint8_t **pbuffer)
 
int avio_close_dyn_buf (AVIOContext *s, uint8_t **pbuffer)
 
const char * avio_enum_protocols (void **opaque, int output)
 
int avio_pause (AVIOContext *h, int pause)
 
int64_t avio_seek_time (AVIOContext *h, int stream_index, int64_t timestamp, int flags)
 
int avio_read_to_bprint (AVIOContext *h, struct AVBPrint *pb, size_t max_size)
 
int avio_accept (AVIOContext *s, AVIOContext **c)
 
int avio_handshake (AVIOContext *c)
 
Functions for reading from AVIOContext
Заметки
return 0 if EOF, so you cannot use it if EOF handling is necessary
int avio_r8 (AVIOContext *s)
 
unsigned int avio_rl16 (AVIOContext *s)
 
unsigned int avio_rl24 (AVIOContext *s)
 
unsigned int avio_rl32 (AVIOContext *s)
 
uint64_t avio_rl64 (AVIOContext *s)
 
unsigned int avio_rb16 (AVIOContext *s)
 
unsigned int avio_rb24 (AVIOContext *s)
 
unsigned int avio_rb32 (AVIOContext *s)
 
uint64_t avio_rb64 (AVIOContext *s)
 

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

Buffered I/O operations

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

Типы

◆ AVIOInterruptCB

Callback for checking whether to abort blocking functions. AVERROR_EXIT is returned in this case by the interrupted function. During blocking operations, callback is called with opaque as parameter. If the callback returns 1, the blocking operation will be aborted.

No members can be added to this struct without a major bump, if new elements have been added after this struct in AVFormatContext or AVIOContext.

◆ AVIODirEntry

typedef struct AVIODirEntry AVIODirEntry

Describes single entry of the directory.

Only name and type fields are guaranteed be set. Rest of fields are protocol or/and platform dependent and might be unknown.

◆ AVIODirContext

◆ AVIOContext

typedef struct AVIOContext 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*.

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

Перечисления

◆ AVIODirEntryType

Directory entry types.

Элементы перечислений
AVIO_ENTRY_UNKNOWN 
AVIO_ENTRY_BLOCK_DEVICE 
AVIO_ENTRY_CHARACTER_DEVICE 
AVIO_ENTRY_DIRECTORY 
AVIO_ENTRY_NAMED_PIPE 
AVIO_ENTRY_SYMBOLIC_LINK 
AVIO_ENTRY_SOCKET 
AVIO_ENTRY_FILE 
AVIO_ENTRY_SERVER 
AVIO_ENTRY_SHARE 
AVIO_ENTRY_WORKGROUP 

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

◆ AVIODataMarkerType

Different data types that can be returned via the AVIO write_data_type callback.

Элементы перечислений
AVIO_DATA_MARKER_HEADER 

Header data; this needs to be present for the stream to be decodeable.

AVIO_DATA_MARKER_SYNC_POINT 

A point in the output bytestream where a decoder can start decoding (i.e. a keyframe). A demuxer/decoder given the data flagged with AVIO_DATA_MARKER_HEADER, followed by any AVIO_DATA_MARKER_SYNC_POINT, should give decodeable results.

AVIO_DATA_MARKER_BOUNDARY_POINT 

A point in the output bytestream where a demuxer can start parsing (for non self synchronizing bytestream formats). That is, any non-keyframe packet start point.

AVIO_DATA_MARKER_UNKNOWN 

This is any, unlabelled data. It can either be a muxer not marking any positions at all, it can be an actual boundary/sync point that the muxer chooses not to mark, or a later part of a packet/fragment that is cut into multiple write callbacks due to limited IO buffer size.

AVIO_DATA_MARKER_TRAILER 

Trailer data, which doesn't contain actual content, but only for finalizing the output file.

AVIO_DATA_MARKER_FLUSH_POINT 

A point in the output bytestream where the underlying AVIOContext might flush the buffer depending on latency or buffering requirements. Typically means the end of a packet.

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

Функции

◆ avio_find_protocol_name()

const char* avio_find_protocol_name ( const char *  url)

Return the name of the protocol that will handle the passed URL.

NULL is returned if no protocol could be found for the given URL.

Возвращает
Name of the protocol or NULL.

◆ avio_check()

int avio_check ( const char *  url,
int  flags 
)

Return AVIO_FLAG_* access flags corresponding to the access permissions of the resource in url, or a negative value corresponding to an AVERROR code in case of failure. The returned access flags are masked by the value in flags.

Заметки
This function is intrinsically unsafe, in the sense that the checked resource may change its existence or permission status from one call to another. Thus you should not trust the returned value, unless you are sure that no other processes are accessing the checked resource.

◆ avpriv_io_move()

int avpriv_io_move ( const char *  url_src,
const char *  url_dst 
)

Move or rename a resource.

Заметки
url_src and url_dst should share the same protocol and authority.
Аргументы
url_srcurl to resource to be moved
url_dstnew url to resource if the operation succeeded
Возвращает
>=0 on success or negative on error.

◆ avpriv_io_delete()

int avpriv_io_delete ( const char *  url)

Delete a resource.

Аргументы
urlresource to be deleted.
Возвращает
>=0 on success or negative on error.

◆ avio_open_dir()

int avio_open_dir ( AVIODirContext **  s,
const char *  url,
AVDictionary **  options 
)

Open directory for reading.

Аргументы
sdirectory read context. Pointer to a NULL pointer must be passed.
urldirectory to be listed.
optionsA dictionary filled with protocol-private options. On return this parameter will be destroyed and replaced with a dictionary containing options that were not found. May be NULL.
Возвращает
>=0 on success or negative on error.

◆ avio_read_dir()

int avio_read_dir ( AVIODirContext s,
AVIODirEntry **  next 
)

Get next directory entry.

Returned entry must be freed with avio_free_directory_entry(). In particular it may outlive AVIODirContext.

Аргументы
sdirectory read context.
[out]nextnext entry or NULL when no more entries.
Возвращает
>=0 on success or negative on error. End of list is not considered an error.

◆ avio_close_dir()

int avio_close_dir ( AVIODirContext **  s)

Close directory.

Заметки
Entries created using avio_read_dir() are not deleted and must be freeded with avio_free_directory_entry().
Аргументы
sdirectory read context.
Возвращает
>=0 on success or negative on error.

◆ avio_free_directory_entry()

void avio_free_directory_entry ( AVIODirEntry **  entry)

Free entry allocated by avio_read_dir().

Аргументы
entryentry to be freed.

◆ avio_alloc_context()

AVIOContext* avio_alloc_context ( unsigned char *  buffer,
int  buffer_size,
int  write_flag,
void opaque,
int(*)(void *opaque, uint8_t *buf, int buf_size)  read_packet,
int(*)(void *opaque, uint8_t *buf, int buf_size)  write_packet,
int64_t(*)(void *opaque, int64_t offset, int whence)  seek 
)

Allocate and initialize an AVIOContext for buffered I/O. It must be later freed with avio_context_free().

Аргументы
bufferMemory block for input/output operations via AVIOContext. The buffer must be allocated with av_malloc() and friends. It may be freed and replaced with a new buffer by libavformat. AVIOContext.buffer holds the buffer currently in use, which must be later freed with av_free().
buffer_sizeThe buffer size is very important for performance. For protocols with fixed blocksize it should be set to this blocksize. For others a typical size is a cache page, e.g. 4kb.
write_flagSet to 1 if the buffer should be writable, 0 otherwise.
opaqueAn opaque pointer to user-specific data.
read_packetA function for refilling the buffer, may be NULL. For stream protocols, must never return 0 but rather a proper AVERROR code.
write_packetA function for writing the buffer contents, may be NULL. The function may not change the input buffers content.
seekA function for seeking to specified byte position, may be NULL.
Возвращает
Allocated AVIOContext or NULL on failure.

Используется в Movie::LoadFromLOD() и AudioBufferDataSource::Open().

+ Граф вызова функции:

◆ avio_context_free()

void avio_context_free ( AVIOContext **  s)

Free the supplied IO context and everything associated with it.

Аргументы
sDouble pointer to the IO context. This function will write NULL into s.

◆ avio_w8()

void avio_w8 ( AVIOContext s,
int  b 
)

◆ avio_write()

void avio_write ( AVIOContext s,
const unsigned char *  buf,
int  size 
)

◆ avio_wl64()

void avio_wl64 ( AVIOContext s,
uint64_t  val 
)

◆ avio_wb64()

void avio_wb64 ( AVIOContext s,
uint64_t  val 
)

◆ avio_wl32()

void avio_wl32 ( AVIOContext s,
unsigned int  val 
)

◆ avio_wb32()

void avio_wb32 ( AVIOContext s,
unsigned int  val 
)

◆ avio_wl24()

void avio_wl24 ( AVIOContext s,
unsigned int  val 
)

◆ avio_wb24()

void avio_wb24 ( AVIOContext s,
unsigned int  val 
)

◆ avio_wl16()

void avio_wl16 ( AVIOContext s,
unsigned int  val 
)

◆ avio_wb16()

void avio_wb16 ( AVIOContext s,
unsigned int  val 
)

◆ avio_put_str()

int avio_put_str ( AVIOContext s,
const char *  str 
)

Write a NULL-terminated string.

Возвращает
number of bytes written.

◆ avio_put_str16le()

int avio_put_str16le ( AVIOContext s,
const char *  str 
)

Convert an UTF-8 string to UTF-16LE and write it.

Аргументы
sthe AVIOContext
strNULL-terminated UTF-8 string
Возвращает
number of bytes written.

◆ avio_put_str16be()

int avio_put_str16be ( AVIOContext s,
const char *  str 
)

Convert an UTF-8 string to UTF-16BE and write it.

Аргументы
sthe AVIOContext
strNULL-terminated UTF-8 string
Возвращает
number of bytes written.

◆ avio_write_marker()

void avio_write_marker ( AVIOContext s,
int64_t  time,
enum AVIODataMarkerType  type 
)

Mark the written bytestream as a specific type.

Zero-length ranges are omitted from the output.

Аргументы
timethe stream time the current bytestream pos corresponds to (in AV_TIME_BASE units), or AV_NOPTS_VALUE if unknown or not applicable
typethe kind of data written starting at the current pos

◆ avio_seek()

int64_t avio_seek ( AVIOContext s,
int64_t  offset,
int  whence 
)

fseek() equivalent for AVIOContext.

Возвращает
new position or AVERROR.

Используется в avio_tell().

+ Граф вызова функции:

◆ avio_skip()

int64_t avio_skip ( AVIOContext s,
int64_t  offset 
)

Skip given number of bytes forward

Возвращает
new position or AVERROR.

◆ avio_tell()

static av_always_inline int64_t avio_tell ( AVIOContext s)
static

ftell() equivalent for AVIOContext.

Возвращает
position or AVERROR.

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

558 {
559  return avio_seek(s, 0, SEEK_CUR);
560 }

Перекрестные ссылки avio_seek().

+ Граф вызовов:

◆ avio_size()

int64_t avio_size ( AVIOContext s)

Get the filesize.

Возвращает
filesize or AVERROR

◆ avio_feof()

int avio_feof ( AVIOContext s)

Similar to feof() but also returns nonzero on read errors.

Возвращает
non zero if and only if at end of file or a read error happened when reading.

◆ avio_printf()

int avio_printf ( AVIOContext s,
const char *  fmt,
  ... 
)
Предупреждения
Writes up to 4 KiB per call

◆ avio_flush()

int void avio_flush ( AVIOContext s)

Force flushing of buffered data.

For write streams, force the buffered data to be immediately written to the output, without to wait to fill the internal buffer.

For read streams, discard all currently buffered data, and advance the reported file position to that of the underlying stream. This does not read new data, and does not perform any seeks.

◆ avio_read()

int avio_read ( AVIOContext s,
unsigned char *  buf,
int  size 
)

Read size bytes from AVIOContext into buf.

Возвращает
number of bytes read or AVERROR

◆ avio_read_partial()

int avio_read_partial ( AVIOContext s,
unsigned char *  buf,
int  size 
)

Read size bytes from AVIOContext into buf. Unlike avio_read(), this is allowed to read fewer bytes than requested. The missing bytes can be read in the next call. This always tries to read at least 1 byte. Useful to reduce latency in certain cases.

Возвращает
number of bytes read or AVERROR

◆ avio_r8()

int avio_r8 ( AVIOContext s)

◆ avio_rl16()

unsigned int avio_rl16 ( AVIOContext s)

◆ avio_rl24()

unsigned int avio_rl24 ( AVIOContext s)

◆ avio_rl32()

unsigned int avio_rl32 ( AVIOContext s)

◆ avio_rl64()

uint64_t avio_rl64 ( AVIOContext s)

◆ avio_rb16()

unsigned int avio_rb16 ( AVIOContext s)

◆ avio_rb24()

unsigned int avio_rb24 ( AVIOContext s)

◆ avio_rb32()

unsigned int avio_rb32 ( AVIOContext s)

◆ avio_rb64()

uint64_t avio_rb64 ( AVIOContext s)

◆ avio_get_str()

int avio_get_str ( AVIOContext pb,
int  maxlen,
char *  buf,
int  buflen 
)

Read a string from pb into buf. The reading will terminate when either a NULL character was encountered, maxlen bytes have been read, or nothing more can be read from pb. The result is guaranteed to be NULL-terminated, it will be truncated if buf is too small. Note that the string is not interpreted or validated in any way, it might get truncated in the middle of a sequence for multi-byte encodings.

Возвращает
number of bytes read (is always <= maxlen). If reading ends on EOF or error, the return value will be one more than bytes actually read.

◆ avio_get_str16le()

int avio_get_str16le ( AVIOContext pb,
int  maxlen,
char *  buf,
int  buflen 
)

Read a UTF-16 string from pb and convert it to UTF-8. The reading will terminate when either a null or invalid character was encountered or maxlen bytes have been read.

Возвращает
number of bytes read (is always <= maxlen)

◆ avio_get_str16be()

int avio_get_str16be ( AVIOContext pb,
int  maxlen,
char *  buf,
int  buflen 
)

◆ avio_open()

int avio_open ( AVIOContext **  s,
const char *  url,
int  flags 
)

Create and initialize a AVIOContext for accessing the resource indicated by url.

Заметки
When the resource indicated by url has been opened in read+write mode, the AVIOContext can be used only for writing.
Аргументы
sUsed to return the pointer to the created AVIOContext. In case of failure the pointed to value is set to NULL.
urlresource to access
flagsflags which control how the resource indicated by url is to be opened
Возвращает
>= 0 in case of success, a negative value corresponding to an AVERROR code in case of failure

◆ avio_open2()

int avio_open2 ( AVIOContext **  s,
const char *  url,
int  flags,
const AVIOInterruptCB int_cb,
AVDictionary **  options 
)

Create and initialize a AVIOContext for accessing the resource indicated by url.

Заметки
When the resource indicated by url has been opened in read+write mode, the AVIOContext can be used only for writing.
Аргументы
sUsed to return the pointer to the created AVIOContext. In case of failure the pointed to value is set to NULL.
urlresource to access
flagsflags which control how the resource indicated by url is to be opened
int_cban interrupt callback to be used at the protocols level
optionsA dictionary filled with protocol-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL.
Возвращает
>= 0 in case of success, a negative value corresponding to an AVERROR code in case of failure

◆ avio_close()

int avio_close ( AVIOContext s)

Close the resource accessed by the AVIOContext s and free it. This function can only be used if s was opened by avio_open().

The internal buffer is automatically flushed before closing the resource.

Возвращает
0 on success, an AVERROR < 0 on error.
См. также
avio_closep

◆ avio_closep()

int avio_closep ( AVIOContext **  s)

Close the resource accessed by the AVIOContext *s, free it and set the pointer pointing to it to NULL. This function can only be used if s was opened by avio_open().

The internal buffer is automatically flushed before closing the resource.

Возвращает
0 on success, an AVERROR < 0 on error.
См. также
avio_close

◆ avio_open_dyn_buf()

int avio_open_dyn_buf ( AVIOContext **  s)

Open a write only memory stream.

Аргументы
snew IO context
Возвращает
zero if no error.

◆ avio_get_dyn_buf()

int avio_get_dyn_buf ( AVIOContext s,
uint8_t **  pbuffer 
)

Return the written size and a pointer to the buffer. The AVIOContext stream is left intact. The buffer must NOT be freed. No padding is added to the buffer.

Аргументы
sIO context
pbufferpointer to a byte buffer
Возвращает
the length of the byte buffer

◆ avio_close_dyn_buf()

int avio_close_dyn_buf ( AVIOContext s,
uint8_t **  pbuffer 
)

Return the written size and a pointer to the buffer. The buffer must be freed with av_free(). Padding of AV_INPUT_BUFFER_PADDING_SIZE is added to the buffer.

Аргументы
sIO context
pbufferpointer to a byte buffer
Возвращает
the length of the byte buffer

◆ avio_enum_protocols()

const char* avio_enum_protocols ( void **  opaque,
int  output 
)

Iterate through names of available protocols.

Аргументы
opaqueA private pointer representing current protocol. It must be a pointer to NULL on first iteration and will be updated by successive calls to avio_enum_protocols.
outputIf set to 1, iterate over output protocols, otherwise over input protocols.
Возвращает
A static string containing the name of current protocol or NULL

◆ avio_pause()

int avio_pause ( AVIOContext h,
int  pause 
)

Pause and resume playing - only meaningful if using a network streaming protocol (e.g. MMS).

Аргументы
hIO context from which to call the read_pause function pointer
pause1 for pause, 0 for resume

◆ avio_seek_time()

int64_t avio_seek_time ( AVIOContext h,
int  stream_index,
int64_t  timestamp,
int  flags 
)

Seek to a given timestamp relative to some component stream. Only meaningful if using a network streaming protocol (e.g. MMS.).

Аргументы
hIO context from which to call the seek function pointers
stream_indexThe stream index that the timestamp is relative to. If stream_index is (-1) the timestamp should be in AV_TIME_BASE units from the beginning of the presentation. If a stream_index >= 0 is used and the protocol does not support seeking based on component streams, the call will fail.
timestamptimestamp in AVStream.time_base units or if there is no stream specified then in AV_TIME_BASE units.
flagsOptional combination of AVSEEK_FLAG_BACKWARD, AVSEEK_FLAG_BYTE and AVSEEK_FLAG_ANY. The protocol may silently ignore AVSEEK_FLAG_BACKWARD and AVSEEK_FLAG_ANY, but AVSEEK_FLAG_BYTE will fail if used and not supported.
Возвращает
>= 0 on success
См. также
AVInputFormat::read_seek

◆ avio_read_to_bprint()

int avio_read_to_bprint ( AVIOContext h,
struct AVBPrint *  pb,
size_t  max_size 
)

Read contents of h into print buffer, up to max_size bytes, or up to EOF.

Возвращает
0 for success (max_size bytes read or EOF reached), negative error code otherwise

◆ avio_accept()

int avio_accept ( AVIOContext s,
AVIOContext **  c 
)

Accept and allocate a client context on a server context.

Аргументы
sthe server context
cthe client context, must be unallocated
Возвращает
>= 0 on success or a negative value corresponding to an AVERROR on failure

◆ avio_handshake()

int avio_handshake ( AVIOContext c)

Perform one step of the protocol handshake to accept a new client. This function must be called on a client returned by avio_accept() before using it as a read/write context. It is separate from avio_accept() because it may block. A step of the handshake is defined by places where the application may decide to change the proceedings. For example, on a protocol with a request header and a reply header, each one can constitute a step because the application may use the parameters from the request to change parameters in the reply; or each individual chunk of the request can constitute a step. If the handshake is already finished, avio_handshake() does nothing and returns 0 immediately.

Аргументы
cthe client context to perform the handshake on
Возвращает
0 on a complete and successful handshake > 0 if the handshake progressed, but is not complete < 0 for an AVERROR code
s
GLdouble s
Definition: SDL_opengl.h:2063
AVIO_DATA_MARKER_BOUNDARY_POINT
@ AVIO_DATA_MARKER_BOUNDARY_POINT
Definition: avio.h:128
AVIO_ENTRY_NAMED_PIPE
@ AVIO_ENTRY_NAMED_PIPE
Definition: avio.h:71
AVIO_ENTRY_UNKNOWN
@ AVIO_ENTRY_UNKNOWN
Definition: avio.h:67
AVIO_ENTRY_DIRECTORY
@ AVIO_ENTRY_DIRECTORY
Definition: avio.h:70
AVIO_ENTRY_CHARACTER_DEVICE
@ AVIO_ENTRY_CHARACTER_DEVICE
Definition: avio.h:69
AVIO_ENTRY_SYMBOLIC_LINK
@ AVIO_ENTRY_SYMBOLIC_LINK
Definition: avio.h:72
AVIO_DATA_MARKER_TRAILER
@ AVIO_DATA_MARKER_TRAILER
Definition: avio.h:140
AVIO_ENTRY_FILE
@ AVIO_ENTRY_FILE
Definition: avio.h:74
AVIO_DATA_MARKER_SYNC_POINT
@ AVIO_DATA_MARKER_SYNC_POINT
Definition: avio.h:122
AVIO_ENTRY_SOCKET
@ AVIO_ENTRY_SOCKET
Definition: avio.h:73
AVIO_DATA_MARKER_UNKNOWN
@ AVIO_DATA_MARKER_UNKNOWN
Definition: avio.h:135
AVIO_ENTRY_BLOCK_DEVICE
@ AVIO_ENTRY_BLOCK_DEVICE
Definition: avio.h:68
avio_seek
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
AVIO_DATA_MARKER_HEADER
@ AVIO_DATA_MARKER_HEADER
Definition: avio.h:115
AVIO_ENTRY_WORKGROUP
@ AVIO_ENTRY_WORKGROUP
Definition: avio.h:77
AVIO_ENTRY_SERVER
@ AVIO_ENTRY_SERVER
Definition: avio.h:75
AVIO_ENTRY_SHARE
@ AVIO_ENTRY_SHARE
Definition: avio.h:76
AVIO_DATA_MARKER_FLUSH_POINT
@ AVIO_DATA_MARKER_FLUSH_POINT
Definition: avio.h:146