From 56df8296f5221524bd06e91e6639c08753d1b8a0 Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Thu, 20 Feb 2020 23:04:50 +0200 Subject: avformat/spdifenc: fix TrueHD streams over 48kHz Commit 36e156bef02 ("avformat/spdifenc: fix handling of large TrueHD frame") added an obviously incorrect bitshift that caused incorrect samples-per-frame calculation for TrueHD streams over 48kHz. Fix that. --- libavformat/spdifenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavformat/spdifenc.c') diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c index dcfab87cc4..0288872fd3 100644 --- a/libavformat/spdifenc.c +++ b/libavformat/spdifenc.c @@ -435,9 +435,9 @@ static int spdif_header_truehd(AVFormatContext *s, AVPacket *pkt) if (AV_RB24(pkt->data + 4) == 0xf8726f) { /* major sync unit, fetch sample rate */ if (pkt->data[7] == 0xba) - ratebits = pkt->data[8] >> 8; + ratebits = pkt->data[8] >> 4; else if (pkt->data[7] == 0xbb) - ratebits = pkt->data[9] >> 8; + ratebits = pkt->data[9] >> 4; else return AVERROR_INVALIDDATA; -- cgit v1.2.3