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:
Steve Anton
2019-04-15 16:52:27 -07:00
committed by Commit Bot
parent 6df49d8983
commit 884adca3a0
3 changed files with 28 additions and 1 deletions

View File

@ -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() {

View File

@ -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();

View File

@ -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() {