Mercurial > libavcodec.hg
diff avcodec.h @ 9357:2108342734cc libavcodec
Move av_packet_*() functions from libavformat/ to libavcodec/, where the
AVPacket structure now resides also.
Patch by Thilo Borgmann thilo.borgmann googlemail com, see the mailinglist
thread "Google Summer of Code participation" for additional discussion.
author | rbultje |
---|---|
date | Tue, 07 Apr 2009 18:31:14 +0000 |
parents | 54bc8a2727b0 |
children | f978e4a699c5 |
line wrap: on
line diff
--- a/avcodec.h Tue Apr 07 18:24:47 2009 +0000 +++ b/avcodec.h Tue Apr 07 18:31:14 2009 +0000 @@ -2628,6 +2628,49 @@ AVSubtitleRect **rects; } AVSubtitle; +/* packet functions */ + +void av_destruct_packet_nofree(AVPacket *pkt); + +/** + * Default packet destructor. + */ +void av_destruct_packet(AVPacket *pkt); + +/** + * Initialize optional fields of a packet with default values. + * + * @param pkt packet + */ +void av_init_packet(AVPacket *pkt); + +/** + * Allocate the payload of a packet and initialize its fields with + * default values. + * + * @param pkt packet + * @param size wanted payload size + * @return 0 if OK, AVERROR_xxx otherwise + */ +int av_new_packet(AVPacket *pkt, int size); + +/** + * @warning This is a hack - the packet memory allocation stuff is broken. The + * packet is allocated if it was not really allocated. + */ +int av_dup_packet(AVPacket *pkt); + +/** + * Free a packet. + * + * @param pkt packet to free + */ +static inline void av_free_packet(AVPacket *pkt) +{ + if (pkt && pkt->destruct) { + pkt->destruct(pkt); + } +} /* resample.c */