|
|
|
@ -79,7 +79,7 @@ typedef struct osmo_cc_session_media { |
|
|
|
|
osmo_cc_session_connection_data_t connection_data_local, connection_data_remote; |
|
|
|
|
struct osmo_cc_session_codec *codec_list; |
|
|
|
|
int send, receive; |
|
|
|
|
void (*receiver)(struct osmo_cc_session_codec *codec, uint16_t sequence_number, uint32_t timestamp, uint32_t ssrc, uint8_t *data, int len); |
|
|
|
|
void (*receiver)(struct osmo_cc_session_codec *codec, uint8_t marker, uint16_t sequence_number, uint32_t timestamp, uint32_t ssrc, uint8_t *data, int len); |
|
|
|
|
int rtp_socket; |
|
|
|
|
int rtcp_socket; |
|
|
|
|
uint32_t tx_ssrc, rx_ssrc; |
|
|
|
@ -110,14 +110,14 @@ typedef struct osmo_cc_session_codec { |
|
|
|
|
void osmo_cc_set_local_peer(osmo_cc_session_config_t *conf, enum osmo_cc_session_nettype nettype, enum osmo_cc_session_addrtype addrtype, const char *address); |
|
|
|
|
osmo_cc_session_t *osmo_cc_new_session(osmo_cc_session_config_t *conf, void *priv, const char *username, const char *sess_id, const char *sess_version, enum osmo_cc_session_nettype nettype, enum osmo_cc_session_addrtype addrtype, const char *unicast_address, const char *session_name, int debug); |
|
|
|
|
void osmo_cc_free_session(osmo_cc_session_t *session); |
|
|
|
|
osmo_cc_session_media_t *osmo_cc_add_media(osmo_cc_session_t *session, enum osmo_cc_session_nettype nettype, enum osmo_cc_session_addrtype addrtype, const char *address, enum osmo_cc_session_media_type type, uint16_t port, enum osmo_cc_session_media_proto proto, int send, int receive, void (*receiver)(struct osmo_cc_session_codec *codec, uint16_t sequence_number, uint32_t timestamp, uint32_t ssrc, uint8_t *data, int len), int debug); |
|
|
|
|
osmo_cc_session_media_t *osmo_cc_add_media(osmo_cc_session_t *session, enum osmo_cc_session_nettype nettype, enum osmo_cc_session_addrtype addrtype, const char *address, enum osmo_cc_session_media_type type, uint16_t port, enum osmo_cc_session_media_proto proto, int send, int receive, void (*receiver)(struct osmo_cc_session_codec *codec, uint8_t marker, uint16_t sequence_number, uint32_t timestamp, uint32_t ssrc, uint8_t *data, int len), int debug); |
|
|
|
|
void osmo_cc_free_media(osmo_cc_session_media_t *media); |
|
|
|
|
osmo_cc_session_codec_t *osmo_cc_add_codec(osmo_cc_session_media_t *media, const char *playload_name, uint32_t playload_rate, int playload_channels, void (*encoder)(uint8_t *src_data, int src_len, uint8_t **dst_data, int *dst_len), void (*decoder)(uint8_t *src_data, int src_len, uint8_t **dst_data, int *dst_len), int debug); |
|
|
|
|
void osmo_cc_free_codec(osmo_cc_session_codec_t *codec); |
|
|
|
|
int osmo_cc_session_check(struct osmo_cc_session *session, int remote); |
|
|
|
|
const char *osmo_cc_session_send_offer(osmo_cc_session_t *session); |
|
|
|
|
osmo_cc_session_t *osmo_cc_session_receive_offer(osmo_cc_session_config_t *conf, void *priv, const char *sdp); |
|
|
|
|
void osmo_cc_session_accept_media(osmo_cc_session_media_t *media, enum osmo_cc_session_nettype nettype, enum osmo_cc_session_addrtype addrtype, const char *address, int send, int receive, void (*receiver)(struct osmo_cc_session_codec *codec, uint16_t sequence_number, uint32_t timestamp, uint32_t ssrc, uint8_t *data, int len)); |
|
|
|
|
void osmo_cc_session_accept_media(osmo_cc_session_media_t *media, enum osmo_cc_session_nettype nettype, enum osmo_cc_session_addrtype addrtype, const char *address, int send, int receive, void (*receiver)(struct osmo_cc_session_codec *codec, uint8_t marker, uint16_t sequence_number, uint32_t timestamp, uint32_t ssrc, uint8_t *data, int len)); |
|
|
|
|
void osmo_cc_session_accept_codec(osmo_cc_session_codec_t *codec, void (*encoder)(uint8_t *src_data, int src_len, uint8_t **dst_data, int *dst_len), void (*decoder)(uint8_t *src_data, int src_len, uint8_t **dst_data, int *dst_len)); |
|
|
|
|
const char *osmo_cc_session_send_answer(osmo_cc_session_t *session); |
|
|
|
|
int osmo_cc_session_receive_answer(osmo_cc_session_t *session, const char *sdp); |
|
|
|
|