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 "modules/rtp_rtcp/source/rtp_packet_received.h"
|
||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
|
#include "rtc_base/strings/string_builder.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
RtpDemuxerCriteria::RtpDemuxerCriteria() = default;
|
RtpDemuxerCriteria::RtpDemuxerCriteria() = default;
|
||||||
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() = default;
|
||||||
|
|
||||||
RtpDemuxer::~RtpDemuxer() {
|
RtpDemuxer::~RtpDemuxer() {
|
||||||
|
@ -88,6 +88,10 @@ class RtpDemuxer {
|
|||||||
// different SSRCs.
|
// different SSRCs.
|
||||||
static constexpr int kMaxSsrcBindings = 1000;
|
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();
|
||||||
~RtpDemuxer();
|
~RtpDemuxer();
|
||||||
|
|
||||||
|
@ -196,7 +196,10 @@ void RtpTransport::DemuxPacket(rtc::CopyOnWriteBuffer packet,
|
|||||||
if (packet_time_us != -1) {
|
if (packet_time_us != -1) {
|
||||||
parsed_packet.set_arrival_time_ms((packet_time_us + 500) / 1000);
|
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() {
|
bool RtpTransport::IsTransportWritable() {
|
||||||
|
Reference in New Issue
Block a user