Allocate and initialize an AVIOContext for buffered I/O. It must be later
freed with av_free().
@param buffer Memory 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().
@param buffer_size The 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.
@param write_flag Set to 1 if the buffer should be writable, 0 otherwise.
@param opaque An opaque pointer to user-specific data.
@param read_packet A function for refilling the buffer, may be NULL.
@param write_packet A function for writing the buffer contents, may be NULL.
The function may not change the input buffers content.
@param seek A function for seeking to specified byte position, may be NULL.
Allocate and initialize an AVIOContext for buffered I/O. It must be later freed with av_free().
@param buffer Memory 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(). @param buffer_size The 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. @param write_flag Set to 1 if the buffer should be writable, 0 otherwise. @param opaque An opaque pointer to user-specific data. @param read_packet A function for refilling the buffer, may be NULL. @param write_packet A function for writing the buffer contents, may be NULL. The function may not change the input buffers content. @param seek A function for seeking to specified byte position, may be NULL.
@return Allocated AVIOContext or NULL on failure.