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..c22b7beb9aecf47181cb932adf048924bb23d4b0 100644 |
--- a/webrtc/call/rtc_event_log_parser.cc |
+++ b/webrtc/call/rtc_event_log_parser.cc |
@@ -376,6 +376,56 @@ 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(); |
+ // 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)); |
+ } |
+} |
+ |
+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. |
+ config->rtp.ssrc = sender_config.ssrc(); |
terelius
2016/09/21 10:11:26
RTC_CHECK(sender_config.has_ssrc())
ivoc
2016/09/22 09:20:55
Good catch, added.
|
+ // Get header extensions. |
+ config->rtp.extensions.clear(); |
+ for (int i = 0; i < sender_config.header_extensions_size(); i++) { |
the sun
2016/09/22 06:51:02
Can we make a utility function out of this loop, o
ivoc
2016/09/22 09:20:55
It's not as simple as it seems, because the type o
the sun
2016/09/22 19:22:05
All the stream config objects store the extensions
ivoc
2016/09/23 12:40:27
Thanks for the suggestion, that's a really good id
|
+ 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)); |
+ } |
+} |
+ |
void ParsedRtcEventLog::GetAudioPlayout(size_t index, uint32_t* ssrc) const { |
RTC_CHECK_LT(index, GetNumberOfEvents()); |
const rtclog::Event& event = events_[index]; |