Pass event log to ANA.
BUG=webrtc:6845
Review-Url: https://codereview.webrtc.org/2553413002
Cr-Commit-Position: refs/heads/master@{#16052}
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.cc b/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.cc
index a9922b0..3b767d9 100644
--- a/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.cc
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.cc
@@ -14,7 +14,8 @@
namespace webrtc {
-AudioNetworkAdaptorImpl::Config::Config() = default;
+AudioNetworkAdaptorImpl::Config::Config()
+ : event_log(nullptr), clock(nullptr){};
AudioNetworkAdaptorImpl::Config::~Config() = default;
diff --git a/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h b/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h
index 549eef9..801a9cc 100644
--- a/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h
+++ b/webrtc/modules/audio_coding/audio_network_adaptor/audio_network_adaptor_impl.h
@@ -22,11 +22,14 @@
namespace webrtc {
+class RtcEventLog;
+
class AudioNetworkAdaptorImpl final : public AudioNetworkAdaptor {
public:
struct Config {
Config();
~Config();
+ RtcEventLog* event_log;
const Clock* clock;
};
diff --git a/webrtc/modules/audio_coding/codecs/audio_encoder.cc b/webrtc/modules/audio_coding/codecs/audio_encoder.cc
index 751f9cf..9e0cf4a 100644
--- a/webrtc/modules/audio_coding/codecs/audio_encoder.cc
+++ b/webrtc/modules/audio_coding/codecs/audio_encoder.cc
@@ -66,6 +66,7 @@
AudioEncoder::ReclaimContainedEncoders() { return nullptr; }
bool AudioEncoder::EnableAudioNetworkAdaptor(const std::string& config_string,
+ RtcEventLog* event_log,
const Clock* clock) {
return false;
}
diff --git a/webrtc/modules/audio_coding/codecs/audio_encoder.h b/webrtc/modules/audio_coding/codecs/audio_encoder.h
index e1b3d82..47152f9 100644
--- a/webrtc/modules/audio_coding/codecs/audio_encoder.h
+++ b/webrtc/modules/audio_coding/codecs/audio_encoder.h
@@ -23,6 +23,7 @@
namespace webrtc {
class Clock;
+class RtcEventLog;
// This is the interface class for encoders in AudioCoding module. Each codec
// type must have an implementation of this class.
@@ -163,6 +164,7 @@
// Enables audio network adaptor. Returns true if successful.
virtual bool EnableAudioNetworkAdaptor(const std::string& config_string,
+ RtcEventLog* event_log,
const Clock* clock);
// Disables audio network adaptor.
diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
index 78f8a4b..78591e1 100644
--- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
+++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
@@ -181,9 +181,11 @@
audio_network_adaptor_creator_(
audio_network_adaptor_creator
? std::move(audio_network_adaptor_creator)
- : [this](const std::string& config_string, const Clock* clock) {
+ : [this](const std::string& config_string,
+ RtcEventLog* event_log,
+ const Clock* clock) {
return DefaultAudioNetworkAdaptorCreator(config_string,
- clock);
+ event_log, clock);
}),
bitrate_smoother_(bitrate_smoother
? std::move(bitrate_smoother) : std::unique_ptr<SmoothingFilter>(
@@ -268,8 +270,10 @@
bool AudioEncoderOpus::EnableAudioNetworkAdaptor(
const std::string& config_string,
+ RtcEventLog* event_log,
const Clock* clock) {
- audio_network_adaptor_ = audio_network_adaptor_creator_(config_string, clock);
+ audio_network_adaptor_ =
+ audio_network_adaptor_creator_(config_string, event_log, clock);
return audio_network_adaptor_.get() != nullptr;
}
@@ -526,9 +530,11 @@
std::unique_ptr<AudioNetworkAdaptor>
AudioEncoderOpus::DefaultAudioNetworkAdaptorCreator(
const std::string& config_string,
+ RtcEventLog* event_log,
const Clock* clock) const {
AudioNetworkAdaptorImpl::Config config;
config.clock = clock;
+ config.event_log = event_log;
return std::unique_ptr<AudioNetworkAdaptor>(new AudioNetworkAdaptorImpl(
config, ControllerManagerImpl::Create(
config_string, NumChannels(), supported_frame_lengths_ms(),
diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h
index 82595ab..051a607 100644
--- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h
+++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h
@@ -25,6 +25,8 @@
namespace webrtc {
+class RtcEventLog;
+
struct CodecInst;
class AudioEncoderOpus final : public AudioEncoder {
@@ -78,6 +80,7 @@
using AudioNetworkAdaptorCreator =
std::function<std::unique_ptr<AudioNetworkAdaptor>(const std::string&,
+ RtcEventLog*,
const Clock*)>;
AudioEncoderOpus(
const Config& config,
@@ -106,6 +109,7 @@
bool SetApplication(Application application) override;
void SetMaxPlaybackRate(int frequency_hz) override;
bool EnableAudioNetworkAdaptor(const std::string& config_string,
+ RtcEventLog* event_log,
const Clock* clock) override;
void DisableAudioNetworkAdaptor() override;
void OnReceivedUplinkPacketLossFraction(
@@ -151,6 +155,7 @@
void ApplyAudioNetworkAdaptor();
std::unique_ptr<AudioNetworkAdaptor> DefaultAudioNetworkAdaptorCreator(
const std::string& config_string,
+ RtcEventLog* event_log,
const Clock* clock) const;
void MaybeUpdateUplinkBandwidth();
diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
index 3e80595..ff6e628 100644
--- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
+++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
@@ -59,7 +59,7 @@
std::weak_ptr<MockAudioNetworkAdaptor*> mock_ptr(
states.mock_audio_network_adaptor);
AudioEncoderOpus::AudioNetworkAdaptorCreator creator = [mock_ptr](
- const std::string&, const Clock*) {
+ const std::string&, RtcEventLog* event_log, const Clock*) {
std::unique_ptr<MockAudioNetworkAdaptor> adaptor(
new NiceMock<MockAudioNetworkAdaptor>());
EXPECT_CALL(*adaptor, Die());
@@ -266,7 +266,7 @@
TEST(AudioEncoderOpusTest,
InvokeAudioNetworkAdaptorOnReceivedUplinkPacketLossFraction) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -283,7 +283,7 @@
TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedUplinkBandwidth) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -305,7 +305,7 @@
TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedRtt) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -321,7 +321,7 @@
TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedOverhead) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -450,7 +450,7 @@
TEST(AudioEncoderOpusTest, EmptyConfigDoesNotAffectEncoderSettings) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
auto config = CreateEncoderRuntimeConfig();
AudioNetworkAdaptor::EncoderRuntimeConfig empty_config;
@@ -471,7 +471,7 @@
TEST(AudioEncoderOpusTest, UpdateUplinkBandwidthInAudioNetworkAdaptor) {
rtc::ScopedFakeClock fake_clock;
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
std::array<int16_t, 480 * 2> audio;
audio.fill(0);
rtc::Buffer encoded;
diff --git a/webrtc/voice_engine/channel.cc b/webrtc/voice_engine/channel.cc
index c12d87c..68f2e2d 100644
--- a/webrtc/voice_engine/channel.cc
+++ b/webrtc/voice_engine/channel.cc
@@ -1532,7 +1532,7 @@
audio_coding_->ModifyEncoder([&](std::unique_ptr<AudioEncoder>* encoder) {
if (*encoder) {
success = (*encoder)->EnableAudioNetworkAdaptor(
- config_string, Clock::GetRealTimeClock());
+ config_string, event_log_proxy_.get(), Clock::GetRealTimeClock());
}
});
return success;