FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
avio_internal.h File Reference
#include "avio.h"
#include "url.h"
#include "libavutil/log.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.
 
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.
 
uint64_t ffio_read_varlen (AVIOContext *bc)
 
int ffio_set_buf_size (AVIOContext *s, int buf_size)
 
int ffio_ensure_seekback (AVIOContext *s, int buf_size)
 Ensures that the requested seekback buffer size will be available.
 
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'.
 
int ffio_fdopen (AVIOContext **s, URLContext *h)
 Create and initialize a AVIOContext for accessing the resource referenced by the URLContext h.
 

Variables

const AVClass ffio_url_class
 

Function Documentation

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_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 528 of file aviobuf.c.

Referenced by ff_raw_read_partial_packet().

void ffio_fill ( AVIOContext s,
int  b,
int  count 
)
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(), 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(), and sox_write_header().

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 782 of file aviobuf.c.

Referenced by av_probe_input_buffer().

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

Definition at line 753 of file aviobuf.c.

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

int ffio_ensure_seekback ( AVIOContext s,
int  buf_size 
)

Ensures that the requested seekback buffer size will be available.

Will ensure that when reading sequentially up to buf_size, seeking within the current pos and pos+buf_size is possible. Once the stream position moves outside this window this gurantee is lost.

Definition at line 728 of file aviobuf.c.

Referenced by mpegts_read_header().

int ffio_limit ( AVIOContext s,
int  size 
)
void ffio_init_checksum ( AVIOContext s,
unsigned long(*)(unsigned long c, const uint8_t *p, unsigned int len update_checksum,
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 
)

Definition at line 445 of file aviobuf.c.

Referenced by get_packetheader(), nut_write_packet(), ogg_write_page(), and put_packet().

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 1008 of file aviobuf.c.

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

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 696 of file aviobuf.c.

Referenced by avio_open2(), and ff_rtp_chain_mux_open().

Variable Documentation

const AVClass ffio_url_class

Definition at line 59 of file aviobuf.c.

Referenced by ffio_fdopen(), and format_child_class_next().