Log details when RtpDemuxer fails to deliver a packet
Bug: None Change-Id: Ie9dc5c3c545073d2e43b464d2585cb945eb346fb Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/131360 Commit-Queue: Steve Anton <steveanton@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Reviewed-by: Amit Hilbuch <amithi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27634}
This commit is contained in:
@ -17,12 +17,32 @@
|
||||
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/strings/string_builder.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
RtpDemuxerCriteria::RtpDemuxerCriteria() = default;
|
||||
RtpDemuxerCriteria::~RtpDemuxerCriteria() = default;
|
||||
|
||||
// static
|
||||
std::string RtpDemuxer::DescribePacket(const RtpPacketReceived& packet) {
|
||||
rtc::StringBuilder sb;
|
||||
sb << "PT=" << packet.PayloadType() << " SSRC=" << packet.Ssrc();
|
||||
std::string mid;
|
||||
if (packet.GetExtension<RtpMid>(&mid)) {
|
||||
sb << " MID=" << mid;
|
||||
}
|
||||
std::string rsid;
|
||||
if (packet.GetExtension<RtpStreamId>(&rsid)) {
|
||||
sb << " RSID=" << rsid;
|
||||
}
|
||||
std::string rrsid;
|
||||
if (packet.GetExtension<RepairedRtpStreamId>(&rrsid)) {
|
||||
sb << " RRSID=" << rrsid;
|
||||
}
|
||||
return sb.Release();
|
||||
}
|
||||
|
||||
RtpDemuxer::RtpDemuxer() = default;
|
||||
|
||||
RtpDemuxer::~RtpDemuxer() {
|
||||
|
@ -88,6 +88,10 @@ class RtpDemuxer {
|
||||
// different SSRCs.
|
||||
static constexpr int kMaxSsrcBindings = 1000;
|
||||
|
||||
// Returns a string that contains all the attributes of the given packet
|
||||
// relevant for demuxing.
|
||||
static std::string DescribePacket(const RtpPacketReceived& packet);
|
||||
|
||||
RtpDemuxer();
|
||||
~RtpDemuxer();
|
||||
|
||||
|
@ -196,7 +196,10 @@ void RtpTransport::DemuxPacket(rtc::CopyOnWriteBuffer packet,
|
||||
if (packet_time_us != -1) {
|
||||
parsed_packet.set_arrival_time_ms((packet_time_us + 500) / 1000);
|
||||
}
|
||||
rtp_demuxer_.OnRtpPacket(parsed_packet);
|
||||
if (!rtp_demuxer_.OnRtpPacket(parsed_packet)) {
|
||||
RTC_LOG(LS_WARNING) << "Failed to demux RTP packet: "
|
||||
<< RtpDemuxer::DescribePacket(parsed_packet);
|
||||
}
|
||||
}
|
||||
|
||||
bool RtpTransport::IsTransportWritable() {
|
||||
|
Reference in New Issue
Block a user