aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/ttaenc.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2019-10-20 23:24:54 -0300
committerJames Almer <jamrial@gmail.com>2019-10-21 17:20:20 -0300
commitb46cdd9d23703f4976d2504055ccc86741013f4b (patch)
tree075f10a453706605f3786194473287164824c25b /libavformat/ttaenc.c
parenta581bb66ea5eb981e2e498ca301df7d1ef15a6a3 (diff)
downloadffmpeg-b46cdd9d23703f4976d2504055ccc86741013f4b.tar.gz
avformat/ttaenc: add a deinit function
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/ttaenc.c')
-rw-r--r--libavformat/ttaenc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavformat/ttaenc.c b/libavformat/ttaenc.c
index d8e1136ead..73c29ae936 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,