avformat/dss: Remove unnecessary allocation

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>
This commit is contained in:
Andreas Rheinhardt 2020-04-02 18:41:11 +02:00
parent ab502fab6a
commit aebf314ab8
1 changed files with 1 additions and 15 deletions

View File

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