RTC: Feed TWCC then drop the specified PT packet.
1. Sometimes we might drop RTP packets, by PT(payload type). 2. For example, the padding packets from client. 3. We should feed these packets to TWCC, then drop it.
This commit is contained in:
parent
197fe10310
commit
a53fe451ff
|
|
@ -1116,14 +1116,6 @@ srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data)
|
|||
return err;
|
||||
}
|
||||
|
||||
// If payload type is configed to drop, ignore this packet.
|
||||
if (pt_to_drop_) {
|
||||
uint8_t pt = srs_rtp_fast_parse_pt(data, nb_data);
|
||||
if (pt_to_drop_ == pt) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
// Decode the header first.
|
||||
if (twcc_id_) {
|
||||
// We must parse the TWCC from RTP header before SRTP unprotect, because:
|
||||
|
|
@ -1140,6 +1132,14 @@ srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data)
|
|||
}
|
||||
}
|
||||
|
||||
// If payload type is configed to drop, ignore this packet.
|
||||
if (pt_to_drop_) {
|
||||
uint8_t pt = srs_rtp_fast_parse_pt(data, nb_data);
|
||||
if (pt_to_drop_ == pt) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
// Decrypt the cipher to plaintext RTP data.
|
||||
char* plaintext = data;
|
||||
int nb_plaintext = nb_data;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user