Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Unified Diff: webrtc/logging/rtc_event_log/rtc_event_log_parser.cc

Issue 2850793002: Replace VideoReceiveStream::Config with new rtclog::StreamConfig in RtcEventLog. (Closed)
Patch Set: Fix merge. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
diff --git a/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc b/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
index 79f077dc5c95ea39153394e280bbf4c49faa3cf6..281615850191bd30a6caae38f53dc52ffecc35fb 100644
--- a/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
+++ b/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
@@ -16,6 +16,7 @@
#include <algorithm>
#include <fstream>
#include <istream>
+#include <map>
#include <utility>
#include "webrtc/base/checks.h"
@@ -316,7 +317,7 @@ void ParsedRtcEventLog::GetRtcpPacket(size_t index,
void ParsedRtcEventLog::GetVideoReceiveConfig(
size_t index,
- VideoReceiveStream::Config* config) const {
+ rtclog::StreamConfig* config) const {
RTC_CHECK_LT(index, GetNumberOfEvents());
const rtclog::Event& event = events_[index];
RTC_CHECK(config != nullptr);
@@ -327,52 +328,53 @@ void ParsedRtcEventLog::GetVideoReceiveConfig(
event.video_receiver_config();
// Get SSRCs.
RTC_CHECK(receiver_config.has_remote_ssrc());
- config->rtp.remote_ssrc = receiver_config.remote_ssrc();
+ config->remote_ssrc = receiver_config.remote_ssrc();
RTC_CHECK(receiver_config.has_local_ssrc());
- config->rtp.local_ssrc = receiver_config.local_ssrc();
+ config->local_ssrc = receiver_config.local_ssrc();
+ config->rtx_ssrc = 0;
// Get RTCP settings.
RTC_CHECK(receiver_config.has_rtcp_mode());
- config->rtp.rtcp_mode = GetRuntimeRtcpMode(receiver_config.rtcp_mode());
+ config->rtcp_mode = GetRuntimeRtcpMode(receiver_config.rtcp_mode());
RTC_CHECK(receiver_config.has_remb());
- config->rtp.remb = receiver_config.remb();
+ config->remb = receiver_config.remb();
+
// Get RTX map.
- std::vector<uint32_t> rtx_ssrcs(receiver_config.rtx_map_size());
- config->rtp.rtx_payload_types.clear();
+ std::map<uint32_t, const rtclog::RtxConfig> rtx_map;
for (int i = 0; i < receiver_config.rtx_map_size(); i++) {
const rtclog::RtxMap& map = receiver_config.rtx_map(i);
RTC_CHECK(map.has_payload_type());
RTC_CHECK(map.has_config());
RTC_CHECK(map.config().has_rtx_ssrc());
- rtx_ssrcs[i] = map.config().rtx_ssrc();
RTC_CHECK(map.config().has_rtx_payload_type());
- config->rtp.rtx_payload_types.insert(
- std::make_pair(map.payload_type(), map.config().rtx_payload_type()));
- }
- if (!rtx_ssrcs.empty()) {
- config->rtp.rtx_ssrc = rtx_ssrcs[0];
-
- auto pred = [&config](uint32_t ssrc) {
- return ssrc == config->rtp.rtx_ssrc;
- };
- if (!std::all_of(rtx_ssrcs.cbegin(), rtx_ssrcs.cend(), pred)) {
- LOG(LS_WARNING) << "RtcEventLog protobuf contained different SSRCs for "
- "different received RTX payload types. Will only use "
- "rtx_ssrc = "
- << config->rtp.rtx_ssrc << ".";
- }
+ rtx_map.insert(std::make_pair(map.payload_type(), map.config()));
}
+
// Get header extensions.
- GetHeaderExtensions(&config->rtp.extensions,
+ GetHeaderExtensions(&config->rtp_extensions,
receiver_config.header_extensions());
// Get decoders.
- config->decoders.clear();
+ config->codecs.clear();
for (int i = 0; i < receiver_config.decoders_size(); i++) {
RTC_CHECK(receiver_config.decoders(i).has_name());
RTC_CHECK(receiver_config.decoders(i).has_payload_type());
- VideoReceiveStream::Decoder decoder;
- decoder.payload_name = receiver_config.decoders(i).name();
- decoder.payload_type = receiver_config.decoders(i).payload_type();
- config->decoders.push_back(decoder);
+ int rtx_payload_type = 0;
+ auto rtx_it = rtx_map.find(receiver_config.decoders(i).payload_type());
+ if (rtx_it != rtx_map.end()) {
+ rtx_payload_type = rtx_it->second.rtx_payload_type();
+ if (config->rtx_ssrc != 0 &&
+ config->rtx_ssrc != rtx_it->second.rtx_ssrc()) {
+ LOG(LS_WARNING)
+ << "RtcEventLog protobuf contained different SSRCs for "
+ "different received RTX payload types. Will only use "
+ "rtx_ssrc = "
+ << config->rtx_ssrc << ".";
+ } else {
+ config->rtx_ssrc = rtx_it->second.rtx_ssrc();
+ }
+ }
+ config->codecs.emplace_back(receiver_config.decoders(i).name(),
+ receiver_config.decoders(i).payload_type(),
+ rtx_payload_type);
}
}
« no previous file with comments | « webrtc/logging/rtc_event_log/rtc_event_log_parser.h ('k') | webrtc/logging/rtc_event_log/rtc_event_log_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698