a-oRTP
5.2.0
|
The RtpSession api. More...
#include <ortp/port.h>
#include <ortp/rtp.h>
#include <ortp/payloadtype.h>
#include <ortp/rtcp.h>
#include <ortp/str_utils.h>
#include <ortp/rtpsignaltable.h>
#include <ortp/event.h>
#include <ortp/rtptransport.h>
#include <ortp/stun.h>
#include <ortp/turn.h>
Go to the source code of this file.
Data Structures | |
struct | JitterStatistics |
struct | _JBParameters |
struct | _JitterControl |
struct | BandwidthStatistics |
struct | ccmtmmbr_bitrate_table |
struct | _RtpStream |
struct | _RtcpStream |
struct | _tc_qos |
struct | _RtcpXrStats |
struct | _ZigzagParams |
struct | _RtpExtension |
struct | _RtpSession |
struct | _RtpMedia |
struct | _RtpBundle |
Macros | |
#define | rtp_session_set_flag(session, flag) (session)->flags |= (flag) |
#define | rtp_session_unset_flag(session, flag) (session)->flags &= ~(flag) |
Typedefs | |
typedef struct JitterStatistics | JitterStatistics |
typedef struct _JBParameters | JBParameters |
typedef struct _JitterControl | JitterControl |
typedef struct BandwidthStatistics | BandwidthStatistics |
typedef struct _RtpStream | RtpStream |
typedef struct _RtcpStream | RtcpStream |
typedef struct _RtpSession | RtpSession |
typedef struct _RtcpXrStats | RtcpXrStats |
typedef struct _ZigzagParams | ZigzagParams |
typedef struct _RtpExtension | RtpExtension |
typedef struct _RtpMedia | RtpMedia |
typedef struct _RtpBundle | RtpBundle |
Functions | |
void | JitterStatistics_init (JitterStatistics *jt_stats, int period, int interval) |
void | JitterStatistics_update (JitterStatistics *jt_stats, float skew, struct timeval *now) |
void | JitterStatistics_destroy (JitterStatistics *jt_stats) |
void | BandwidthStatistics_init (BandwidthStatistics *bw_stats, int period) |
void | BandwidthStatistics_update (BandwidthStatistics *bw_stats, int nbytes, int nbytes_overhead, struct timeval *now) |
void | BandwidthStatistics_destroy (BandwidthStatistics *bw_stats) |
RtpBundle * | rtp_bundle_new (void) |
void | rtp_bundle_destroy (RtpBundle *bundle) |
void | rtp_bundle_lock (RtpBundle *bundle) |
void | rtp_bundle_unlock (RtpBundle *bundle) |
void | rtp_bundle_media_add (RtpBundle *bundle, RtpMedia *_RtpMedia, int pos) |
void | rtp_bundle_media_remove (RtpBundle *bundle, RtpMedia *_RtpMedia) |
void | rtp_bundle_start (RtpBundle *bundle) |
void | rtp_bundle_stop (RtpBundle *bundle) |
RtpMedia * | rtp_media_new (int session_mode, bool_t use_bundle) |
void | rtp_media_destroy (RtpMedia *media) |
void | rtp_session_set_bundle (RtpSession *session, struct _RtpBundle *bundle) |
RtpSession * | rtp_session_new (int mode) |
void | rtp_session_enable_sendrecv (RtpSession *session) |
void | rtp_session_disable_sendrecv (RtpSession *session) |
void | rtp_session_set_scheduling_mode (RtpSession *session, int yesno) |
void | rtp_session_set_blocking_mode (RtpSession *session, int yesno) |
void | rtp_session_set_profile (RtpSession *session, RtpProfile *profile) |
void | rtp_session_set_send_profile (RtpSession *session, RtpProfile *profile) |
void | rtp_session_set_recv_profile (RtpSession *session, RtpProfile *profile) |
RtpProfile * | rtp_session_get_profile (RtpSession *session) |
RtpProfile * | rtp_session_get_send_profile (RtpSession *session) |
RtpProfile * | rtp_session_get_recv_profile (RtpSession *session) |
int | rtp_session_signal_connect (RtpSession *session, const char *signal_name, RtpCallback cb, uintptr_t user_data) |
int | rtp_session_signal_disconnect_by_callback (RtpSession *session, const char *signal_name, RtpCallback cb) |
void | rtp_session_set_ssrc (RtpSession *session, uint32_t ssrc) |
void | rtp_session_set_recv_ssrc (RtpSession *session, uint32_t ssrc) |
void | rtp_session_set_seq_number (RtpSession *session, uint16_t seq) |
uint16_t | rtp_session_get_seq_number (RtpSession *session) |
void | rtp_session_enable_jitter_buffer (RtpSession *session, bool_t enabled) |
bool_t | rtp_session_jitter_buffer_enabled (const RtpSession *session) |
void | rtp_session_set_jitter_buffer_params (RtpSession *session, const JBParameters *par) |
void | rtp_session_get_jitter_buffer_params (RtpSession *session, JBParameters *par) |
float | rtp_session_get_average_buffer_size (RtpSession *session) |
void | rtp_session_set_jitter_compensation (RtpSession *session, int milisec) |
void | rtp_session_enable_adaptive_jitter_compensation (RtpSession *session, bool_t val) |
bool_t | rtp_session_adaptive_jitter_compensation_enabled (RtpSession *session) |
void | rtp_session_set_time_jump_limit (RtpSession *session, int miliseconds) |
int | rtp_session_set_local_addr (RtpSession *session, int idx, const char *addr, int port) |
int | rtp_session_get_local_port (const RtpSession *session) |
int | rtp_session_set_remote_addr_full (RtpSession *session, int idx, const char *addr, int rtp_port, int rtcp_port) |
int | rtp_session_set_remote_addr_and_port (RtpSession *session, int idx, const char *addr, int rtp_port, int rtcp_port) |
int | rtp_session_set_remote_addr (RtpSession *session, int idx, const char *addr, int port) |
void | rtp_session_set_transports (RtpSession *session, RtpTransport *rtptr) |
void | rtp_session_add_module (RtpSession *session, RtpModule *module) |
RtpModule * | rtp_session_get_module (RtpSession *session, const char *name) |
int | rtp_session_remove_module (RtpSession *session, const char *name) |
void | rtp_session_module_remove_all (RtpSession *session) |
int | rtp_session_set_dscp (RtpSession *session, int idx, int dscp) |
int | rtp_session_get_dscp (const RtpSession *session) |
int | rtp_session_set_multicast_ttl (RtpSession *session, int idx, int ttl) |
int | rtp_session_get_multicast_ttl (RtpSession *session) |
int | rtp_session_set_multicast_loopback (RtpSession *session, int idx, int yesno) |
int | rtp_session_get_multicast_loopback (RtpSession *session) |
int | rtp_session_set_send_payload_type (RtpSession *session, int paytype) |
int | rtp_session_get_send_payload_type (const RtpSession *session) |
int | rtp_session_get_recv_payload_type (const RtpSession *session) |
int | rtp_session_set_recv_payload_type (RtpSession *session, int pt) |
int | rtp_session_set_payload_type (RtpSession *session, int pt) |
void | rtp_session_set_symmetric_rtp (RtpSession *session, bool_t yesno) |
void | rtp_session_set_rtcp_mux (RtpSession *session, bool_t yesno) |
void | rtp_session_set_rtcp_rsize (RtpSession *session, bool_t yesno) |
void | rtp_session_set_rtcp_fb_nack (RtpSession *session, bool_t yesno) |
void | rtp_session_set_rtcp_fb_pli (RtpSession *session, bool_t yesno) |
void | rtp_session_set_rtcp_fb_ccm_tmmbr (RtpSession *session, bool_t yesno) |
void | rtp_session_set_rtcp_fb_goog_remb (RtpSession *session, bool_t yesno) |
void | rtp_session_set_rtcp_xr_voip_metrics (RtpSession *session, bool_t yesno) |
void | rtp_session_update_voip_metrics (RtpSession *session, int packet_received, int packet_lost, int packet_discarded) |
void | rtp_session_enable_rtcp (RtpSession *session, bool_t yesno) |
void | rtp_session_set_ssrc_changed_threshold (RtpSession *session, int numpackets) |
mblk_t * | rtp_session_recvm_with_ts (RtpSession *session, uint32_t user_ts) |
mblk_t * | rtp_session_recvm_with_ts_extended (RtpSession *session, uint32_t user_ts, mblk_t **last_dropped) |
mblk_t * | rtp_session_create_packet (RtpSession *session, int header_size, const uint8_t *payload, int payload_size) |
mblk_t * | rtp_session_create_packet_with_data (RtpSession *session, uint8_t *payload, int payload_size, void(*freefn)(void *)) |
mblk_t * | rtp_session_create_packet_in_place (RtpSession *session, uint8_t *buffer, int size, void(*freefn)(void *)) |
int | rtp_session_sendm_with_ts (RtpSession *session, mblk_t *mp, uint32_t userts) |
int | __rtp_session_sendm_with_ts (RtpSession *session, mblk_t *mp, uint32_t packet_ts, uint32_t send_ts) |
int | rtp_session_recv_with_ts (RtpSession *session, uint8_t *buffer, int len, uint32_t ts, int *have_more) |
int | rtp_session_send_with_ts (RtpSession *session, const uint8_t *buffer, int len, uint32_t userts) |
int | rtp_session_data_send (RtpSession *session, mblk_t *m, int packettype) |
void | rtp_session_register_event_queue (RtpSession *session, OrtpEvQueue *q) |
void | rtp_session_unregister_event_queue (RtpSession *session, OrtpEvQueue *q) |
float | rtp_session_get_sent_rtp_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_recv_rtp_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_sent_stun_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_recv_stun_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_sent_other_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_recv_other_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_recv_bad_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_sent_rtcp_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_recv_rtcp_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_get_recv_rtppayload_bandwidth (RtpSession *session, BandwidthStatistics *val) |
float | rtp_session_compute_send_bandwidth (RtpSession *session) |
float | rtp_session_compute_recv_bandwidth (RtpSession *session) |
float | rtp_session_compute_rtcp_recv_bandwidth (RtpSession *session) |
float | rtp_session_compute_rtcp_send_bandwidth (RtpSession *session) |
float | rtp_session_compute_average_jitter (RtpSession *session) |
void | rtp_session_send_rtcp_APP (RtpSession *session, uint8_t subtype, const char *name, const uint8_t *data, int datalen) |
uint32_t | rtp_session_get_current_send_ts (RtpSession *session) |
uint32_t | rtp_session_get_current_recv_ts (RtpSession *session) |
void | rtp_session_flush_sockets (RtpSession *session) |
void | rtp_session_release_sockets (RtpSession *session) |
void | rtp_session_resync (RtpSession *session) |
void | rtp_session_reset (RtpSession *session) |
void | rtp_session_destroy (RtpSession *session) |
const rtp_stats_t * | rtp_session_get_stats (const RtpSession *session) |
const rtp_extended_stats_t * | rtp_session_get_extented_stats (const RtpSession *session) |
void | rtp_session_reset_stats (RtpSession *session) |
void | rtp_session_set_data (RtpSession *session, void *data) |
void * | rtp_session_get_data (const RtpSession *session) |
void | rtp_session_set_recv_buf_size (RtpSession *session, int bufsize) |
void | rtp_session_set_rtp_socket_send_buffer_size (RtpSession *session, unsigned int size) |
void | rtp_session_set_rtp_socket_recv_buffer_size (RtpSession *session, unsigned int size) |
uint32_t | rtp_session_ts_to_time (RtpSession *session, uint32_t timestamp) |
uint32_t | rtp_session_time_to_ts (RtpSession *session, int millisecs) |
void | rtp_session_make_time_distorsion (RtpSession *session, int milisec) |
int | rtp_session_set_icechecklist (RtpSession *session, struct IceCheckList *rtp_checklist, struct IceCheckList *rtcp_checklist) |
int | rtp_session_set_max_recv_bitrate (RtpSession *session, uint32_t max_ccm_bitrate) |
void | rtp_session_set_source_description (RtpSession *session, const char *cname, const char *name, const char *email, const char *phone, const char *loc, const char *tool, const char *note) |
void | rtp_session_add_contributing_source (RtpSession *session, uint32_t csrc, const char *cname, const char *name, const char *email, const char *phone, const char *loc, const char *tool, const char *note) |
void | rtp_session_remove_contributing_sources (RtpSession *session, uint32_t csrc) |
mblk_t * | rtp_session_create_rtcp_sdes_packet (RtpSession *session) |
mblk_t * | rtp_session_create_rtcp_xr_vm_packet (RtpSession *session) |
mblk_t * | rtp_session_create_rtcp_xr_rr_packet (RtpSession *session) |
mblk_t * | rtp_session_create_rtcp_xr_dlrr_packet (RtpSession *session) |
void | rtp_session_get_last_recv_time (RtpSession *session, struct timeval *tv) |
int | rtp_session_bye (RtpSession *session, const char *reason) |
void | rtp_session_send_rtcp_fb_NACK (RtpSession *session, const uint16_t cseq, const uint16_t bits) |
void | rtp_session_send_rtcp_fb_RPSI (RtpSession *session, const uint8_t *bitstring, int bitstring_len) |
void | rtp_session_send_rtcp_fb_PLI (RtpSession *session) |
void | rtp_session_send_rtcp_fb_TMMB (RtpSession *session, const uint8_t subtype, const uint32_t ssrc, const uint32_t bitrate, const uint32_t overhead) |
void | rtp_session_send_rtcp_fb_GOOGREMB (RtpSession *session, const uint32_t ssrc, const uint32_t bitrate) |
int | rtp_session_get_last_send_error_code (RtpSession *session) |
void | rtp_session_clear_send_error_code (RtpSession *session) |
int | rtp_session_get_last_recv_error_code (RtpSession *session) |
void | rtp_session_clear_recv_error_code (RtpSession *session) |
void | rtp_session_init (RtpSession *session, int mode) |
void | rtp_session_uninit (RtpSession *session) |
void | rtp_session_dispatch_event (RtpSession *session, OrtpEvent *ev) |
int | rtp_session_add_extension (RtpSession *session, char *extmap) |
void | rtp_session_set_recv_sdes_mid (RtpSession *session, char *sdes_mid) |
void | rtp_session_set_send_sdes_mid (RtpSession *session, char *sdes_mid) |
The RtpSession api.
The RtpSession objects represent a RTP session: once it is configured with local and remote network addresses and a payload type is given, it let you send and recv a media stream.
typedef struct _JBParameters JBParameters |
Jitter buffer parameters