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

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

Issue 2353543003: Added logging for audio send/receive stream configs. (Closed)
Patch Set: Another rebase. Created 4 years, 2 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 362d79e4dea11a1c108c4c9cda4a6b4930a9bf70..8f1b89df6ba31c95e3ce4270a6f6e3f949c47876 100644
--- a/webrtc/logging/rtc_event_log/rtc_event_log_parser.cc
+++ b/webrtc/logging/rtc_event_log/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 GetHeaderExtensions(
+ 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) {
@@ -311,14 +325,8 @@ void ParsedRtcEventLog::GetVideoReceiveConfig(
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));
- }
+ GetHeaderExtensions(&config->rtp.extensions,
+ receiver_config.header_extensions());
// Get decoders.
config->decoders.clear();
for (int i = 0; i < receiver_config.decoders_size(); i++) {
@@ -347,14 +355,8 @@ void ParsedRtcEventLog::GetVideoSendConfig(
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));
- }
+ GetHeaderExtensions(&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();
+ // Get header extensions.
+ GetHeaderExtensions(&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();
+ // Get header extensions.
+ GetHeaderExtensions(&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/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