]> git.sesse.net Git - ffmpeg/commitdiff
avformat/dss: Remove unnecessary allocation
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 2 Apr 2020 16:41:11 +0000 (18:41 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Fri, 3 Apr 2020 15:56:57 +0000 (17:56 +0200)
Put a buffer with a known fixed size into the demuxer's context instead
of allocating it separately. This also allows to remove the demuxer's
read_close()-function.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/dss.c

index ae7a2595266b4d306a4b9f752eaacd59d96fe2cd..0585049130234d0ac4fbe05387a98f8fbbcffb93 100644 (file)
@@ -50,7 +50,7 @@ typedef struct DSSDemuxContext {
     int counter;
     int swap;
     int dss_sp_swap_byte;
-    int8_t *dss_sp_buf;
+    int8_t dss_sp_buf[DSS_FRAME_SIZE + 1];
 
     int packet_size;
     int dss_header_size;
@@ -168,10 +168,6 @@ static int dss_read_header(AVFormatContext *s)
     ctx->counter = 0;
     ctx->swap    = 0;
 
-    ctx->dss_sp_buf = av_malloc(DSS_FRAME_SIZE + 1);
-    if (!ctx->dss_sp_buf)
-        return AVERROR(ENOMEM);
-
     return 0;
 }
 
@@ -327,15 +323,6 @@ static int dss_read_packet(AVFormatContext *s, AVPacket *pkt)
         return dss_723_1_read_packet(s, pkt);
 }
 
-static int dss_read_close(AVFormatContext *s)
-{
-    DSSDemuxContext *ctx = s->priv_data;
-
-    av_freep(&ctx->dss_sp_buf);
-
-    return 0;
-}
-
 static int dss_read_seek(AVFormatContext *s, int stream_index,
                          int64_t timestamp, int flags)
 {
@@ -382,7 +369,6 @@ AVInputFormat ff_dss_demuxer = {
     .read_probe     = dss_probe,
     .read_header    = dss_read_header,
     .read_packet    = dss_read_packet,
-    .read_close     = dss_read_close,
     .read_seek      = dss_read_seek,
     .extensions     = "dss"
 };