]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/ttaenc.c
avformat/mlvdec:drop unnecessary check before ff_format_io_close
[ffmpeg] / libavformat / ttaenc.c
index d8e1136ead1a2ed7debc33ce1f5cba0aa8a39eb0..73c29ae936c268100b913730def90bd0c6fa1ae2 100644 (file)
@@ -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,