lavf/concatdec: do not access packet if av_read_frame returned error

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
Marton Balint 2015-11-28 13:05:30 +01:00
parent a43deea861
commit fdb2d4b108

View File

@ -555,9 +555,7 @@ static int concat_read_packet(AVFormatContext *avf, AVPacket *pkt)
while (1) {
ret = av_read_frame(cat->avf, pkt);
if (ret == AVERROR_EOF || packet_after_outpoint(cat, pkt)) {
if (ret == 0)
av_packet_unref(pkt);
if (ret == AVERROR_EOF) {
if ((ret = open_next_file(avf)) < 0)
return ret;
continue;
@ -568,6 +566,12 @@ static int concat_read_packet(AVFormatContext *avf, AVPacket *pkt)
av_packet_unref(pkt);
return ret;
}
if (packet_after_outpoint(cat, pkt)) {
av_packet_unref(pkt);
if ((ret = open_next_file(avf)) < 0)
return ret;
continue;
}
cs = &cat->cur_file->streams[pkt->stream_index];
if (cs->out_stream_index < 0) {
av_packet_unref(pkt);