avformat/flacdec/flac_read_timestamp: free the correct packet
[ffmpeg.git] / libavformat / flacdec.c
index 1caa7b0..cd752e1 100644 (file)
@@ -187,16 +187,16 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde
             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