Adding possibility to save an RTCEventLog of the call.
This CL introduces the possibility to save an RTCEventLogs from the call in order to do further analysis and call debugging. Bug: webrtc:10138 Change-Id: If95ef66ecf52218b34ce01a4bcf8ab7991b04e5b Reviewed-on: https://webrtc-review.googlesource.com/c/123881 Reviewed-by: Artem Titov <titovartem@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26838}
This commit is contained in:

committed by
Commit Bot

parent
99f5d5fdb4
commit
ce7a4fb67b
@ -212,6 +212,8 @@ if (rtc_include_tests) {
|
||||
"../../../api:libjingle_peerconnection_api",
|
||||
"../../../api:scoped_refptr",
|
||||
"../../../api/units:time_delta",
|
||||
"../../../logging:rtc_event_log_api",
|
||||
"../../../logging:rtc_event_log_impl_output",
|
||||
"../../../pc:pc_test_utils",
|
||||
"../../../rtc_base:gunit_helpers",
|
||||
"../../../rtc_base:rtc_base",
|
||||
|
@ -173,8 +173,11 @@ class PeerConnectionE2EQualityTestFixture {
|
||||
struct Params {
|
||||
// If |video_configs| is empty - no video should be added to the test call.
|
||||
std::vector<VideoConfig> video_configs;
|
||||
// If |audio_config| is presented audio stream will be configured
|
||||
// If |audio_config| is set audio stream will be configured
|
||||
absl::optional<AudioConfig> audio_config;
|
||||
// If |rtc_event_log_path| is set, an RTCEventLog will be saved in that
|
||||
// location and it will be available for further analysis.
|
||||
absl::optional<std::string> rtc_event_log_path;
|
||||
|
||||
PeerConnectionInterface::RTCConfiguration rtc_configuration;
|
||||
};
|
||||
|
@ -18,6 +18,8 @@
|
||||
#include "api/peer_connection_interface.h"
|
||||
#include "api/scoped_refptr.h"
|
||||
#include "api/units/time_delta.h"
|
||||
#include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
|
||||
#include "logging/rtc_event_log/rtc_event_log.h"
|
||||
#include "pc/test/mock_peer_connection_observers.h"
|
||||
#include "rtc_base/bind.h"
|
||||
#include "rtc_base/gunit.h"
|
||||
@ -184,6 +186,21 @@ void PeerConnectionE2EQualityTest::Run(
|
||||
RTC_LOG(INFO) << "video_analyzer_threads=" << video_analyzer_threads;
|
||||
|
||||
video_quality_analyzer_injection_helper_->Start(video_analyzer_threads);
|
||||
|
||||
// Start RTCEventLog recording if requested.
|
||||
if (alice_->params()->rtc_event_log_path) {
|
||||
auto alice_rtc_event_log = absl::make_unique<webrtc::RtcEventLogOutputFile>(
|
||||
alice_->params()->rtc_event_log_path.value());
|
||||
alice_->pc()->StartRtcEventLog(std::move(alice_rtc_event_log),
|
||||
webrtc::RtcEventLog::kImmediateOutput);
|
||||
}
|
||||
if (bob_->params()->rtc_event_log_path) {
|
||||
auto bob_rtc_event_log = absl::make_unique<webrtc::RtcEventLogOutputFile>(
|
||||
bob_->params()->rtc_event_log_path.value());
|
||||
bob_->pc()->StartRtcEventLog(std::move(bob_rtc_event_log),
|
||||
webrtc::RtcEventLog::kImmediateOutput);
|
||||
}
|
||||
|
||||
signaling_thread->Invoke<void>(
|
||||
RTC_FROM_HERE,
|
||||
rtc::Bind(&PeerConnectionE2EQualityTest::SetupCallOnSignalingThread,
|
||||
|
Reference in New Issue
Block a user