diff --git a/src/ice/ice_agent.cpp b/src/ice/ice_agent.cpp index fb57b65..51a3d3e 100644 --- a/src/ice/ice_agent.cpp +++ b/src/ice/ice_agent.cpp @@ -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_"); } diff --git a/src/transmission/ice_transmission.cpp b/src/transmission/ice_transmission.cpp index 282c4d1..9b40a55 100644 --- a/src/transmission/ice_transmission.cpp +++ b/src/transmission/ice_transmission.cpp @@ -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;