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;