From 2ce8f53859bb901db369351e06537c82a8667447 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 e7fffa0c3b76635ff5771ab6b326dcdb2e78c54b) --- daemon/codec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/daemon/codec.c b/daemon/codec.c index d62e3465e..2b67f35d3 100644 --- a/daemon/codec.c +++ b/daemon/codec.c @@ -6074,6 +6074,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)