diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-03-20 04:39:27 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2021-03-23 01:05:17 +0100 |
commit | 84b02bbb78b5aaec0a9de1d0859c4cf7f339a564 (patch) | |
tree | fa5654e164180a71c4f20bde71e7c113540b866f /libavformat | |
parent | 47d0b86cf3d83abdcf60c5c224bbf6f4a0198d5d (diff) | |
download | ffmpeg-84b02bbb78b5aaec0a9de1d0859c4cf7f339a564.tar.gz |
avformat/s337m: Use av_get_packet() to read packet
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/s337m.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/libavformat/s337m.c b/libavformat/s337m.c index 9e3c8ed1ba..9d1b52eb61 100644 --- a/libavformat/s337m.c +++ b/libavformat/s337m.c @@ -147,7 +147,6 @@ static int s337m_read_packet(AVFormatContext *s, AVPacket *pkt) uint64_t state = 0; int ret, data_type, data_size, offset; enum AVCodecID codec; - int64_t pos; while (!IS_LE_MARKER(state)) { state = (state << 8) | avio_r8(pb); @@ -163,19 +162,11 @@ static int s337m_read_packet(AVFormatContext *s, AVPacket *pkt) data_size = avio_rl24(pb); } - pos = avio_tell(pb); - if ((ret = s337m_get_offset_and_codec(s, state, data_type, data_size, &offset, &codec)) < 0) return ret; - if ((ret = av_new_packet(pkt, offset)) < 0) - return ret; - - pkt->pos = pos; - - if (avio_read(pb, pkt->data, pkt->size) < pkt->size) { - return AVERROR_EOF; - } + if ((ret = av_get_packet(pb, pkt, offset)) != offset) + return ret < 0 ? ret : AVERROR_EOF; if (IS_16LE_MARKER(state)) ff_spdif_bswap_buf16((uint16_t *)pkt->data, (uint16_t *)pkt->data, pkt->size >> 1); |