From d9ed4d818e175a4fd8f549f9bac0cd18763cdbb4 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Mon, 7 Jul 2025 09:52:50 -0400 Subject: [PATCH] MT#55283 fix clashing PT numbers closes #1960 Change-Id: Ia69cbb69a826141b85a65cd7487a655e047e88d2 (cherry picked from commit fe39a7927b3c6aca2c092303849e2cd7e9896ffa) (cherry picked from commit e1345f37a4f3f4c67e47f4354736bcabffc17f95) --- daemon/codec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/daemon/codec.c b/daemon/codec.c index 8dd3465c2..145c838e1 100644 --- a/daemon/codec.c +++ b/daemon/codec.c @@ -5566,6 +5566,14 @@ void codec_store_transcode(struct codec_store *cs, str_q *offer, struct codec_st ilogs(codec, LOG_DEBUG, "Adding codec " STR_FORMAT " for transcoding", STR_FMT(codec)); + __auto_type pt_num = + pt ? t_hash_table_lookup(cs->codecs, GINT_TO_POINTER(pt->payload_type)) : NULL; + if (pt_num) { + ilogs(codec, LOG_DEBUG, "RFC-defined payload type number %d is already in use, " + "using generic number for " STR_FORMAT, + pt->payload_type, STR_FMT(codec)); + pt->payload_type = -1; + } // create new payload type pt = codec_add_payload_type_pt(pt, cs->media, NULL, orig); if (!pt)