Signed-off-by: James Almer <jamr...@gmail.com> --- libavformat/flacdec.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c index 6aca4755a1..7852a79d39 100644 --- a/libavformat/flacdec.c +++ b/libavformat/flacdec.c @@ -259,7 +259,7 @@ static int flac_probe(const AVProbeData *p) static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit) { - AVPacket pkt; + AVPacket *pkt; AVStream *st = s->streams[stream_index]; AVCodecParserContext *parser; int ret; @@ -268,9 +268,12 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde if (avio_seek(s->pb, *ppos, SEEK_SET) < 0) return AV_NOPTS_VALUE; - av_init_packet(&pkt); + pkt = av_packet_alloc(); + if (!pkt) + return AV_NOPTS_VALUE; parser = av_parser_init(st->codecpar->codec_id); if (!parser){ + av_packet_free(&pkt); return AV_NOPTS_VALUE; } parser->flags |= PARSER_FLAG_USE_CODEC_TS; @@ -279,20 +282,20 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde uint8_t *data; int size; - ret = ff_raw_read_partial_packet(s, &pkt); + ret = ff_raw_read_partial_packet(s, pkt); if (ret < 0){ if (ret == AVERROR(EAGAIN)) continue; else { - av_packet_unref(&pkt); - av_assert1(!pkt.size); + av_packet_unref(pkt); + av_assert1(!pkt->size); } } av_parser_parse2(parser, st->internal->avctx, - &data, &size, pkt.data, pkt.size, - pkt.pts, pkt.dts, *ppos); + &data, &size, pkt->data, pkt->size, + pkt->pts, pkt->dts, *ppos); - av_packet_unref(&pkt); + av_packet_unref(pkt); if (size) { if (parser->pts != AV_NOPTS_VALUE){ // seeking may not have started from beginning of a frame @@ -304,6 +307,7 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde } else if (ret < 0) break; } + av_packet_free(&pkt); av_parser_close(parser); return pts; } -- 2.30.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".