avio_internal.h File Reference
#include "avio.h"
#include "url.h"
#include "libavutil/log.h"
Include dependency graph for avio_internal.h:

Go to the source code of this file.

Functions

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))
 
int ffio_read_partial (AVIOContext *s, unsigned char *buf, int size)
 Read size bytes from AVIOContext into buf. More...
 
void ffio_fill (AVIOContext *s, int b, int count)
 
static av_always_inline void ffio_wfourcc (AVIOContext *pb, const uint8_t *s)
 
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. More...
 
uint64_t ffio_read_varlen (AVIOContext *bc)
 
int ffio_set_buf_size (AVIOContext *s, int buf_size)
 
int ffio_limit (AVIOContext *s, int size)
 
void ffio_init_checksum (AVIOContext *s, unsigned long(*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len), unsigned long checksum)
 
unsigned long ffio_get_checksum (AVIOContext *s)
 
unsigned long ff_crc04C11DB7_update (unsigned long checksum, const uint8_t *buf, unsigned int len)
 
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'. More...
 
int ffio_fdopen (AVIOContext **s, URLContext *h)
 Create and initialize a AVIOContext for accessing the resource referenced by the URLContext h. More...
 

Variables

const AVClass ffio_url_class
 

Function Documentation

unsigned long ff_crc04C11DB7_update ( unsigned long  checksum,
const uint8_t buf,
unsigned int  len 
)
int ffio_fdopen ( AVIOContext **  s,
URLContext h 
)

Create and initialize a AVIOContext for accessing the resource referenced by the URLContext h.

Note
When the URLContext h has been opened in read+write mode, the AVIOContext can be used only for writing.
Parameters
sUsed to return the pointer to the created AVIOContext. In case of failure the pointed to value is set to NULL.
Returns
0 in case of success, a negative value corresponding to an AVERROR code in case of failure

Definition at line 694 of file aviobuf.c.

Referenced by avio_open2(), ff_rtp_chain_mux_open(), and ffio_wfourcc().

void ffio_fill ( AVIOContext s,
int  b,
int  count 
)
void ffio_init_checksum ( AVIOContext s,
unsigned long(*)(unsigned long c, const uint8_t *p, unsigned int len update_checksum,
unsigned long  checksum 
)
int ffio_init_context ( AVIOContext s,
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 
)
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'.

The stream is stored in a memory buffer with a big-endian 4 byte header giving the packet size in bytes.

Parameters
snew IO context
max_packet_sizemaximum packet size (must be > 0)
Returns
zero if no error.

Definition at line 981 of file aviobuf.c.

Referenced by ff_mov_add_hinted_packet(), ff_rtp_chain_mux_open(), ffio_wfourcc(), http_prepare_data(), rtp_new_av_stream(), and tcp_write_packet().

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

Read size bytes from AVIOContext into buf.

This reads at most 1 packet. If that is not enough fewer bytes will be returned.

Returns
number of bytes read or AVERROR

Definition at line 526 of file aviobuf.c.

Referenced by ff_raw_read_partial_packet(), and ff_rtsp_open_transport_ctx().

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.

Used after probing to avoid seeking. Joins buf and s->buffer, taking any overlap into consideration.

Note
s->buffer must overlap with buf or they can't be joined and the function fails
Parameters
sThe read-only AVIOContext to rewind
bufThe probe buffer containing the first buf_size bytes of the file
buf_sizeThe size of buf
Returns
0 in case of success, a negative value corresponding to an AVERROR code in case of failure

Definition at line 755 of file aviobuf.c.

Referenced by av_probe_input_buffer(), and ffio_wfourcc().

int ffio_set_buf_size ( AVIOContext s,
int  buf_size 
)
Warning
must be called before any I/O

Definition at line 726 of file aviobuf.c.

Referenced by build_feed_streams(), ffio_wfourcc(), ffm_read_data(), fill_buffer(), and open_input_stream().

static av_always_inline void ffio_wfourcc ( AVIOContext pb,
const uint8_t s 
)
static

Definition at line 50 of file avio_internal.h.

Referenced by aiff_write_header(), ast_write_header(), ast_write_packet(), avi_start_new_riff(), avi_write_header(), avi_write_idx1(), avi_write_ix(), avi_write_trailer(), caf_write_header(), caf_write_trailer(), mmf_rate(), mov_create_chapter_track(), mov_flush_fragment(), mov_write_3gp_udta_tag(), mov_write_ac3_tag(), mov_write_amr_tag(), mov_write_avcc_tag(), mov_write_avid_tag(), mov_write_chan_tag(), mov_write_chpl_tag(), mov_write_ctts_tag(), mov_write_d263_tag(), mov_write_dinf_tag(), mov_write_dref_tag(), mov_write_dvc1_tag(), mov_write_edts_tag(), mov_write_enda_tag(), mov_write_enda_tag_be(), mov_write_esds_tag(), mov_write_fiel_tag(), mov_write_ftyp_tag(), mov_write_glbl_tag(), mov_write_gmhd_tag(), mov_write_hdlr_tag(), mov_write_hmhd_tag(), mov_write_ilst_tag(), mov_write_int8_metadata(), mov_write_iods_tag(), mov_write_isml_manifest(), mov_write_itunes_hdlr_tag(), mov_write_mdat_tag(), mov_write_mdhd_tag(), mov_write_mdia_tag(), mov_write_meta_tag(), mov_write_mfhd_tag(), mov_write_mfra_tag(), mov_write_minf_tag(), mov_write_moof_tag(), mov_write_moov_tag(), mov_write_mvex_tag(), mov_write_mvhd_tag(), mov_write_nmhd_tag(), mov_write_pasp_tag(), mov_write_rtp_tag(), mov_write_smhd_tag(), mov_write_stbl_tag(), mov_write_stco_tag(), mov_write_string_data_tag(), mov_write_string_tag(), mov_write_stsc_tag(), mov_write_stsd_tag(), mov_write_stss_tag(), mov_write_stsz_tag(), mov_write_stts_tag(), mov_write_tapt_tag(), mov_write_tcmi_tag(), mov_write_tfhd_tag(), mov_write_tfra_tag(), mov_write_tfrf_tag(), mov_write_tfxd_tag(), mov_write_tkhd_tag(), mov_write_tmcd_tag(), mov_write_tmpo_tag(), mov_write_traf_tag(), mov_write_trailer(), mov_write_trak_tag(), mov_write_tref_tag(), mov_write_trex_tag(), mov_write_trkn_tag(), mov_write_trun_tag(), mov_write_udta_sdp(), mov_write_udta_tag(), mov_write_uuid_tag_ipod(), mov_write_uuid_tag_psp(), mov_write_uuidprof_tag(), mov_write_uuidusmt_tag(), mov_write_video_tag(), mov_write_vmhd_tag(), mov_write_wave_tag(), mov_write_wfex_tag(), mp3_update_xing(), mp3_write_xing(), ogg_write_page(), oma_write_header(), rv10_write_header(), sox_write_header(), and write_packet().

Variable Documentation

const AVClass ffio_url_class

Definition at line 59 of file aviobuf.c.

Referenced by ffio_fdopen(), and format_child_class_next().