From: Dragos Oancea Date: Thu, 26 Jan 2023 18:14:35 +0000 (+0200) Subject: [core] Opus RTP timestamp: adding an exception on RTP session creation. X-Git-Tag: v1.10.10^2~40^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f90aeade4fcb5cec6884833442ae1111fcf027e9;p=thirdparty%2Ffreeswitch.git [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 . --- 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);