From e90ae17212561e10689b9108247086b6c9f44842 Mon Sep 17 00:00:00 2001 From: Dmytro Bogovych Date: Mon, 28 Jul 2025 11:15:39 +0300 Subject: [PATCH] - fixes to AMR decoder --- src/engine/media/MT_AmrCodec.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/engine/media/MT_AmrCodec.cpp b/src/engine/media/MT_AmrCodec.cpp index 191174dd..b5101932 100644 --- a/src/engine/media/MT_AmrCodec.cpp +++ b/src/engine/media/MT_AmrCodec.cpp @@ -151,6 +151,18 @@ static AmrPayload parseAmrPayload(AmrPayloadInfo& input) << ", octet-aligned = " << input.mOctetAligned << ", timestamp = " << static_cast(f.mTimestamp) << std::endl;*/ + if (input.mWideband && f.mFrameType == 15) + { + // DTX, no sense to decode the data + continue; + } + + if (input.mWideband && f.mFrameType == 14) + { + // Speech lost code only + continue; + } + size_t bitsLength = input.mWideband ? amrwb_framelenbits[f.mFrameType] : amrnb_framelenbits[f.mFrameType]; size_t byteLength = input.mWideband ? amrwb_framelen[f.mFrameType] : amrnb_framelen[f.mFrameType];