1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

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:
winlin 2021-03-11 16:48:29 +08:00
parent 197fe10310
commit a53fe451ff

View file

@ -1116,14 +1116,6 @@ srs_error_t SrsRtcPublishStream::on_rtp(char* data, int nb_data)
return err; 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. // Decode the header first.
if (twcc_id_) { if (twcc_id_) {
// We must parse the TWCC from RTP header before SRTP unprotect, because: // 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. // Decrypt the cipher to plaintext RTP data.
char* plaintext = data; char* plaintext = data;
int nb_plaintext = nb_data; int nb_plaintext = nb_data;