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

Unified Diff: webrtc/call/rtc_event_log_parser.cc

Issue 2353543003: Added logging for audio send/receive stream configs. (Closed)
Patch Set: Refactored setting of header extensions into separate function. Created 4 years, 3 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
« no previous file with comments | « webrtc/call/rtc_event_log_parser.h ('k') | webrtc/call/rtc_event_log_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/call/rtc_event_log_parser.cc
diff --git a/webrtc/call/rtc_event_log_parser.cc b/webrtc/call/rtc_event_log_parser.cc
index a2f95d0a75e2c833b695233489651a1cb57c08b2..f6e7dac6f224705509b1d3de3508fbdabdac68fc 100644
--- a/webrtc/call/rtc_event_log_parser.cc
+++ b/webrtc/call/rtc_event_log_parser.cc
@@ -104,6 +104,20 @@ std::pair<uint64_t, bool> ParseVarInt(std::istream& stream) {
return std::make_pair(varint, false);
}
+void SetHeaderExtensions(
+ std::vector<RtpExtension>* header_extensions,
+ const google::protobuf::RepeatedPtrField<rtclog::RtpHeaderExtension>&
+ proto_header_extensions) {
+ header_extensions->clear();
+ for (auto& p : proto_header_extensions) {
+ RTC_CHECK(p.has_name());
+ RTC_CHECK(p.has_id());
+ const std::string& name = p.name();
+ int id = p.id();
+ header_extensions->push_back(RtpExtension(name, id));
+ }
+}
+
} // namespace
bool ParsedRtcEventLog::ParseFile(const std::string& filename) {
@@ -310,15 +324,9 @@ void ParsedRtcEventLog::GetVideoReceiveConfig(
rtx_pair.payload_type = map.config().rtx_payload_type();
config->rtp.rtx.insert(std::make_pair(map.payload_type(), rtx_pair));
}
- // Get header extensions.
- config->rtp.extensions.clear();
- for (int i = 0; i < receiver_config.header_extensions_size(); i++) {
- RTC_CHECK(receiver_config.header_extensions(i).has_name());
- RTC_CHECK(receiver_config.header_extensions(i).has_id());
- const std::string& name = receiver_config.header_extensions(i).name();
- int id = receiver_config.header_extensions(i).id();
- config->rtp.extensions.push_back(RtpExtension(name, id));
- }
+ // Set header extensions.
terelius 2016/09/23 15:14:02 I'd prefer to call it Get or Read to match the res
+ SetHeaderExtensions(&config->rtp.extensions,
+ receiver_config.header_extensions());
// Get decoders.
config->decoders.clear();
for (int i = 0; i < receiver_config.decoders_size(); i++) {
@@ -346,15 +354,9 @@ void ParsedRtcEventLog::GetVideoSendConfig(
for (int i = 0; i < sender_config.ssrcs_size(); i++) {
config->rtp.ssrcs.push_back(sender_config.ssrcs(i));
}
- // Get header extensions.
- config->rtp.extensions.clear();
- for (int i = 0; i < sender_config.header_extensions_size(); i++) {
- RTC_CHECK(sender_config.header_extensions(i).has_name());
- RTC_CHECK(sender_config.header_extensions(i).has_id());
- const std::string& name = sender_config.header_extensions(i).name();
- int id = sender_config.header_extensions(i).id();
- config->rtp.extensions.push_back(RtpExtension(name, id));
- }
+ // Set header extensions.
+ SetHeaderExtensions(&config->rtp.extensions,
+ sender_config.header_extensions());
// Get RTX settings.
config->rtp.rtx.ssrcs.clear();
for (int i = 0; i < sender_config.rtx_ssrcs_size(); i++) {
@@ -376,6 +378,45 @@ void ParsedRtcEventLog::GetVideoSendConfig(
sender_config.encoder().payload_type();
}
+void ParsedRtcEventLog::GetAudioReceiveConfig(
+ size_t index,
+ AudioReceiveStream::Config* config) const {
+ RTC_CHECK_LT(index, GetNumberOfEvents());
+ const rtclog::Event& event = events_[index];
+ RTC_CHECK(config != nullptr);
+ RTC_CHECK(event.has_type());
+ RTC_CHECK_EQ(event.type(), rtclog::Event::AUDIO_RECEIVER_CONFIG_EVENT);
+ RTC_CHECK(event.has_audio_receiver_config());
+ const rtclog::AudioReceiveConfig& receiver_config =
+ event.audio_receiver_config();
+ // Get SSRCs.
+ RTC_CHECK(receiver_config.has_remote_ssrc());
+ config->rtp.remote_ssrc = receiver_config.remote_ssrc();
+ RTC_CHECK(receiver_config.has_local_ssrc());
+ config->rtp.local_ssrc = receiver_config.local_ssrc();
+ // Set header extensions.
+ SetHeaderExtensions(&config->rtp.extensions,
+ receiver_config.header_extensions());
+}
+
+void ParsedRtcEventLog::GetAudioSendConfig(
+ size_t index,
+ AudioSendStream::Config* config) const {
+ RTC_CHECK_LT(index, GetNumberOfEvents());
+ const rtclog::Event& event = events_[index];
+ RTC_CHECK(config != nullptr);
+ RTC_CHECK(event.has_type());
+ RTC_CHECK_EQ(event.type(), rtclog::Event::AUDIO_SENDER_CONFIG_EVENT);
+ RTC_CHECK(event.has_audio_sender_config());
+ const rtclog::AudioSendConfig& sender_config = event.audio_sender_config();
+ // Get SSRCs.
+ RTC_CHECK(sender_config.has_ssrc());
+ config->rtp.ssrc = sender_config.ssrc();
+ // Set header extensions.
+ SetHeaderExtensions(&config->rtp.extensions,
+ sender_config.header_extensions());
+}
+
void ParsedRtcEventLog::GetAudioPlayout(size_t index, uint32_t* ssrc) const {
RTC_CHECK_LT(index, GetNumberOfEvents());
const rtclog::Event& event = events_[index];
« no previous file with comments | « webrtc/call/rtc_event_log_parser.h ('k') | webrtc/call/rtc_event_log_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698