libosmo-netif 1.5.1.5-89a1
Osmocom network interface library
osmux_output.c File Reference

Osmocom multiplex protocol helpers (output) More...

#include <stdio.h>
#include <string.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/timer_compat.h>
#include <osmocom/core/select.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/logging.h>
#include <osmocom/netif/amr.h>
#include <osmocom/netif/rtp.h>
#include <osmocom/netif/osmux.h>
#include <arpa/inet.h>

Macros

#define DELTA_RTP_MSG   20000
 
#define DELTA_RTP_TIMESTAMP   160
 

Functions

struct osmux_hdrosmux_xfrm_output_pull (struct msgb *msg)
 
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 appropriate 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_out_handleosmux_xfrm_output_alloc (void *ctx)
 Allocate a new osmux out handle. More...
 
void osmux_xfrm_output_init2 (struct osmux_out_handle *h, uint32_t rtp_ssrc, uint8_t rtp_payload_type) OSMO_DEPRECATED("Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead")
 
void osmux_xfrm_output_init (struct osmux_out_handle *h, uint32_t rtp_ssrc) OSMO_DEPRECATED("Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead")
 
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...
 
void osmux_xfrm_output_set_rtp_msgb_alloc_cb (struct osmux_out_handle *h, rtp_msgb_alloc_cb_t cb, void *cb_data)
 Set callback to call when an RTP packet to be generated is to be allocated. More...
 
void osmux_xfrm_output_set_rtp_ssrc (struct osmux_out_handle *h, uint32_t rtp_ssrc)
 Set SSRC of generated RTP packets from Osmux frames. More...
 
void osmux_xfrm_output_set_rtp_pl_type (struct osmux_out_handle *h, uint32_t rtp_payload_type)
 Set Payload Type of generated RTP packets from Osmux frames. More...
 

Detailed Description

Osmocom multiplex protocol helpers (output)