From c35ee940d035283f4d2a6fdff9451376e717bb73 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Mon, 2 Jun 2025 08:18:17 -0400 Subject: [PATCH] MT#55283 fix PT Redis JSON encoding Change-Id: I6b358e41b2d00f4e3736593071af84c80e7e8628 --- daemon/redis.c | 6 ++- t/auto-daemon-tests-redis-json.pl | 64 ++++++++++++++--------------- t/auto-daemon-tests-redis.pl | 68 +++++++++++++++---------------- 3 files changed, 70 insertions(+), 68 deletions(-) diff --git a/daemon/redis.c b/daemon/redis.c index 0297d6632..e1e3b94c3 100644 --- a/daemon/redis.c +++ b/daemon/redis.c @@ -2711,10 +2711,12 @@ static str redis_encode_json(ng_parser_ctx_t *ctx, call_t *c, void **to_free) { inner = parser->dict_add_list_dup(root, tmp); for (__auto_type m = media->codecs.codec_prefs.head; m; m = m->next) { rtp_payload_type *pt = m->data; - JSON_ADD_LIST_STRING("%u/" STR_FORMAT "/%u/" STR_FORMAT "/" STR_FORMAT "/%i/%i", + JSON_ADD_LIST_STRING("%u/" STR_FORMAT "/%u/" STR_FORMAT "/%i/%i/" + STR_FORMAT "/" STR_FORMAT, pt->payload_type, STR_FMT(&pt->encoding), pt->clock_rate, STR_FMT(&pt->encoding_parameters), - STR_FMT(&pt->format_parameters), pt->bitrate, pt->ptime); + pt->bitrate, pt->ptime, STR_FMT(&pt->format_parameters), + STR_FMT(&pt->codec_opts)); } // SSRC table dump diff --git a/t/auto-daemon-tests-redis-json.pl b/t/auto-daemon-tests-redis-json.pl index d9b913e72..954631846 100755 --- a/t/auto-daemon-tests-redis-json.pl +++ b/t/auto-daemon-tests-redis-json.pl @@ -172,12 +172,12 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -428,10 +428,10 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '8/PCMA/8000///0/20' + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '8/PCMA/8000///0/20' + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -689,12 +689,12 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -946,12 +946,12 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -1261,20 +1261,20 @@ $json_exp = { '3' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-2' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-3' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -1572,9 +1572,9 @@ $json_exp->{'media-2'}{format_str} = '8'; $json_exp->{'media-2'}{media_flags} = '2162692'; $json_exp->{'media-3'}{format_str} = '8'; $json_exp->{'media-3'}{media_flags} = '2162692'; -$json_exp->{'payload_types-2'}[0] = '8/PCMA/8000///0/20'; +$json_exp->{'payload_types-2'}[0] = '8/PCMA/8000//0/20//'; $#{$json_exp->{'payload_types-2'}} = 0; -$json_exp->{'payload_types-3'}[0] = '8/PCMA/8000///0/20'; +$json_exp->{'payload_types-3'}[0] = '8/PCMA/8000//0/20//'; $#{$json_exp->{'payload_types-3'}} = 0; $json_exp->{'stream-1'}{ps_flags} = '1179649'; $json_exp->{'stream-3'}{ps_flags} = '1179649'; @@ -1663,7 +1663,7 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [], @@ -1834,10 +1834,10 @@ $json_exp = { '1' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -2071,10 +2071,10 @@ $json_exp = { '1' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -2336,13 +2336,13 @@ $json_exp = { '2' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-2' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ diff --git a/t/auto-daemon-tests-redis.pl b/t/auto-daemon-tests-redis.pl index 380305b23..13694786b 100755 --- a/t/auto-daemon-tests-redis.pl +++ b/t/auto-daemon-tests-redis.pl @@ -171,12 +171,12 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -429,10 +429,10 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '8/PCMA/8000///0/20' + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '8/PCMA/8000///0/20' + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -690,10 +690,10 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '8/PCMA/8000///0/20' + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '8/PCMA/8000///0/20' + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -951,12 +951,12 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -1208,12 +1208,12 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -1523,20 +1523,20 @@ $json_exp = { '3' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-2' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'payload_types-3' => [ - '0/PCMU/8000///0/20', - '8/PCMA/8000///0/20' + '0/PCMU/8000//0/20//', + '8/PCMA/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -1834,9 +1834,9 @@ $json_exp->{'media-2'}{format_str} = '8'; $json_exp->{'media-2'}{media_flags} = '2162692'; $json_exp->{'media-3'}{format_str} = '8'; $json_exp->{'media-3'}{media_flags} = '2162692'; -$json_exp->{'payload_types-2'}[0] = '8/PCMA/8000///0/20'; +$json_exp->{'payload_types-2'}[0] = '8/PCMA/8000//0/20//'; $#{$json_exp->{'payload_types-2'}} = 0; -$json_exp->{'payload_types-3'}[0] = '8/PCMA/8000///0/20'; +$json_exp->{'payload_types-3'}[0] = '8/PCMA/8000//0/20//'; $#{$json_exp->{'payload_types-3'}} = 0; $json_exp->{'stream-1'}{ps_flags} = '1179649'; $json_exp->{'stream-3'}{ps_flags} = '1179649'; @@ -1924,7 +1924,7 @@ $json_exp = { '0' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [], @@ -2095,10 +2095,10 @@ $json_exp = { '1' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -2332,10 +2332,10 @@ $json_exp = { '1' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [ @@ -2597,13 +2597,13 @@ $json_exp = { '2' ], 'payload_types-0' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-1' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'payload_types-2' => [ - '0/PCMU/8000///0/20' + '0/PCMU/8000//0/20//' ], 'rtcp_sinks-0' => [], 'rtcp_sinks-1' => [