X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fconcatdec.c;h=d226e1504ed90d344deb48fbbc79e18ad89c92eb;hb=4ca8879d19893562040670f488a9c47aea77beb4;hp=d21805fe71b02ae62aaf9ec2d340458d0a116b8a;hpb=4cf66a81932a1f3775b8952ebe010be067990674;p=ffmpeg diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c index d21805fe71b..d226e1504ed 100644 --- a/libavformat/concatdec.c +++ b/libavformat/concatdec.c @@ -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);