[FFmpeg-devel] [PATCH] matroskadec: use av_grow_packet in merge_packets.
Nicolas George
nicolas.george at normalesup.org
Mon Apr 16 18:13:24 CEST 2012
It ensures that the packet is properly padded
and makes the code simpler.
Fixes trac ticket #1223.
Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
libavformat/matroskadec.c | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index e9c3101..2b97e72 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1126,12 +1126,10 @@ static void matroska_fix_ass_packet(MatroskaDemuxContext *matroska,
static int matroska_merge_packets(AVPacket *out, AVPacket *in)
{
- void *newdata = av_realloc(out->data, out->size+in->size);
- if (!newdata)
- return AVERROR(ENOMEM);
- out->data = newdata;
- memcpy(out->data+out->size, in->data, in->size);
- out->size += in->size;
+ int ret = av_grow_packet(out, in->size);
+ if (ret)
+ return ret;
+ memcpy(out->data + out->size - in->size, in->data, in->size);
av_destruct_packet(in);
av_free(in);
return 0;
--
1.7.2.5
More information about the ffmpeg-devel
mailing list