From f90aeade4fcb5cec6884833442ae1111fcf027e9 Mon Sep 17 00:00:00 2001
From: Dragos Oancea <dragos@signalwire.com>
Date: Thu, 26 Jan 2023 20:14:35 +0200
Subject: [PATCH] [core] Opus RTP timestamp: adding an exception on RTP session
 creation.

https://www.rfc-editor.org/rfc/rfc7587.html
"The RTP timestamp is incremented with a 48000 Hz
   clock rate for all modes of Opus and all sampling rates.  The unit
   for the timestamp is samples per single (mono) channel"

Follow up: 50f57f85732b0d5a58a39f3fca7b654f894b0c9d, ccbef9e0c7e31c410ce08b5276c3e2e5a2f69883 .
---
 src/switch_core_media.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/switch_core_media.c b/src/switch_core_media.c
index c6ed02cfe1..8ed496bda7 100644
--- a/src/switch_core_media.c
+++ b/src/switch_core_media.c
@@ -8724,7 +8724,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi
 											   a_engine->cur_payload_map->remote_sdp_ip,
 											   a_engine->cur_payload_map->remote_sdp_port,
 											   a_engine->cur_payload_map->pt,
-											   a_engine->read_impl.samples_per_packet,
+											   strcasecmp("opus", a_engine->read_impl.iananame) ? a_engine->read_impl.samples_per_packet : 
+											   a_engine->read_impl.samples_per_second * (a_engine->read_impl.microseconds_per_packet / 1000) / 1000,
 											   a_engine->cur_payload_map->codec_ms * 1000,
 											   flags, timer_name, &err, switch_core_session_get_pool(session),
 											   0, 0);