]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/icoenc.c
avformat: Constify all muxer/demuxers
[ffmpeg] / libavformat / icoenc.c
index e641f7bdc71922d014c5d0a019ac68a977b4c72a..39e92a41b784a3a5c0e0fffe4d03cdf225715692 100644 (file)
@@ -106,8 +106,6 @@ static int ico_write_header(AVFormatContext *s)
     if (!ico->images)
         return AVERROR(ENOMEM);
 
-    avio_flush(pb);
-
     return 0;
 }
 
@@ -183,12 +181,17 @@ static int ico_write_trailer(AVFormatContext *s)
         avio_wl32(pb, ico->images[i].offset);
     }
 
-    av_freep(&ico->images);
-
     return 0;
 }
 
-AVOutputFormat ff_ico_muxer = {
+static void ico_deinit(AVFormatContext *s)
+{
+    IcoMuxContext *ico = s->priv_data;
+
+    av_freep(&ico->images);
+}
+
+const AVOutputFormat ff_ico_muxer = {
     .name           = "ico",
     .long_name      = NULL_IF_CONFIG_SMALL("Microsoft Windows ICO"),
     .priv_data_size = sizeof(IcoMuxContext),
@@ -199,5 +202,6 @@ AVOutputFormat ff_ico_muxer = {
     .write_header   = ico_write_header,
     .write_packet   = ico_write_packet,
     .write_trailer  = ico_write_trailer,
+    .deinit         = ico_deinit,
     .flags          = AVFMT_NOTIMESTAMPS,
 };