X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fttaenc.c;h=73c29ae936c268100b913730def90bd0c6fa1ae2;hb=09fd1b18f041b725be6f78bc787140eb5cb25d2e;hp=d8e1136ead1a2ed7debc33ce1f5cba0aa8a39eb0;hpb=94346ab593f3fc0822f11d3e3f378f9944ad2d40;p=ffmpeg diff --git a/libavformat/ttaenc.c b/libavformat/ttaenc.c index d8e1136ead1..73c29ae936c 100644 --- a/libavformat/ttaenc.c +++ b/libavformat/ttaenc.c @@ -147,6 +147,7 @@ static int tta_write_trailer(AVFormatContext *s) avio_wl32(tta->seek_table, crc); size = avio_close_dyn_buf(tta->seek_table, &ptr); avio_write(s->pb, ptr, size); + tta->seek_table = NULL; av_free(ptr); /* Write audio data */ @@ -158,6 +159,14 @@ static int tta_write_trailer(AVFormatContext *s) return 0; } +static void tta_deinit(AVFormatContext *s) +{ + TTAMuxContext *tta = s->priv_data; + + ffio_free_dyn_buf(&tta->seek_table); + ff_packet_list_free(&tta->queue, &tta->queue_end); +} + AVOutputFormat ff_tta_muxer = { .name = "tta", .long_name = NULL_IF_CONFIG_SMALL("TTA (True Audio)"), @@ -167,6 +176,7 @@ AVOutputFormat ff_tta_muxer = { .audio_codec = AV_CODEC_ID_TTA, .video_codec = AV_CODEC_ID_NONE, .init = tta_init, + .deinit = tta_deinit, .write_header = tta_write_header, .write_packet = tta_write_packet, .write_trailer = tta_write_trailer,