avpacket.c File Reference
#include "avcodec.h"
#include "libavutil/avassert.h"

Go to the source code of this file.

Macros

#define DUP_DATA(dst, src, size, padding)

Functions

void av_destruct_packet_nofree (AVPacket *pkt)
void av_destruct_packet (AVPacket *pkt)
 Default packet destructor.
void av_init_packet (AVPacket *pkt)
 Initialize optional fields of a packet with default values.
int av_new_packet (AVPacket *pkt, int size)
 Allocate the payload of a packet and initialize its fields with default values.
void av_shrink_packet (AVPacket *pkt, int size)
 Reduce packet size, correctly zeroing padding.
int av_grow_packet (AVPacket *pkt, int grow_by)
 Increase packet size, correctly zeroing padding.
int av_dup_packet (AVPacket *pkt)
void av_free_packet (AVPacket *pkt)
 Free a packet.
uint8_t * av_packet_new_side_data (AVPacket *pkt, enum AVPacketSideDataType type, int size)
 Allocate new information of a packet.
uint8_t * av_packet_get_side_data (AVPacket *pkt, enum AVPacketSideDataType type, int *size)
 Get side information from packet.

Macro Definition Documentation

#define DUP_DATA (   dst,
  src,
  size,
  padding 
)
Value:
do { \
void *data; \
if (padding) { \
if ((unsigned)(size) > (unsigned)(size) + FF_INPUT_BUFFER_PADDING_SIZE) \
goto failed_alloc; \
} else { \
data = av_malloc(size); \
} \
if (!data) \
goto failed_alloc; \
memcpy(data, src, size); \
if (padding) \
memset((uint8_t*)data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); \
dst = data; \
} while(0)

Definition at line 103 of file avpacket.c.

Referenced by av_dup_packet().

Function Documentation

void av_destruct_packet_nofree ( AVPacket pkt)
Deprecated:
use NULL instead

Definition at line 26 of file avpacket.c.

Referenced by av_dup_packet().

int av_dup_packet ( AVPacket pkt)
Warning
This is a hack - the packet memory allocation stuff is broken. The packet is allocated if it was not really allocated.

Definition at line 121 of file avpacket.c.

Referenced by av_read_frame(), avformat_find_stream_info(), ff_interleave_add_packet(), and packet_queue_put().

void av_free_packet ( AVPacket pkt)

Free a packet.

Parameters
pktpacket to free

Definition at line 151 of file avpacket.c.

Referenced by adx_read_packet(), amr_read_packet(), applehttp_read_seek(), asf_read_pts(), asf_reset_header(), asfrtp_parse_packet(), audio_decode_frame(), audio_read_packet(), av_get_packet(), av_interleaved_write_frame(), av_read_packet(), av_write_trailer(), avformat_free_context(), avi_read_close(), avs_read_video_packet(), cin_read_packet(), decode_thread(), dfa_read_packet(), do_streamcopy(), dxa_read_packet(), estimate_timings_from_pts(), extract_mpeg4_header(), ff_asf_parse_packet(), ff_free_parser_state(), ff_raw_read_partial_packet(), ff_read_frame_flush(), ff_rm_free_rmstream(), ffm_read_packet(), flush_packet_queue(), fourxm_read_packet(), free_packet_list(), free_pkt_fifo(), free_variant_list(), gsm_read_packet(), http_prepare_data(), ingenient_read_packet(), interleave_packet(), load_ipmovie_packet(), lxf_read_packet(), main(), matroska_clear_queue(), mmf_read_packet(), movie_get_frame(), mpc_read_packet(), mpc_read_seek(), mpegts_raw_read_packet(), mxf_interleave_get_packet(), nc_read_packet(), nsv_read_close(), nuv_packet(), output_packet(), packet_queue_flush(), pulse_read_packet(), qt_rtp_parse_packet(), read_frame_internal(), read_packet(), rl2_read_packet(), rm_assemble_video_frame(), rm_read_packet(), rpl_read_packet(), sap_fetch_packet(), search_hi_lo_keyframes(), seek_frame_generic(), seek_subtitle(), spdif_read_packet(), str_read_close(), str_read_packet(), stream_component_close(), subtitle_thread(), thp_read_packet(), transcode(), vid_read_packet(), video_thread(), vmd_read_packet(), vqf_read_packet(), wc3_read_close(), write_frame(), wsvqa_read_packet(), wv_read_packet(), wv_read_seek(), xiph_handle_packet(), yop_read_close(), yop_read_packet(), and yop_read_seek().

int av_grow_packet ( AVPacket pkt,
int  grow_by 
)

Increase packet size, correctly zeroing padding.

Parameters
pktpacket
grow_bynumber of bytes by which to increase the size of the packet

Definition at line 86 of file avpacket.c.

Referenced by av_append_packet().

int av_new_packet ( AVPacket pkt,
int  size 
)

Allocate the payload of a packet and initialize its fields with default values.

Parameters
pktpacket
sizewanted payload size
Returns
0 if OK, AVERROR_xxx otherwise

Definition at line 60 of file avpacket.c.

Referenced by a64_write_packet(), aac_parse_packet(), amr_handle_packet(), amr_read_packet(), ape_read_packet(), audio_read_packet(), av_get_packet(), av_grow_packet(), avisynth_read_packet(), avs_read_video_packet(), bmv_read_packet(), cin_read_packet(), decode_frame(), dxa_read_packet(), fbdev_read_packet(), ff_alloc_packet(), ff_asf_parse_packet(), ff_interleave_new_audio_packet(), ff_raw_read_partial_packet(), ff_rm_retrieve_cache(), ffm_read_packet(), film_read_packet(), fourxm_read_packet(), grab_read_packet(), h263_handle_packet(), h264_handle_packet(), ingenient_read_packet(), latm_parse_packet(), load_ipmovie_packet(), lxf_read_packet(), matroska_parse_block(), mmf_read_packet(), mpc_read_packet(), mpegts_raw_read_packet(), nut_read_packet(), nuv_packet(), ogg_read_packet(), pulse_read_packet(), qdm2_restore_block(), qt_rtp_parse_packet(), read_frame(), read_packet(), return_stored_frame(), rm_assemble_video_frame(), rm_read_audio_stream_info(), roq_read_packet(), rtp_parse_packet_internal(), seq_read_packet(), siff_read_packet(), smacker_read_packet(), spdif_read_packet(), srt_read_packet(), store_packet(), str_read_packet(), supply_new_packets(), swf_read_packet(), videostream_cb(), vmd_read_packet(), vqf_read_packet(), wsvqa_read_packet(), wv_read_packet(), xiph_handle_packet(), xmv_fetch_video_packet(), and yop_read_packet().

uint8_t* av_packet_get_side_data ( AVPacket pkt,
enum AVPacketSideDataType  type,
int *  size 
)

Get side information from packet.

Parameters
pktpacket
typedesired side information type
sizepointer for side information size to store (optional)
Returns
pointer to data if present or NULL otherwise

Definition at line 185 of file avpacket.c.

Referenced by aac_decode_frame(), apply_param_change(), cinepak_decode_frame(), decode_frame(), idcin_decode_frame(), ipvideo_decode_frame(), msrle_decode_frame(), msvideo1_decode_frame(), qtrle_decode_frame(), raw_decode(), and smc_decode_frame().

uint8_t* av_packet_new_side_data ( AVPacket pkt,
enum AVPacketSideDataType  type,
int  size 
)

Allocate new information of a packet.

Parameters
pktpacket
typeside information type
sizeside information size
Returns
pointer to fresh allocated data or NULL otherwise

Definition at line 161 of file avpacket.c.

Referenced by ff_add_param_change(), ff_asf_parse_packet(), flv_read_packet(), idcin_read_packet(), load_ipmovie_packet(), and mov_read_packet().

void av_shrink_packet ( AVPacket pkt,
int  size 
)

Reduce packet size, correctly zeroing padding.

Parameters
pktpacket
sizenew size

Definition at line 79 of file avpacket.c.

Referenced by av_append_packet(), av_get_packet(), cin_read_packet(), ff_asf_parse_packet(), mxf_decrypt_triplet(), mxf_get_d10_aes3_packet(), nuv_packet(), and yop_read_packet().