]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[core] Opus RTP timestamp: adding an exception on RTP session creation.
authorDragos Oancea <dragos@signalwire.com>
Thu, 26 Jan 2023 18:14:35 +0000 (20:14 +0200)
committerDragos Oancea <dragos@signalwire.com>
Thu, 15 Jun 2023 13:25:46 +0000 (16:25 +0300)
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: 50f57f85732b0d5a58a39f3fca7b654f894b0c9dccbef9e0c7e31c410ce08b5276c3e2e5a2f69883 .

src/switch_core_media.c

index c6ed02cfe1aede5af2e440a61715b2753a8c938e..8ed496bda7687cfdb8cf4b24040f5ce389e85c12 100644 (file)
@@ -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);