mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
matroskadec: use av_grow_packet in merge_packets.
It ensures that the packet is properly padded and makes the code simpler. Fixes trac ticket #1223.
This commit is contained in:
parent
1a65d50ee7
commit
dcd207c4cb
@ -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 < 0)
|
||||
return ret;
|
||||
memcpy(out->data + out->size - in->size, in->data, in->size);
|
||||
av_destruct_packet(in);
|
||||
av_free(in);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user