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

Unified Diff: webrtc/audio/audio_send_stream_unittest.cc

Issue 1403363003: Move VoiceEngineObserver into AudioSendStream so that we detect typing noises and return properly i… (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: missing file Created 5 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/audio/audio_send_stream_unittest.cc
diff --git a/webrtc/audio/audio_send_stream_unittest.cc b/webrtc/audio/audio_send_stream_unittest.cc
index 227ec8379971f3e6c2ad73b52acf75872e27a08a..592509aebf2964ffb22edd09ddd6118c61add660 100644
--- a/webrtc/audio/audio_send_stream_unittest.cc
+++ b/webrtc/audio/audio_send_stream_unittest.cc
@@ -11,11 +11,35 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "webrtc/audio/audio_send_stream.h"
+#include "webrtc/audio/audio_state.h"
#include "webrtc/audio/conversion.h"
+#include "webrtc/base/scoped_ptr.h"
#include "webrtc/test/fake_voice_engine.h"
namespace webrtc {
namespace test {
+namespace {
+
+struct ConfigHelper {
+ ConfigHelper() : stream_config_(nullptr) {
+ AudioState::Config config;
+ config.voice_engine = &voice_engine_;
+ audio_state_.reset(new internal::AudioState(config));
+ }
+
+ AudioSendStream::Config& config() {
+ return stream_config_;
+ }
+ internal::AudioState* audio_state() {
+ return audio_state_.get();
+ }
+
+ private:
+ FakeVoiceEngine voice_engine_;
+ rtc::scoped_ptr<internal::AudioState> audio_state_;
+ AudioSendStream::Config stream_config_;
+};
+} // namespace
TEST(AudioSendStreamTest, ConfigToString) {
const int kAbsSendTimeId = 3;
@@ -33,18 +57,16 @@ TEST(AudioSendStreamTest, ConfigToString) {
}
TEST(AudioSendStreamTest, ConstructDestruct) {
- FakeVoiceEngine voice_engine;
- AudioSendStream::Config config(nullptr);
- config.voe_channel_id = 1;
- internal::AudioSendStream send_stream(config, &voice_engine);
+ ConfigHelper helper;
+ helper.config().voe_channel_id = 1;
+ internal::AudioSendStream send_stream(helper.config(), helper.audio_state());
}
TEST(AudioSendStreamTest, GetStats) {
- FakeVoiceEngine voice_engine;
- AudioSendStream::Config config(nullptr);
- config.rtp.ssrc = FakeVoiceEngine::kSendSsrc;
- config.voe_channel_id = FakeVoiceEngine::kSendChannelId;
- internal::AudioSendStream send_stream(config, &voice_engine);
+ ConfigHelper helper;
+ helper.config().rtp.ssrc = FakeVoiceEngine::kSendSsrc;
+ helper.config().voe_channel_id = FakeVoiceEngine::kSendChannelId;
+ internal::AudioSendStream send_stream(helper.config(), helper.audio_state());
AudioSendStream::Stats stats = send_stream.GetStats();
const CallStatistics& call_stats = FakeVoiceEngine::kSendCallStats;
@@ -72,5 +94,18 @@ TEST(AudioSendStreamTest, GetStats) {
stats.echo_return_loss_enhancement);
EXPECT_FALSE(stats.typing_noise_detected);
}
+
+TEST(AudioSendStreamTest, GetStatsTypingNoiseDetected) {
+ ConfigHelper helper;
+ helper.config().voe_channel_id = 1;
+ internal::AudioSendStream send_stream(helper.config(), helper.audio_state());
+ EXPECT_FALSE(send_stream.GetStats().typing_noise_detected);
+
+ internal::AudioState* audio_state = helper.audio_state();
+ audio_state->CallbackOnError(-1, VE_TYPING_NOISE_WARNING);
+ EXPECT_TRUE(send_stream.GetStats().typing_noise_detected);
+ audio_state->CallbackOnError(-1, VE_TYPING_NOISE_OFF_WARNING);
+ EXPECT_FALSE(send_stream.GetStats().typing_noise_detected);
+}
} // namespace test
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698