#include <LCRetransRecv.h>
Inheritance diagram for SH::LossList:
Public Member Functions | |
LossList (RTPDecoderSH *caller, MNSelector &sel) | |
virtual | ~LossList () |
void | init (int32 list_timeout, u_int32 repeat_timeouts) |
void | uninit () |
void | startStreaming () |
void | stopStreaming () |
void | init_timeout (struct timeval &lossList_timeout) |
void | insert_rel_timeout_timer (bool inCallback) |
void | insert_lc_gap (u_int32 ssrc, u_int64 from, u_int64 to) |
bool | schedule_send_list (u_int32 ssrc, bool inCallback) |
void | schedule_retrans_timer (bool inCallback) |
void | schedule_transtrans_timer_again (bool inCallback) |
void | lock () |
void | unlock () |
bool | process_lc_packet (u_int32 ssrc, u_int64 bytecount, int32 rd_len) |
int64 | sendLossList () |
void | evalLCRTCPPacket (u_int32 ssrc, void *data, int len, int subtype, char *name, bool inCallback) |
DataPtr | evalLCRTPPacket (MNRTPPacketPtr packet, MNRope *&payload, u_int64_t &bytecount) |
Public Attributes | |
MNTimer | _timer |
MNTimer | _timeout_timer |
MNLCRTPLossList * | _l |
TL | _cb |
TL | _timer_call |
int32 | _list_timeout |
u_int32 | _repeat_timeouts |
lcstreamer_recv_t | _StreamDesc |
bool | _first_time |
|
|
|
|
|
Implements RetransRecvBase.
|
|
Implements RetransRecvBase.
|
|
An LC-RTP attribute that determines the number of retransmission loops the sender performs until it gives up even if the loss list is not empty yet. Implements RetransRecvBase.
|
|
Initialize the given structure to a random timeout value based on the _list_timeout.
|
|
A packet has arrived that has left a gap after the previous packet. The caller has identified this by looking at the byte count in the extension header.
|
|
Insert a relative timer, that calls the callback for _cb.
|
|
|
|
The caller tells the loss list that some data for the given SSRC has arrived in a retransmission packet.
|
|
Schedule the next retransmission of the loss list. This function should only be called if the maximum number of retransmissions is not reached yet.
|
|
Start a timer to delay the transmission of the loss list. Although it is not dangerous to start this timer if the loss list is empty, it is meant to be used if the list is not empty.
|
|
Schedule the retransmission of a loss list if the previous transmission could not get all data across because there were too many separate losses to fit into one packet.
|
|
Send the losslist. Right now, it is sent through the pushReport interface of the containing class. |
|
Implements RetransRecvBase.
|
|
Implements RetransRecvBase.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|