summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2016-08-12 12:27:22 +0200
committerHarald Welte <laforge@gnumonks.org>2016-09-09 06:34:54 +0000
commit6dab90f39fc3d6eb7226e387e7f160c4ece84c0b (patch)
tree6f125eef30ac569b0059f0c7bfa0f874e6341f1c
parentosmo_ortp.c: fix order of set_connected_mode and set_remote_addr (diff)
downloadlibosmo-abis-6dab90f39fc3d6eb7226e387e7f160c4ece84c0b.tar.xz
libosmo-abis-6dab90f39fc3d6eb7226e387e7f160c4ece84c0b.zip
Change API to convey marker bit
Previously RTP receive callback ignored Marker bit from RTP headers. Extend API to include it explicitly. Change-Id: I3c2b6365d8a51bf98805614e07344d2639875fde Related: OS#1750
-rw-r--r--TODO-RELEASE1
-rw-r--r--include/osmocom/trau/osmo_ortp.h2
-rw-r--r--src/trau/osmo_ortp.c6
3 files changed, 6 insertions, 3 deletions
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 43b1e8e..7ea65b6 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -1 +1,2 @@
#library what description / commit summary line
+libosmo-abis API change major: add parameter to rx_cb() callack in osmo_ortp.h
diff --git a/include/osmocom/trau/osmo_ortp.h b/include/osmocom/trau/osmo_ortp.h
index 7c2a5cb..1c0b223 100644
--- a/include/osmocom/trau/osmo_ortp.h
+++ b/include/osmocom/trau/osmo_ortp.h
@@ -55,7 +55,7 @@ struct osmo_rtp_socket {
/*! \brief callback for incoming data */
void (*rx_cb)(struct osmo_rtp_socket *rs, const uint8_t *payload,
- unsigned int payload_len);
+ unsigned int payload_len, bool marker);
/*! \brief Receive user timestamp, to be incremented by user */
uint32_t rx_user_ts;
diff --git a/src/trau/osmo_ortp.c b/src/trau/osmo_ortp.c
index cdcc1e7..cc1d748 100644
--- a/src/trau/osmo_ortp.c
+++ b/src/trau/osmo_ortp.c
@@ -159,7 +159,8 @@ int osmo_rtp_socket_poll(struct osmo_rtp_socket *rs)
/* hand into receiver */
if (rs->rx_cb)
rs->rx_cb(rs, mblk->b_rptr,
- mblk->b_wptr - mblk->b_rptr);
+ mblk->b_wptr - mblk->b_rptr,
+ rtp_get_markbit(mblk));
//rs->rx_user_ts += 160;
freemsg(mblk);
return 1;
@@ -189,7 +190,8 @@ static int osmo_rtp_fd_cb(struct osmo_fd *fd, unsigned int what)
/* hand into receiver */
if (rs->rx_cb)
rs->rx_cb(rs, mblk->b_rptr,
- mblk->b_wptr - mblk->b_rptr);
+ mblk->b_wptr - mblk->b_rptr,
+ rtp_get_markbit(mblk));
freemsg(mblk);
} else
LOGP(DLMIB, LOGL_INFO, "recvm_with_ts(%u): ERROR!\n",