[PATCH] libosmo-abis[master]: Extend osmo_rtp_send_frame API

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Max gerrit-no-reply at lists.osmocom.org
Wed May 18 13:54:40 UTC 2016


Review at  https://gerrit.osmocom.org/82

Extend osmo_rtp_send_frame API

Add boolean parameter to osmo_rtp_send_frame() to explicitly set marker
bit in RTP header. Previously it was always unset which resulted in
degradation of speech quality for codecs with explicit talkspurt
events (was tested with AMR's ONSET).

Related: OS#1562
Change-Id: I23e6dccfad5643e662391a0a2abebbb45597ffd9
---
M TODO-RELEASE
M include/osmocom/trau/osmo_ortp.h
M src/trau/osmo_ortp.c
3 files changed, 8 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/82/82/1

diff --git a/TODO-RELEASE b/TODO-RELEASE
index 43b1e8e..2ba3b29 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -1 +1,2 @@
 #library	what		description / commit summary line
+libosmo-abis	API		change signature of osmo_rtp_send_frame
diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h
index 9512759..58d2860 100644
--- a/include/osmocom/trau/osmo_ortp.h
+++ b/include/osmocom/trau/osmo_ortp.h
@@ -2,6 +2,7 @@
 #define _OSMO_ORTP_H
 
 #include <stdint.h>
+#include <stdbool.h>
 
 #include <osmocom/core/linuxlist.h>
 #include <osmocom/core/select.h>
@@ -66,7 +67,8 @@
 int osmo_rtp_socket_set_pt(struct osmo_rtp_socket *rs, int payload_type);
 int osmo_rtp_socket_free(struct osmo_rtp_socket *rs);
 int osmo_rtp_send_frame(struct osmo_rtp_socket *rs, const uint8_t *payload,
-			unsigned int payload_len, unsigned int duration);
+			unsigned int payload_len, unsigned int duration,
+			bool marker);
 int osmo_rtp_socket_poll(struct osmo_rtp_socket *rs);
 
 int osmo_rtp_get_bound_ip_port(struct osmo_rtp_socket *rs,
diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c
index 3313798..cb167d7 100644
--- a/src/trau/osmo_ortp.c
+++ b/src/trau/osmo_ortp.c
@@ -23,6 +23,7 @@
  */
 
 #include <stdint.h>
+#include <stdbool.h>
 #include <inttypes.h>
 #include <netdb.h>
 
@@ -415,7 +416,8 @@
  *  \returns 0 on success, <0 in case of error.
  */
 int osmo_rtp_send_frame(struct osmo_rtp_socket *rs, const uint8_t *payload,
-			unsigned int payload_len, unsigned int duration)
+			unsigned int payload_len, unsigned int duration,
+			bool marker)
 {
 	mblk_t *mblk;
 	int rc;
@@ -428,6 +430,7 @@
 	if (!mblk)
 		return -ENOMEM;
 
+	rtp_set_markbit(mblk, marker);
 	rc = rtp_session_sendm_with_ts(rs->sess, mblk,
 				       rs->tx_timestamp);
 	rs->tx_timestamp += duration;

-- 
To view, visit https://gerrit.osmocom.org/82
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I23e6dccfad5643e662391a0a2abebbb45597ffd9
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>



More information about the OpenBSC mailing list