]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/ttaenc.c
hwcontext_opencl: include header file in HEADERS
[ffmpeg] / libavformat / ttaenc.c
index d8e1136ead1a2ed7debc33ce1f5cba0aa8a39eb0..4860aab4c13468904797571e61fc5cc42ee0ddd2 100644 (file)
@@ -147,17 +147,25 @@ 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 */
     tta_queue_flush(s);
 
     ff_ape_write_tag(s);
-    avio_flush(s->pb);
 
     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 +175,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,