mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +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_kernel_utility.hpp>
|
||||
|
||||
|
||||
// set the max packet size.
|
||||
#define SRS_UDP_MAX_PACKET_SIZE 65535
|
||||
|
||||
// sleep in srs_utime_t for udp recv packet.
|
||||
#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()
|
||||
{
|
||||
}
|
||||
|
@ -541,8 +543,16 @@ srs_error_t SrsUdpMuxListener::cycle()
|
|||
SrsContextRestore(cid);
|
||||
err = handler->on_udp_packet(&skt);
|
||||
}
|
||||
// Use pithy print to show more smart information.
|
||||
if (err != srs_success) {
|
||||
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_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",
|
||||
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) {
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: FIXME: For ICE trickle, we may get STUN packets before SDP answer, so maybe should response it.
|
||||
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());
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
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)) {
|
||||
|
@ -340,7 +341,7 @@ srs_error_t SrsRtcServer::on_udp_packet(SrsUdpMuxSocket* skt)
|
|||
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()
|
||||
|
|
Loading…
Reference in a new issue