| Index: webrtc/logging/rtc_event_log/rtc_event_log2text.cc
|
| diff --git a/webrtc/logging/rtc_event_log/rtc_event_log2text.cc b/webrtc/logging/rtc_event_log/rtc_event_log2text.cc
|
| index c17a3b58028c3048644bdbff4abf0b43be3a7de8..c7214e2bc8572226ec3477e63e9fb44be4402e82 100644
|
| --- a/webrtc/logging/rtc_event_log/rtc_event_log2text.cc
|
| +++ b/webrtc/logging/rtc_event_log/rtc_event_log2text.cc
|
| @@ -16,6 +16,7 @@
|
|
|
| #include "gflags/gflags.h"
|
| #include "webrtc/common_types.h"
|
| +#include "webrtc/config.h"
|
| #include "webrtc/logging/rtc_event_log/rtc_event_log_parser.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/common_header.h"
|
| @@ -31,6 +32,7 @@
|
| #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
|
| +#include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
|
| #include "webrtc/rtc_base/checks.h"
|
|
|
| @@ -119,6 +121,32 @@ const char* StreamInfo(webrtc::PacketDirection direction,
|
| return "(unknown)";
|
| }
|
|
|
| +// Return default values for header extensions, to use on streams without stored
|
| +// mapping data. Currently this only applies to audio streams, since the mapping
|
| +// is not stored in the event log.
|
| +// TODO(ivoc): Remove this once this mapping is stored in the event log for
|
| +// audio streams. Tracking bug: webrtc:6399
|
| +webrtc::RtpHeaderExtensionMap GetDefaultHeaderExtensionMap() {
|
| + webrtc::RtpHeaderExtensionMap default_map;
|
| + default_map.Register<webrtc::AudioLevel>(
|
| + webrtc::RtpExtension::kAudioLevelDefaultId);
|
| + default_map.Register<webrtc::TransmissionOffset>(
|
| + webrtc::RtpExtension::kTimestampOffsetDefaultId);
|
| + default_map.Register<webrtc::AbsoluteSendTime>(
|
| + webrtc::RtpExtension::kAbsSendTimeDefaultId);
|
| + default_map.Register<webrtc::VideoOrientation>(
|
| + webrtc::RtpExtension::kVideoRotationDefaultId);
|
| + default_map.Register<webrtc::VideoContentTypeExtension>(
|
| + webrtc::RtpExtension::kVideoContentTypeDefaultId);
|
| + default_map.Register<webrtc::VideoTimingExtension>(
|
| + webrtc::RtpExtension::kVideoTimingDefaultId);
|
| + default_map.Register<webrtc::TransportSequenceNumber>(
|
| + webrtc::RtpExtension::kTransportSequenceNumberDefaultId);
|
| + default_map.Register<webrtc::PlayoutDelayLimits>(
|
| + webrtc::RtpExtension::kPlayoutDelayDefaultId);
|
| + return default_map;
|
| +}
|
| +
|
| void PrintSenderReport(const webrtc::ParsedRtcEventLog& parsed_stream,
|
| const webrtc::rtcp::CommonHeader& rtcp_block,
|
| uint64_t log_timestamp,
|
| @@ -344,6 +372,8 @@ int main(int argc, char* argv[]) {
|
| if (!FLAGS_ssrc.empty())
|
| RTC_CHECK(ParseSsrc(FLAGS_ssrc)) << "Flag verification has failed.";
|
|
|
| + webrtc::RtpHeaderExtensionMap default_map = GetDefaultHeaderExtensionMap();
|
| +
|
| webrtc::ParsedRtcEventLog parsed_stream;
|
| if (!parsed_stream.ParseFile(input_file)) {
|
| std::cerr << "Error while parsing input file: " << input_file << std::endl;
|
| @@ -444,6 +474,9 @@ int main(int argc, char* argv[]) {
|
| webrtc::RtpHeaderExtensionMap* extension_map = parsed_stream.GetRtpHeader(
|
| i, &direction, header, &header_length, &total_length);
|
|
|
| + if (extension_map == nullptr)
|
| + extension_map = &default_map;
|
| +
|
| // Parse header to get SSRC and RTP time.
|
| webrtc::RtpUtility::RtpHeaderParser rtp_parser(header, header_length);
|
| webrtc::RTPHeader parsed_header;
|
|
|