00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AVFORMAT_AVIO_INTERNAL_H
00021 #define AVFORMAT_AVIO_INTERNAL_H
00022
00023 #include "avio.h"
00024 #include "url.h"
00025
00026 int ffio_init_context(AVIOContext *s,
00027 unsigned char *buffer,
00028 int buffer_size,
00029 int write_flag,
00030 void *opaque,
00031 int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
00032 int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
00033 int64_t (*seek)(void *opaque, int64_t offset, int whence));
00034
00035
00042 int ffio_read_partial(AVIOContext *s, unsigned char *buf, int size);
00043
00044 void ffio_fill(AVIOContext *s, int b, int count);
00045
00046 static av_always_inline void ffio_wfourcc(AVIOContext *pb, const uint8_t *s)
00047 {
00048 avio_wl32(pb, MKTAG(s[0], s[1], s[2], s[3]));
00049 }
00050
00063 int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size);
00064
00065 uint64_t ffio_read_varlen(AVIOContext *bc);
00066
00068 int ffio_set_buf_size(AVIOContext *s, int buf_size);
00069
00070 void ffio_init_checksum(AVIOContext *s,
00071 unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len),
00072 unsigned long checksum);
00073 unsigned long ffio_get_checksum(AVIOContext *s);
00074 unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf,
00075 unsigned int len);
00076
00086 int ffio_open_dyn_packet_buf(AVIOContext **s, int max_packet_size);
00087
00099 int ffio_fdopen(AVIOContext **s, URLContext *h);
00100
00101 #endif