|
struct osmux_hdr | __attribute__ ((packed)) |
|
static uint8_t * | osmux_get_payload (struct osmux_hdr *osmuxh) |
|
int | osmux_snprintf (char *buf, size_t size, struct msgb *msg) |
|
void | osmux_xfrm_input_init (struct osmux_in_handle *h) |
|
void | osmux_xfrm_input_fini (struct osmux_in_handle *h) |
|
int | osmux_xfrm_input_open_circuit (struct osmux_in_handle *h, int ccid, int dummy) |
|
void | osmux_xfrm_input_close_circuit (struct osmux_in_handle *h, int ccid) |
|
int | osmux_xfrm_input (struct osmux_in_handle *h, struct msgb *msg, int ccid) |
|
void | osmux_xfrm_input_deliver (struct osmux_in_handle *h) |
|
void | osmux_xfrm_output_init (struct osmux_out_handle *h, uint32_t rtp_ssrc) |
|
void | osmux_xfrm_output_set_tx_cb (struct osmux_out_handle *h, void(*tx_cb)(struct msgb *msg, void *data), void *data) |
| Set transmission callback to call when a generated RTP packet is to be transmitted. More...
|
|
int | osmux_xfrm_output (struct osmux_hdr *osmuxh, struct osmux_out_handle *h, struct llist_head *list) OSMO_DEPRECATED("Use osmux_xfrm_output_sched() instead") |
|
int | osmux_xfrm_output_sched (struct osmux_out_handle *h, struct osmux_hdr *osmuxh) |
| Generate RTP packets from osmux frame AMR payload set and schedule them for transmission at appropiate time. More...
|
|
void | osmux_xfrm_output_flush (struct osmux_out_handle *h) |
| Flush all scheduled RTP packets still pending to be transmitted. More...
|
|
struct osmux_hdr * | osmux_xfrm_output_pull (struct msgb *msg) |
|
void | osmux_tx_sched (struct llist_head *list, void(*tx_cb)(struct msgb *msg, void *data), void *data) OSMO_DEPRECATED("Use osmux_xfrm_output_set_tx_cb() instead") |
|
static uint32_t | osmux_get_payload_len (struct osmux_hdr *osmuxh) |
|
static uint32_t | osmux_ft_dummy_size (uint8_t amr_ft, uint8_t batch_factor) |
|
static struct msgb * | osmux_rebuild_rtp (struct osmux_out_handle *h, struct osmux_hdr *osmuxh, void *payload, int payload_len, bool first_pkt) |
|
static void | osmux_xfrm_output_trigger (void *data) |
|
static int | osmux_batch_enqueue (struct msgb *msg, struct osmux_circuit *circuit, uint8_t batch_factor) |
|
static void | osmux_batch_dequeue (struct msgb *msg, struct osmux_circuit *circuit) |
|
static void | osmux_circuit_del_msgs (struct osmux_batch *batch, struct osmux_circuit *circuit) |
|
static int | osmux_batch_put (struct osmux_batch *batch, struct osmux_input_state *state) |
|
static int | osmux_xfrm_encode_amr (struct osmux_batch *batch, struct osmux_input_state *state) |
|
static void | osmux_encode_dummy (struct osmux_batch *batch, uint8_t batch_factor, struct osmux_input_state *state) |
|
static struct msgb * | osmux_build_batch (struct osmux_batch *batch, uint32_t batch_size, uint8_t batch_factor) |
|
static void | osmux_batch_timer_expired (void *data) |
|
static int | osmux_rtp_amr_payload_len (struct msgb *msg, struct rtp_hdr *rtph) |
|
static void | osmux_replay_lost_packets (struct osmux_circuit *circuit, struct rtp_hdr *cur_rtph, int batch_factor) |
|
static struct osmux_circuit * | osmux_batch_find_circuit (struct osmux_batch *batch, int ccid) |
|
static struct osmux_circuit * | osmux_batch_add_circuit (struct osmux_batch *batch, int ccid, int dummy, uint8_t batch_factor) |
|
static void | osmux_batch_del_circuit (struct osmux_batch *batch, struct osmux_circuit *circuit) |
|
static int | osmux_batch_add (struct osmux_batch *batch, uint32_t batch_factor, struct msgb *msg, struct rtp_hdr *rtph, int ccid) |
|
static void | osmux_tx_cb (void *data) |
|
static void | osmux_tx (struct msgb *msg, struct timeval *when, void(*tx_cb)(struct msgb *msg, void *data), void *data) |
|
static int | osmux_snprintf_header (char *buf, size_t size, struct osmux_hdr *osmuxh) |
|
static int | osmux_snprintf_payload (char *buf, size_t size, const uint8_t *payload, int payload_len) |
|
This code implements a variety of utility functions related to the OSMUX user-plane multiplexing protocol, an efficient alternative to plain UDP/RTP streams for voice transport in back-haul of cellular networks.