mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
RTC: Refine error log
This commit is contained in:
parent
4aabbd74dc
commit
a40abf8df2
2 changed files with 16 additions and 5 deletions
|
@ -42,13 +42,15 @@ using namespace std;
|
||||||
#include <srs_app_utility.hpp>
|
#include <srs_app_utility.hpp>
|
||||||
#include <srs_kernel_utility.hpp>
|
#include <srs_kernel_utility.hpp>
|
||||||
|
|
||||||
|
|
||||||
// set the max packet size.
|
// set the max packet size.
|
||||||
#define SRS_UDP_MAX_PACKET_SIZE 65535
|
#define SRS_UDP_MAX_PACKET_SIZE 65535
|
||||||
|
|
||||||
// sleep in srs_utime_t for udp recv packet.
|
// sleep in srs_utime_t for udp recv packet.
|
||||||
#define SrsUdpPacketRecvCycleInterval 0
|
#define SrsUdpPacketRecvCycleInterval 0
|
||||||
|
|
||||||
|
// Set the byte at specified position.
|
||||||
|
#define _srs_set_byte(data, size, b, index) if (index < size) b = data[index]
|
||||||
|
|
||||||
ISrsUdpHandler::ISrsUdpHandler()
|
ISrsUdpHandler::ISrsUdpHandler()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -541,8 +543,16 @@ srs_error_t SrsUdpMuxListener::cycle()
|
||||||
SrsContextRestore(cid);
|
SrsContextRestore(cid);
|
||||||
err = handler->on_udp_packet(&skt);
|
err = handler->on_udp_packet(&skt);
|
||||||
}
|
}
|
||||||
|
// Use pithy print to show more smart information.
|
||||||
if (err != srs_success) {
|
if (err != srs_success) {
|
||||||
if (pp_pkt_handler_err->can_print(err)) {
|
if (pp_pkt_handler_err->can_print(err)) {
|
||||||
|
// Append more information.
|
||||||
|
if (true) {
|
||||||
|
char* data = skt.data(); int size = skt.size();
|
||||||
|
uint8_t b0 = 0, b1 = 0; _srs_set_byte(data, size, b0, 0); _srs_set_byte(data, size, b1, 1); uint8_t b2 = 0, b3 = 0; _srs_set_byte(data, size, b2, 2); _srs_set_byte(data, size, b3, 3);
|
||||||
|
uint8_t b4 = 0, b5 = 0; _srs_set_byte(data, size, b4, 4); _srs_set_byte(data, size, b5, 5); uint8_t b6 = 0, b7 = 0; _srs_set_byte(data, size, b6, 6); _srs_set_byte(data, size, b7, 7);
|
||||||
|
err = srs_error_wrap(err, "size=%u, data=[%02x,%02x,%02x,%02x,%02x,%02x,%02x,%02x]", size, b0, b1, b2, b3, b4, b5, b6, b7);
|
||||||
|
}
|
||||||
srs_warn("handle udp pkt, count=%u, err: %s", pp_pkt_handler_err->nn_count, srs_error_desc(err).c_str());
|
srs_warn("handle udp pkt, count=%u, err: %s", pp_pkt_handler_err->nn_count, srs_error_desc(err).c_str());
|
||||||
}
|
}
|
||||||
srs_freep(err);
|
srs_freep(err);
|
||||||
|
|
|
@ -309,7 +309,6 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
|
||||||
srs_info("recv stun packet from %s, use-candidate=%d, ice-controlled=%d, ice-controlling=%d",
|
srs_info("recv stun packet from %s, use-candidate=%d, ice-controlled=%d, ice-controlling=%d",
|
||||||
peer_id.c_str(), ping.get_use_candidate(), ping.get_ice_controlled(), ping.get_ice_controlling());
|
peer_id.c_str(), ping.get_use_candidate(), ping.get_ice_controlled(), ping.get_ice_controlling());
|
||||||
|
|
||||||
// TODO: FIXME: For ICE trickle, we may get STUN packets before SDP answer, so maybe should response it.
|
|
||||||
if (!session) {
|
if (!session) {
|
||||||
session = find_session_by_username(ping.get_username());
|
session = find_session_by_username(ping.get_username());
|
||||||
|
|
||||||
|
@ -318,8 +317,10 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
|
||||||
session->switch_to_context();
|
session->switch_to_context();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: FIXME: For ICE trickle, we may get STUN packets before SDP answer, so maybe should response it.
|
||||||
if (!session) {
|
if (!session) {
|
||||||
return srs_error_new(ERROR_RTC_STUN, "can not find session, stun username=%s, peer_id=%s",
|
return srs_error_new(ERROR_RTC_STUN, "no session, stun username=%s, peer_id=%s",
|
||||||
ping.get_username().c_str(), peer_id.c_str());
|
ping.get_username().c_str(), peer_id.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -328,7 +329,7 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
|
||||||
|
|
||||||
// For DTLS, RTCP or RTP, which does not support peer address changing.
|
// For DTLS, RTCP or RTP, which does not support peer address changing.
|
||||||
if (!session) {
|
if (!session) {
|
||||||
return srs_error_new(ERROR_RTC_STUN, "can not find session, peer_id=%s", peer_id.c_str());
|
return srs_error_new(ERROR_RTC_STUN, "no session, peer_id=%s", peer_id.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_dtls((uint8_t*)data, size)) {
|
if (is_dtls((uint8_t*)data, size)) {
|
||||||
|
@ -340,7 +341,7 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
|
||||||
return session->on_rtp(data, size);
|
return session->on_rtp(data, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
return srs_error_new(ERROR_RTC_UDP, "unknown udp packet type");
|
return srs_error_new(ERROR_RTC_UDP, "unknown packet");
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_error_t SrsRtcServer::listen_api()
|
srs_error_t SrsRtcServer::listen_api()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue