#include <MNRTP.h>
Inheritance diagram for MNRTP:
Public Member Functions | |
MNRTP (MNSelector &sel, MNSocket *rtpsock, MNSocket *rtcpsock, int remote_port, const char *targetaddr_, int payload_t, u_int32 bw, RTSP::TransportTypes requested_transport=RTSP::RTP_AVP_UDP, int dpt_ts_rate=-1) | |
virtual | ~MNRTP () |
RTP_RC | rtp_start (bool sender=false) |
int | rtp_send (MNRope *buf, int marker, int ts_in_value, rtp_math tstamp) |
int | rtp_send_ext (MNRope *buf, char *ext_buf, int ext_len, u_int16 ext_type, int marker, int ts_inc_value, rtp_math tstamp) |
u_int32 | get_collision_counter () |
virtual void | set_mc_ttl (int val) |
SendCsrcList & | rtp_csrcs () |
virtual void | rt_set_ssrc (u_int32 ssrc) |
set ssrc to a defined value | |
void | disable_collision_detection () |
void | enable_collision_detection () |
void | rt_set_bandwidth (u_int32 bw) |
u_int32 | rt_get_bandwidth () |
virtual MNRTCP * | rt_get_rtcp_ptr () |
void | rtcp_stop (bool bye, const char *reason) |
bool | rtcp_start (MNSocket *rtcpsock) |
void | enable_rtcp () |
void | disable_rtcp () |
int | rtcp_send_app (char *app, int len, int subtype) |
void | rtcp_set_app_name (const char *name) |
void | stopRTPUdpServer () |
void | rtcp_register_RTCPreader_cb (MNRTP_RTCPreader_callback *p) |
void | rtcp_set_sdes (rtcp_sdes_type_t type, char *text, int prio) |
const sdes_list_item * | rtcp_get_sdes_text (rtcp_sdes_type_t type) |
u_int32 | rtcp_get_first_ssrc () |
u_int32 | rtcp_get_next_ssrc (u_int32 ssrc) |
SSRCEntry | rtcp_get_ssrc_info (u_int32 ssrc) |
virtual u_int64 | GetBytesSent () |
virtual u_int64 | GetBytesRecv () |
Protected Attributes | |
SendCsrcList | _send_csrcs |
SsrcCollisionList | ssrc_coll_list |
sockaddr_in * | _target_save |
Remember target IP to avoid DNS requests. | |
ProtectedU_int32 | ssrc_collission_counter |
counts the number of ssrc collissions | |
ProtectedInt32 | rtcp_port |
sockaddr_in | rtp_my_addr |
own IP address, needed for collission detection | |
ProtectedU_int16 | rtp_seq |
sequence number | |
MNMutex | rtp_initialized |
MNMutex | send_mutex |
|
An MNRTP constructor that re-uses open RTP and RTCP sockets. It assign initial values to the member variables and calls initialization routines.
|
|
|
|
Disables the ssrc collision detection. |
|
Disable RTCP processing. Clear the rtcp_allowed flag in the shared data structure. Reimplemented from MNRTPbase.
|
|
Enables the ssrc collision detection. |
|
Enable RTCP processing (default). Set the rtcp_allowed flag in the shared data structure. Reimplemented from MNRTPbase.
|
|
|
|
Reimplemented from MNRTPbase.
|
|
Reimplemented from MNRTPbase.
|
|
Retrieve the current bandwidth value.
|
|
Reimplemented from MNRTPbase.
|
|
Set a new bandwidth value.
|
|
set ssrc to a defined value
Reimplemented from MNRTPbase.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Deletes the RTCPServer, has no rtcp functionality. The difference to disable_rtcp is that, in this case, the ports are released again. In the disable_rtcp the RTCPServer is just put to sleep.
|
|
CSRC handling is provided by this subclass. |
|
Sends a block of RTP data and adds RTP-specific parameters.
|
|
Sends a block of data with an RTP header extension. This implies that the X-bit is set according to rfc1889.
|
|
Starts an RTCPServer if that is allowed. If it is created, the RTCPServer's rtcp_start function is called. In all cases, the rt_start function is called and it's error code is returned. |
|
Reimplemented from MNRTPbase.
|
|
|
|
The list of contributing sources is currently unused. To implement a cache, a filter or a mixer, it is mandatory, so I try to leave this in working order. |
|
Remember target IP to avoid DNS requests.
|
|
|
|
|
|
own IP address, needed for collission detection
|
|
sequence number
|
|
|
|
The list of SSRC collisions maintains a list of other IP addresses that have generated packets with SSRC values identical to the one that was chosen for this object's packets. |
|
counts the number of ssrc collissions
|