[fix] add rtp header version checker

This commit is contained in:
dijunkun
2024-09-13 00:33:07 +08:00
parent bbd05bcb8d
commit c67ce332f6
2 changed files with 27 additions and 0 deletions

View File

@@ -59,6 +59,11 @@ int IceAgent::CreateIceAgent(nice_cb_state_changed_t on_state_changed,
: (enable_turn_ ? NICE_AGENT_OPTION_NONE
: NICE_AGENT_OPTION_RELIABLE)));
LOG_INFO(
"Nice agent init with [trickle ice|{}], [reliable mode|{}], [turn "
"support|{}]]",
trickle_ice_, !enable_turn_, enable_turn_);
if (agent_ == nullptr) {
LOG_ERROR("Failed to create agent_");
}

View File

@@ -325,6 +325,8 @@ int IceTransmission::InitIceTransmission(
ice_transmission_obj->rtp_data_receiver_->InsertRtpPacket(packet);
} else if (ice_transmission_obj->CheckIsRtcpPacket(buffer, size)) {
// LOG_ERROR("Rtcp packet [{}]", (uint8_t)(buffer[1]));
} else {
LOG_ERROR("Unknown packet");
}
}
}
@@ -469,6 +471,11 @@ uint8_t IceTransmission::CheckIsRtcpPacket(const char *buffer, size_t size) {
return 0;
}
uint8_t v = (buffer[0] >> 6) & 0x03;
if (2 != v) {
return 0;
}
uint8_t pt = buffer[1];
switch (pt) {
@@ -498,6 +505,11 @@ uint8_t IceTransmission::CheckIsVideoPacket(const char *buffer, size_t size) {
return 0;
}
uint8_t v = (buffer[0] >> 6) & 0x03;
if (2 != v) {
return 0;
}
uint8_t pt = buffer[1] & 0x7F;
if (RtpPacket::PAYLOAD_TYPE::H264 == pt ||
RtpPacket::PAYLOAD_TYPE::H264_FEC_SOURCE == pt ||
@@ -514,6 +526,11 @@ uint8_t IceTransmission::CheckIsAudioPacket(const char *buffer, size_t size) {
return 0;
}
uint8_t v = (buffer[0] >> 6) & 0x03;
if (2 != v) {
return 0;
}
uint8_t pt = buffer[1] & 0x7F;
if (RtpPacket::PAYLOAD_TYPE::OPUS == pt) {
return pt;
@@ -527,6 +544,11 @@ uint8_t IceTransmission::CheckIsDataPacket(const char *buffer, size_t size) {
return 0;
}
uint8_t v = (buffer[0] >> 6) & 0x03;
if (2 != v) {
return 0;
}
uint8_t pt = buffer[1] & 0x7F;
if (RtpPacket::PAYLOAD_TYPE::DATA == pt) {
return pt;