- allow AMR-NB/WB BWE profiles in rtp_decode

This commit is contained in:
2026-02-24 10:48:03 +03:00
parent b5fe9e59c4
commit 72a7042ab9
2 changed files with 15 additions and 4 deletions

View File

@@ -1,6 +1,10 @@
cmake_minimum_required(VERSION 3.20)
project(rtp_decode)
set (CMAKE_CXX_STANDARD 20) set (CMAKE_CXX_STANDARD 20)
set (CMAKE_CXX_STANDARD_REQUIRED ON) set (CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(rtp_decode main.cpp)
add_subdirectory(../../src build_rtphone) add_subdirectory(../../src build_rtphone)
add_executable(rtp_decode main.cpp)
target_link_libraries(rtp_decode PRIVATE rtphone) target_link_libraries(rtp_decode PRIVATE rtphone)

View File

@@ -29,7 +29,8 @@ static void usage(const char* progname)
fprintf(stderr, fprintf(stderr,
"Usage: %s <input.rtp> <output.wav> --codec <name> [--pt <N>] [--rate <N>] [--channels <N>]\n" "Usage: %s <input.rtp> <output.wav> --codec <name> [--pt <N>] [--rate <N>] [--channels <N>]\n"
"\n" "\n"
"Codecs: pcmu pcma g722 g729 opus gsm gsmhr gsmefr amrnb amrwb evs ilbc20 ilbc30 isac16 isac32\n" "Codecs: pcmu pcma g722 g729 opus gsm gsmhr gsmefr\n"
" amrnb amrwb amrnb-bwe amrwb-bwe evs ilbc20 ilbc30 isac16 isac32\n"
"\n" "\n"
"Options:\n" "Options:\n"
" --codec <name> Codec name (required)\n" " --codec <name> Codec name (required)\n"
@@ -67,6 +68,8 @@ static const CodecDefaults kCodecTable[] = {
{ "opus", 106, false }, { "opus", 106, false },
{ "amrnb", -1, true }, { "amrnb", -1, true },
{ "amrwb", -1, true }, { "amrwb", -1, true },
{ "amrnb-bwe", -1, true },
{ "amrwb-bwe", -1, true },
{ "gsmhr", -1, true }, { "gsmhr", -1, true },
{ "gsmefr", 126, false }, { "gsmefr", 126, false },
{ "evs", 127, false }, { "evs", 127, false },
@@ -104,6 +107,10 @@ static MT::CodecList::Settings buildSettings(const std::string& codecName, int p
s.mAmrNbOctetPayloadType.insert(pt); s.mAmrNbOctetPayloadType.insert(pt);
} else if (codecName == "amrwb") { } else if (codecName == "amrwb") {
s.mAmrWbOctetPayloadType.insert(pt); s.mAmrWbOctetPayloadType.insert(pt);
} else if (codecName == "amrnb-bwe") {
s.mAmrNbPayloadType.insert(pt);
} else if (codecName == "amrwb-bwe") {
s.mAmrWbPayloadType.insert(pt);
} else if (codecName == "evs") { } else if (codecName == "evs") {
MT::CodecList::Settings::EvsSpec ev; MT::CodecList::Settings::EvsSpec ev;
ev.mPayloadType = pt; ev.mPayloadType = pt;