Mercurial > libavformat.hg
changeset 4817:adb4c38575d1 libavformat
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 | 5748ec2d6705 |
children | 6fd74de2b734 |
files | avformat.h utils.c |
diffstat | 2 files changed, 0 insertions(+), 96 deletions(-) [+] |
line wrap: on
line diff
--- a/avformat.h Tue Apr 07 12:31:28 2009 +0000 +++ b/avformat.h Tue Apr 07 18:31:14 2009 +0000 @@ -114,29 +114,6 @@ /* 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); /** * Allocate and read the payload of a packet and initialize its fields with @@ -148,23 +125,6 @@ */ int av_get_packet(ByteIOContext *s, 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); - } -} /*************************************************/ /* fractional numbers for exact pts handling */
--- a/utils.c Tue Apr 07 12:31:28 2009 +0000 +++ b/utils.c Tue Apr 07 18:31:14 2009 +0000 @@ -258,40 +258,6 @@ /* memory handling */ -void av_destruct_packet(AVPacket *pkt) -{ - av_free(pkt->data); - pkt->data = NULL; pkt->size = 0; -} - -void av_init_packet(AVPacket *pkt) -{ - pkt->pts = AV_NOPTS_VALUE; - pkt->dts = AV_NOPTS_VALUE; - pkt->pos = -1; - pkt->duration = 0; - pkt->convergence_duration = 0; - pkt->flags = 0; - pkt->stream_index = 0; - pkt->destruct= av_destruct_packet_nofree; -} - -int av_new_packet(AVPacket *pkt, int size) -{ - uint8_t *data; - if((unsigned)size > (unsigned)size + FF_INPUT_BUFFER_PADDING_SIZE) - return AVERROR(ENOMEM); - data = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE); - if (!data) - return AVERROR(ENOMEM); - memset(data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE); - - av_init_packet(pkt); - pkt->data = data; - pkt->size = size; - pkt->destruct = av_destruct_packet; - return 0; -} int av_get_packet(ByteIOContext *s, AVPacket *pkt, int size) { @@ -311,24 +277,6 @@ return ret; } -int av_dup_packet(AVPacket *pkt) -{ - if (((pkt->destruct == av_destruct_packet_nofree) || (pkt->destruct == NULL)) && pkt->data) { - uint8_t *data; - /* We duplicate the packet and don't forget to add the padding again. */ - if((unsigned)pkt->size > (unsigned)pkt->size + FF_INPUT_BUFFER_PADDING_SIZE) - return AVERROR(ENOMEM); - data = av_malloc(pkt->size + FF_INPUT_BUFFER_PADDING_SIZE); - if (!data) { - return AVERROR(ENOMEM); - } - memcpy(data, pkt->data, pkt->size); - memset(data + pkt->size, 0, FF_INPUT_BUFFER_PADDING_SIZE); - pkt->data = data; - pkt->destruct = av_destruct_packet; - } - return 0; -} int av_filename_number_test(const char *filename) { @@ -932,10 +880,6 @@ pkt->convergence_duration = pc->convergence_duration; } -void av_destruct_packet_nofree(AVPacket *pkt) -{ - pkt->data = NULL; pkt->size = 0; -} static int av_read_frame_internal(AVFormatContext *s, AVPacket *pkt) {