#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
|
1.3.8