diff --git a/libavformat/flacenc.c b/libavformat/flacenc.c index 44c9341493..f884e5d2c8 100644 --- a/libavformat/flacenc.c +++ b/libavformat/flacenc.c @@ -299,7 +299,7 @@ static int flac_write_audio_packet(struct AVFormatContext *s, AVPacket *pkt) static int flac_queue_flush(AVFormatContext *s) { FlacMuxerContext *c = s->priv_data; - AVPacket pkt; + AVPacket *const pkt = ffformatcontext(s)->pkt; int ret, write = 1; ret = flac_finish_header(s); @@ -307,10 +307,10 @@ static int flac_queue_flush(AVFormatContext *s) write = 0; while (c->queue) { - avpriv_packet_list_get(&c->queue, &c->queue_end, &pkt); - if (write && (ret = flac_write_audio_packet(s, &pkt)) < 0) + avpriv_packet_list_get(&c->queue, &c->queue_end, pkt); + if (write && (ret = flac_write_audio_packet(s, pkt)) < 0) write = 0; - av_packet_unref(&pkt); + av_packet_unref(pkt); } return ret; }