Go to the documentation of this file.
19 #ifndef AVFORMAT_AVIO_INTERNAL_H
20 #define AVFORMAT_AVIO_INTERNAL_H
36 int64_t (*seek)(
void *opaque, int64_t
offset,
int whence));
110 unsigned long (*update_checksum)(
unsigned long c,
const uint8_t *p,
unsigned int len),
164 const char *whitelist,
const char *blacklist);
int ffio_realloc_buf(AVIOContext *s, int buf_size)
Reallocate a given buffer for AVIOContext.
static av_always_inline void ffio_wfourcc(AVIOContext *pb, const uint8_t *s)
int ffio_read_indirect(AVIOContext *s, unsigned char *buf, int size, const unsigned char **data)
Read size bytes from AVIOContext, returning a pointer.
#define MKTAG(a, b, c, d)
int ffio_open_whitelist(AVIOContext **s, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options, const char *whitelist, const char *blacklist)
const AVClass ff_avio_class
unsigned long ffio_get_checksum(AVIOContext *s)
Callback for checking whether to abort blocking functions.
int ffio_open_null_buf(AVIOContext **s)
Open a write-only fake memory stream.
unsigned long ff_crcEDB88320_update(unsigned long checksum, const uint8_t *buf, unsigned int len)
Describe the class of an AVClass context structure.
int ffio_close_null_buf(AVIOContext *s)
Close a null buffer.
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
const OptionDef options[]
int ffio_init_context(AVIOContext *s, 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 ffio_reset_dyn_buf(AVIOContext *s)
Reset a dynamic buffer.
void ffio_init_checksum(AVIOContext *s, unsigned long(*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len), unsigned long checksum)
int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size)
Open a write only packetized memory stream with a maximum packet size of 'max_packet_size'.
void avio_wl32(AVIOContext *s, unsigned int val)
int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size)
Ensures that the requested seekback buffer size will be available.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
uint64_t ffio_read_varlen(AVIOContext *bc)
unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf, unsigned int len)
int ffio_limit(AVIOContext *s, int size)
static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int unqueue)
int ffio_set_buf_size(AVIOContext *s, int buf_size)
int ffio_fdopen(AVIOContext **s, URLContext *h)
Create and initialize a AVIOContext for accessing the resource referenced by the URLContext h.
unsigned long ff_crcA001_update(unsigned long checksum, const uint8_t *buf, unsigned int len)
const AVIOInterruptCB int_cb
void ffio_free_dyn_buf(AVIOContext **s)
Free a dynamic buffer.
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
static volatile int checksum
the frame and frame reference mechanism is intended to as much as expensive copies of that data while still allowing the filters to produce correct results The data is stored in buffers represented by AVFrame structures Several references can point to the same frame buffer
int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char **buf, int buf_size)
Rewind the AVIOContext using the specified buffer containing the first buf_size bytes of the file.
void ffio_fill(AVIOContext *s, int b, int count)
#define flags(name, subs,...)
int ffio_read_size(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
URLContext * ffio_geturlcontext(AVIOContext *s)
Return the URLContext associated with the AVIOContext.