#include <MNRTPbase.h>
Inheritance diagram for MNRTPbase:
Public Member Functions | |
MNRTPbase (MNSelector &sel, int port, int remote_port, int recv_buf_size, u_int32 ssrc, OS::GCPtr< MNShared_RTP_RTCP > shared_data) | |
MNRTPbase (MNSelector &sel, MNSocket &sock, int remote_port, int recv_buf_size, u_int32 ssrc, OS::GCPtr< MNShared_RTP_RTCP > shared_data) | |
virtual | ~MNRTPbase () |
RTP_RC | rt_start (bool sender=false) |
RTP_RC | rt_connect () |
joins a mc , called by rtp_start() and rtp_run() | |
RTP_RC | rt_bind () |
binds to rtp and rtcp ports ,called by rtp_connect() | |
const char * | rtp_str_err (int err) |
returns a string containing an errormsg | |
virtual int | reader (MNRope *&rope, struct sockaddr_in *&dest) |
minimum handling and calls the specific function process_data() | |
virtual void | writer () |
Called by socket to notify that data can be written to the socket. | |
virtual RTP_RC | process_data (MNRope *rope, struct sockaddr_in *dest)=0 |
virtual void | notify_write_enabled ()=0 |
virtual void | set_mc_ttl (int val) |
int | get_mc_ttl () |
const char * | rt_get_targetaddr () const |
get the targetaddr | |
u_int32 | rt_get_octet_count () |
get the number of octets sent | |
u_int64 | rt_get_packets_received () |
u_int64 | rt_get_bytes_received () |
MNRTPbase * | rt_get_MNRTPbasep () |
retun the pointer to ourself | |
virtual MNRTCP * | rt_get_rtcp_ptr () |
int | get_remote_port () |
get the send port | |
int | rt_get_payload_type () |
void | rt_change_pt (int payload_t) |
virtual void | rt_set_ssrc (u_int32) |
set ssrc to a defined value | |
u_int32 | rt_get_ssrc () |
returns the current ssrc | |
void | disable_headercheck () |
header validity check is disabled | |
void | enable_headercheck () |
header validity check is enabled | |
bool | is_header_check_active () |
is the header check active ? | |
virtual void | enable_rtcp () |
enables rtcp | |
virtual void | disable_rtcp () |
disables rtcp | |
virtual u_int64 | GetBytesSent () |
virtual u_int64 | GetBytesRecv () |
timeval | GetSentTime () |
timeval | GetRecvTime () |
u_int64 | GetSendBandwidth () |
u_int64 | GetRecvBandwidth () |
timeval | GetRecvMaxDelta () |
timeval | GetRecvMinDelta () |
timeval | GetRecvAverDelta () |
bool | is_running () const |
MNRTPcallback & | cb () |
Protected Member Functions | |
void | lock () |
void | unlock () |
bool | is_multicast () const |
bool | is_rtcp_allowed () const |
Protected Attributes | |
OS::GCPtr< MNShared_RTP_RTCP > | _shared |
MNRTPcallback | _cb |
AlloverStats | allover |
RTPSendStats | sstats |
RTPRecvStats | rstats |
ProtectedU_int32 | rt_ssrc |
MNDebugMutex | var_mutex |
MNDebugMutex | initialized |
bool | _running |
bool | _connected |
ProtectedBool | _shutting_down |
ProtectedBool | _force_no_header_check |
RTP_RC | _use_mc |
u_int32 | _recv_port |
u_int32 | _remote_port |
|
Constructor.
|
|
|
|
|
|
Returns a reference to the RTP/RTCP callback registration object. |
|
header validity check is disabled
|
|
disables rtcp
Reimplemented in MNRTP.
|
|
header validity check is enabled
|
|
enables rtcp
Reimplemented in MNRTP.
|
|
|
|
get the send port
|
|
Reimplemented in MNRTP.
|
|
Reimplemented in MNRTP.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
is the header check active ?
|
|
True if use_mc indicates that a multicast address is used.
|
|
True if RTCP processing is allowed.
|
|
True if the RTPbase object is currently running. The boolean state is shared by RTPbase masters and slaves but not by RTP and RTCP objects.
|
|
|
|
Implemented in MNRTCP.
|
|
Dummy implementation of the future replacement for the iovec approach. Implemented in MNRTCP.
|
|
minimum handling and calls the specific function process_data()
Implements RefCountingSocket.
|
|
binds to rtp and rtcp ports ,called by rtp_connect()
|
|
Set a new payload type.
|
|
joins a mc , called by rtp_start() and rtp_run()
|
|
get the number of Bytes received (for all ssrc together and for all time) |
|
retun the pointer to ourself
|
|
get the number of octets sent
|
|
get the number of packets received (for all ssrc together and for all time) |
|
Get the current payload type.
|
|
Reimplemented in MNRTCP, and MNRTP.
|
|
returns the current ssrc
|
|
get the targetaddr
|
|
set ssrc to a defined value
Reimplemented in MNRTCP, and MNRTP.
|
|
Start the RTPbase processing in a new thread. Does nothing if this object is a slave object. If it is a master object and it is not running yet, call the method rt_connect() and then start a new thread via UDPServerSocket/TCPServerSocket::start(). UDPServerSocket/TCPServerSocket::run() will call select() and wait for data.
|
|
returns a string containing an errormsg
|
|
Reimplemented in MNRTP.
|
|
|
|
Called by socket to notify that data can be written to the socket.
Implements RefCountingSocket.
|
|
A place to register callback functions for RTP/RTCP events. RTP callback were registered at the class itself previously. I have to find out where this actually is required. |
|
True is a connection was "established". A connection is considered estabished when the address and port are correct and the bind was successful. |
|
Indicate whether RTP and RTCP headers should be checked. Default is false, ie. headers should be checked. |
|
The local port to which this RTP receiver tries to bind respectively is bound. |
|
The remote port to which the data is sent. |
|
Indicate whether the RTPbase thread is running. (either start or run was called). |
|
Pointer to a data structure that is shared between RTP and RTCP objects. |
|
A DEBUG variable that indicates that the destructor is currently executed. |
|
Indicates whether multicast is used or not. |
|
Holds data for custom statistics collection. |
|
|
|
Holds data for mandatory RTP receive statistics collection. |
|
|
|
Holds data for mandatory RTP send statistics collection. |
|
|