diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2019-10-08 07:41:16 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2019-11-17 23:44:17 +0100 |
commit | 5d8d9e032cafa88e99046478090dd5a629e3d51c (patch) | |
tree | 73804280cf585f54e54e6ae4a0105ea9ab174c90 /libavformat/flacdec.c | |
parent | 56f25c11a9e88cbe2958d9dd1ebf5773c7f3e4a8 (diff) | |
download | ffmpeg-5d8d9e032cafa88e99046478090dd5a629e3d51c.tar.gz |
avformat/flacdec: Remove useless packet
flac_read_timestamp() applied av_init_packet() to a packet (which
initializes all fields of the packet except for data and size) and then
went on to use only the data and size fields. In other words: Said
packet can be removed and replaced by an uint8_t * and an int.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/flacdec.c')
-rw-r--r-- | libavformat/flacdec.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c index 8394e47483..cb516fb1f3 100644 --- a/libavformat/flacdec.c +++ b/libavformat/flacdec.c @@ -259,7 +259,7 @@ static int flac_probe(const AVProbeData *p) static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit) { - AVPacket pkt, out_pkt; + AVPacket pkt; AVStream *st = s->streams[stream_index]; AVCodecParserContext *parser; int ret; @@ -276,6 +276,9 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde parser->flags |= PARSER_FLAG_USE_CODEC_TS; for (;;){ + uint8_t *data; + int size; + ret = ff_raw_read_partial_packet(s, &pkt); if (ret < 0){ if (ret == AVERROR(EAGAIN)) @@ -285,14 +288,12 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde av_assert1(!pkt.size); } } - av_init_packet(&out_pkt); av_parser_parse2(parser, st->internal->avctx, - &out_pkt.data, &out_pkt.size, pkt.data, pkt.size, + &data, &size, pkt.data, pkt.size, pkt.pts, pkt.dts, *ppos); av_packet_unref(&pkt); - if (out_pkt.size){ - int size = out_pkt.size; + if (size) { if (parser->pts != AV_NOPTS_VALUE){ // seeking may not have started from beginning of a frame // calculate frame start position from next frame backwards |