aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2017-04-25 17:20:38 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2017-04-27 08:50:01 +0000
commite98afe5808176efb60298a2f764e8e11efaf580b (patch)
treecb53aebb0bacd93ca77a21ae9152502a6ebf7692 /include/osmocom
parenta67c47cab412b631c19e3f32167b9f5a0edc39ba (diff)
osmux: Add RTP marker bit support
According to RFC4867 (RTP payload format for AMR): "The RTP header marker bit (M) SHALL be set to 1 if the first frameblock carried in the packet contains a speech frame which is the first in a talkspurt. For all other packets the marker bit SHALL be set to zero (M=0)." This information bit provides a way for the receiver to better synchronize the delay with ther sender. This is specially useful if AMR DTX features are supported and enabled on the sender. Change-Id: I0315658159429603f1d80a168718b026015060e9
Diffstat (limited to 'include/osmocom')
-rw-r--r--include/osmocom/netif/osmux.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/osmocom/netif/osmux.h b/include/osmocom/netif/osmux.h
index 1d93aa0..5283059 100644
--- a/include/osmocom/netif/osmux.h
+++ b/include/osmocom/netif/osmux.h
@@ -13,7 +13,8 @@
/* OSmux header:
*
- * ft (3 bits): 0=signalling, 1=voice, 2=dummy
+ * rtp_m (1 bit): RTP M field (RFC3550, RFC4867)
+ * ft (2 bits): 0=signalling, 1=voice, 2=dummy
* ctr (3 bits): Number of batched AMR payloads (starting 0)
* amr_f (1 bit): AMR F field (RFC3267)
* amr_q (1 bit): AMR Q field (RFC3267)
@@ -29,7 +30,8 @@
struct osmux_hdr {
#if OSMO_IS_BIG_ENDIAN
- uint8_t ft:3,
+ uint8_t rtp_m:1,
+ ft:2,
ctr:3,
amr_f:1,
amr_q:1;
@@ -37,7 +39,8 @@ struct osmux_hdr {
uint8_t amr_q:1,
amr_f:1,
ctr:3,
- ft:3;
+ ft:2,
+ rtp_m:1;
#endif
uint8_t seq;
#define OSMUX_CID_MAX 255 /* determined by circuit_id */