if (ret == AVERROR(EAGAIN))
continue;
else
- return AV_NOPTS_VALUE;
+ break;
}
av_init_packet(&out_pkt);
ret = av_parser_parse2(parser, st->codec,
&out_pkt.data, &out_pkt.size, pkt.data, pkt.size,
pkt.pts, pkt.dts, *ppos);
+ av_free_packet(&pkt);
if (out_pkt.size){
int size = out_pkt.size;
- av_free_packet(&out_pkt);
if (parser->pts != AV_NOPTS_VALUE){
// seeking may not have started from beginning of a frame
// calculate frame start position from next frame backwards