summaryrefslogtreecommitdiff
path: root/libavformat/s337m.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-20 04:39:27 +0100
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2021-03-23 01:05:17 +0100
commit84b02bbb78b5aaec0a9de1d0859c4cf7f339a564 (patch)
treefa5654e164180a71c4f20bde71e7c113540b866f /libavformat/s337m.c
parent47d0b86cf3d83abdcf60c5c224bbf6f4a0198d5d (diff)
downloadffmpeg-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/s337m.c')
-rw-r--r--libavformat/s337m.c13
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);