mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 20:25:34 +08:00
[fix] add rtp header version checker
This commit is contained in:
@@ -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_");
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user