Index: webrtc/media/engine/webrtcvoiceengine_unittest.cc |
diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
index 735f36eaa70f52f2b826179ec5cdc8fb4712a7fe..544a4e42b7ff90d7ebe67467b03b2159d39db410 100644 |
--- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
+++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
@@ -11,6 +11,7 @@ |
#include <memory> |
#include "webrtc/api/audio_codecs/builtin_audio_decoder_factory.h" |
+#include "webrtc/api/audio_codecs/builtin_audio_encoder_factory.h" |
#include "webrtc/base/arraysize.h" |
#include "webrtc/base/byteorder.h" |
#include "webrtc/base/safe_conversions.h" |
@@ -29,6 +30,7 @@ |
#include "webrtc/test/field_trial.h" |
#include "webrtc/test/gtest.h" |
#include "webrtc/test/mock_audio_decoder_factory.h" |
+#include "webrtc/test/mock_audio_encoder_factory.h" |
#include "webrtc/voice_engine/transmit_mixer.h" |
using testing::ContainerEq; |
@@ -129,7 +131,8 @@ TEST(WebRtcVoiceEngineTestStubLibrary, StartupShutdown) { |
EXPECT_FALSE(voe.IsInited()); |
{ |
cricket::WebRtcVoiceEngine engine( |
- &adm, webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, |
+ &adm, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), |
+ webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr, |
new FakeVoEWrapper(&voe)); |
EXPECT_TRUE(voe.IsInited()); |
} |
@@ -174,12 +177,14 @@ class WebRtcVoiceEngineTestFake : public testing::Test { |
EXPECT_CALL(apm_gc_, set_target_level_dbfs(1)).WillOnce(Return(0)); |
EXPECT_CALL(apm_gc_, set_compression_gain_db(5)).WillRepeatedly(Return(0)); |
EXPECT_CALL(apm_gc_, enable_limiter(true)).WillRepeatedly(Return(0)); |
- // TODO(kwiberg): We should use a mock AudioDecoderFactory, but a bunch of |
+ // TODO(kwiberg): We should use mock factories here, but a bunch of |
// the tests here probe the specific set of codecs provided by the builtin |
- // factory. Those tests should probably be moved elsewhere. |
- engine_.reset(new cricket::WebRtcVoiceEngine( |
- &adm_, webrtc::CreateBuiltinAudioDecoderFactory(), nullptr, |
- new FakeVoEWrapper(&voe_))); |
+ // factories. Those tests should probably be moved elsewhere. |
+ auto encoder_factory = webrtc::CreateBuiltinAudioEncoderFactory(); |
+ auto decoder_factory = webrtc::CreateBuiltinAudioDecoderFactory(); |
+ engine_.reset(new cricket::WebRtcVoiceEngine(&adm_, encoder_factory, |
+ decoder_factory, nullptr, |
+ new FakeVoEWrapper(&voe_))); |
send_parameters_.codecs.push_back(kPcmuCodec); |
recv_parameters_.codecs.push_back(kPcmuCodec); |
// Default Options. |
@@ -3254,7 +3259,8 @@ TEST(WebRtcVoiceEngineTest, StartupShutdown) { |
// If the VoiceEngine wants to gather available codecs early, that's fine but |
// we never want it to create a decoder at this stage. |
cricket::WebRtcVoiceEngine engine( |
- nullptr, webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
+ nullptr, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), |
+ webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
webrtc::RtcEventLogNullImpl event_log; |
std::unique_ptr<webrtc::Call> call( |
webrtc::Call::Create(webrtc::Call::Config(&event_log))); |
@@ -3274,7 +3280,8 @@ TEST(WebRtcVoiceEngineTest, StartupShutdownWithExternalADM) { |
EXPECT_CALL(adm, TimeUntilNextProcess()).WillRepeatedly(Return(100)); |
{ |
cricket::WebRtcVoiceEngine engine( |
- &adm, webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
+ &adm, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), |
+ webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
webrtc::RtcEventLogNullImpl event_log; |
std::unique_ptr<webrtc::Call> call( |
webrtc::Call::Create(webrtc::Call::Config(&event_log))); |
@@ -3290,7 +3297,8 @@ TEST(WebRtcVoiceEngineTest, HasCorrectPayloadTypeMapping) { |
// TODO(ossu): Why are the payload types of codecs with non-static payload |
// type assignments checked here? It shouldn't really matter. |
cricket::WebRtcVoiceEngine engine( |
- nullptr, webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
+ nullptr, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), |
+ webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
for (const cricket::AudioCodec& codec : engine.send_codecs()) { |
auto is_codec = [&codec](const char* name, int clockrate = 0) { |
return STR_CASE_CMP(codec.name.c_str(), name) == 0 && |
@@ -3330,7 +3338,8 @@ TEST(WebRtcVoiceEngineTest, HasCorrectPayloadTypeMapping) { |
// Tests that VoE supports at least 32 channels |
TEST(WebRtcVoiceEngineTest, Has32Channels) { |
cricket::WebRtcVoiceEngine engine( |
- nullptr, webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
+ nullptr, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), |
+ webrtc::MockAudioDecoderFactory::CreateUnusedFactory(), nullptr); |
webrtc::RtcEventLogNullImpl event_log; |
std::unique_ptr<webrtc::Call> call( |
webrtc::Call::Create(webrtc::Call::Config(&event_log))); |
@@ -3363,7 +3372,8 @@ TEST(WebRtcVoiceEngineTest, SetRecvCodecs) { |
// SetRecvParameters returns true. |
// I think it will become clear once audio decoder injection is completed. |
cricket::WebRtcVoiceEngine engine( |
- nullptr, webrtc::CreateBuiltinAudioDecoderFactory(), nullptr); |
+ nullptr, webrtc::MockAudioEncoderFactory::CreateUnusedFactory(), |
+ webrtc::CreateBuiltinAudioDecoderFactory(), nullptr); |
webrtc::RtcEventLogNullImpl event_log; |
std::unique_ptr<webrtc::Call> call( |
webrtc::Call::Create(webrtc::Call::Config(&event_log))); |
@@ -3392,12 +3402,15 @@ TEST(WebRtcVoiceEngineTest, CollectRecvCodecs) { |
specs.push_back( |
webrtc::AudioCodecSpec{{"codec5", 8000, 2}, {8000, 1, 64000}}); |
- rtc::scoped_refptr<webrtc::MockAudioDecoderFactory> mock_factory = |
+ rtc::scoped_refptr<webrtc::MockAudioEncoderFactory> unused_encoder_factory = |
+ webrtc::MockAudioEncoderFactory::CreateUnusedFactory(); |
+ rtc::scoped_refptr<webrtc::MockAudioDecoderFactory> mock_decoder_factory = |
new rtc::RefCountedObject<webrtc::MockAudioDecoderFactory>; |
- EXPECT_CALL(*mock_factory.get(), GetSupportedDecoders()) |
+ EXPECT_CALL(*mock_decoder_factory.get(), GetSupportedDecoders()) |
.WillOnce(Return(specs)); |
- cricket::WebRtcVoiceEngine engine(nullptr, mock_factory, nullptr); |
+ cricket::WebRtcVoiceEngine engine(nullptr, unused_encoder_factory, |
+ mock_decoder_factory, nullptr); |
auto codecs = engine.recv_codecs(); |
EXPECT_EQ(11, codecs.size()); |