diff options
author | Max <msuraev@sysmocom.de> | 2016-08-12 12:27:22 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-09-09 06:34:54 +0000 |
commit | 6dab90f39fc3d6eb7226e387e7f160c4ece84c0b (patch) | |
tree | 6f125eef30ac569b0059f0c7bfa0f874e6341f1c | |
parent | osmo_ortp.c: fix order of set_connected_mode and set_remote_addr (diff) | |
download | libosmo-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-RELEASE | 1 | ||||
-rw-r--r-- | include/osmocom/trau/osmo_ortp.h | 2 | ||||
-rw-r--r-- | src/trau/osmo_ortp.c | 6 |
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", |