avformat: always unref the packet after parsing

This fixes a memory leak when side-data is present.
This commit is contained in:
Hendrik Leppkes 2015-11-01 09:47:34 +01:00
parent 83d20a6a7e
commit b64fe49371
1 changed files with 4 additions and 5 deletions

View File

@ -1285,12 +1285,11 @@ static int parse_packet(AVFormatContext *s, AVPacket *pkt, int stream_index)
compute_pkt_fields(s, st, st->parser, &out_pkt, next_dts, next_pts);
if ((ret = add_to_pktbuf(&s->internal->parse_queue, &out_pkt,
&s->internal->parse_queue_end,
1))) {
av_packet_unref(&out_pkt);
ret = add_to_pktbuf(&s->internal->parse_queue, &out_pkt,
&s->internal->parse_queue_end, 1);
av_packet_unref(&out_pkt);
if (ret < 0)
goto fail;
}
}
/* end of the stream => close and free the parser */