X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fyuv4mpegdec.c;h=462b8238606429fa3f8606df1397f5ac9f44c913;hb=744801989099df26e90b00062c645969c5347533;hp=a91645f6d61a5e9aa0595d650526cf1b026e6513;hpb=a0bc6b51d4f6d01eb4bcaec5489ca67037687a77;p=ffmpeg diff --git a/libavformat/yuv4mpegdec.c b/libavformat/yuv4mpegdec.c index a91645f6d61..462b8238606 100644 --- a/libavformat/yuv4mpegdec.c +++ b/libavformat/yuv4mpegdec.c @@ -295,9 +295,10 @@ static int yuv4_read_packet(AVFormatContext *s, AVPacket *pkt) ret = av_get_packet(s->pb, pkt, s->packet_size - Y4M_FRAME_MAGIC_LEN); if (ret < 0) return ret; - else if (ret != s->packet_size - Y4M_FRAME_MAGIC_LEN) + else if (ret != s->packet_size - Y4M_FRAME_MAGIC_LEN) { + av_packet_unref(pkt); return s->pb->eof_reached ? AVERROR_EOF : AVERROR(EIO); - + } pkt->stream_index = 0; pkt->pts = (off - s->internal->data_offset) / s->packet_size; pkt->duration = 1;