[FFmpeg-devel] [PATCH] avformat/s337m: Use av_get_packet() to read packet
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Mon Mar 22 21:14:21 EET 2021
Andreas Rheinhardt:
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
> libavformat/s337m.c | 13 ++-----------
> 1 file 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);
>
Will apply tonight unless there are objections.
- Andreas
More information about the ffmpeg-devel
mailing list