Hooked up RtcEventLog. It lives in Voice Engine and pointers are propagated to ACM and Call.
An option was added to voe_cmd_test to make a RtcEventLog dump.
BUG=webrtc:4741
Review URL: https://codereview.webrtc.org/1267683002
Cr-Commit-Position: refs/heads/master@{#9901}
diff --git a/webrtc/modules/audio_coding/BUILD.gn b/webrtc/modules/audio_coding/BUILD.gn
index 00e3aa7..235eb3c 100644
--- a/webrtc/modules/audio_coding/BUILD.gn
+++ b/webrtc/modules/audio_coding/BUILD.gn
@@ -58,6 +58,12 @@
]
}
+ if (is_clang) {
+ # Suppress warnings from Chrome's Clang plugins.
+ # See http://code.google.com/p/webrtc/issues/detail?id=163 for details.
+ configs -= [ "//build/config/clang:find_bad_constructs" ]
+ }
+
deps = [
":cng",
":g711",
@@ -68,6 +74,7 @@
":neteq",
":pcm16b",
":red",
+ "../..:rtc_event_log",
"../..:webrtc_common",
"../../common_audio",
"../../system_wrappers",
diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc
index 2a81e46..571a509 100644
--- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc
+++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.cc
@@ -27,6 +27,7 @@
#include "webrtc/system_wrappers/interface/rw_lock_wrapper.h"
#include "webrtc/system_wrappers/interface/trace.h"
#include "webrtc/typedefs.h"
+#include "webrtc/video/rtc_event_log.h"
namespace webrtc {
@@ -146,7 +147,8 @@
first_frame_(true),
callback_crit_sect_(CriticalSectionWrapper::CreateCriticalSection()),
packetization_callback_(NULL),
- vad_callback_(NULL) {
+ vad_callback_(NULL),
+ event_log_(config.event_log) {
if (InitializeReceiverSafe() < 0) {
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceAudioCoding, id_,
"Cannot initialize receiver");
@@ -680,6 +682,10 @@
"PlayoutData failed, RecOut Failed");
return -1;
}
+ {
+ if (event_log_)
+ event_log_->LogDebugEvent(RtcEventLog::DebugEvent::kAudioPlayout);
+ }
audio_frame->id_ = id_;
return 0;
diff --git a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h
index db3e927..568bf92 100644
--- a/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h
+++ b/webrtc/modules/audio_coding/main/acm2/audio_coding_module_impl.h
@@ -299,6 +299,8 @@
AudioPacketizationCallback* packetization_callback_
GUARDED_BY(callback_crit_sect_);
ACMVADCallback* vad_callback_ GUARDED_BY(callback_crit_sect_);
+
+ RtcEventLog* const event_log_;
};
} // namespace acm2
diff --git a/webrtc/modules/audio_coding/main/audio_coding_module.gypi b/webrtc/modules/audio_coding/main/audio_coding_module.gypi
index 43d99f8..ce86335 100644
--- a/webrtc/modules/audio_coding/main/audio_coding_module.gypi
+++ b/webrtc/modules/audio_coding/main/audio_coding_module.gypi
@@ -39,6 +39,7 @@
'dependencies': [
'<@(audio_coding_dependencies)',
'<(webrtc_root)/common.gyp:webrtc_common',
+ '<(webrtc_root)/webrtc.gyp:rtc_event_log',
'neteq',
],
'include_dirs': [
diff --git a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
index f2972e7..085dd61 100644
--- a/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
+++ b/webrtc/modules/audio_coding/main/interface/audio_coding_module.h
@@ -26,10 +26,11 @@
// forward declarations
struct CodecInst;
struct WebRtcRTPHeader;
-class AudioFrame;
-class RTPFragmentationHeader;
-class AudioEncoder;
class AudioDecoder;
+class AudioEncoder;
+class AudioFrame;
+class RtcEventLog;
+class RTPFragmentationHeader;
#define WEBRTC_10MS_PCM_AUDIO 960 // 16 bits super wideband 48 kHz
@@ -85,11 +86,13 @@
Config()
: id(0),
neteq_config(),
- clock(Clock::GetRealTimeClock()) {}
+ clock(Clock::GetRealTimeClock()),
+ event_log(nullptr) {}
int id;
NetEq::Config neteq_config;
Clock* clock;
+ RtcEventLog* event_log;
};
///////////////////////////////////////////////////////////////////////////