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

Unified Diff: media/audio/win/audio_low_latency_input_win_unittest.cc

Issue 155863003: Add basic support for "googDucking" to getUserMedia on Windows. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Initialize enumeration flag in constructor Created 6 years, 10 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: media/audio/win/audio_low_latency_input_win_unittest.cc
diff --git a/media/audio/win/audio_low_latency_input_win_unittest.cc b/media/audio/win/audio_low_latency_input_win_unittest.cc
index 6f64072e21e70f74328af4eab082d14b2a0945c9..34a016fb8a81a53c7fb97cb50f9ef86f12ea2cdc 100644
--- a/media/audio/win/audio_low_latency_input_win_unittest.cc
+++ b/media/audio/win/audio_low_latency_input_win_unittest.cc
@@ -160,14 +160,13 @@ class AudioInputStreamWrapper {
explicit AudioInputStreamWrapper(AudioManager* audio_manager)
: com_init_(ScopedCOMInitializer::kMTA),
audio_man_(audio_manager),
- format_(AudioParameters::AUDIO_PCM_LOW_LATENCY),
- channel_layout_(CHANNEL_LAYOUT_STEREO),
- bits_per_sample_(16) {
- // Use native/mixing sample rate and 10ms frame size as default.
- sample_rate_ = static_cast<int>(
- WASAPIAudioInputStream::HardwareSampleRate(
- AudioManagerBase::kDefaultDeviceId));
- samples_per_packet_ = sample_rate_ / 100;
+ default_params_(
+ audio_manager->GetInputStreamParameters(
+ AudioManagerBase::kDefaultDeviceId)) {
+ EXPECT_EQ(format(), AudioParameters::AUDIO_PCM_LOW_LATENCY);
+ frames_per_buffer_ = default_params_.frames_per_buffer();
+ // We expect the default buffer size to be a 10ms buffer.
+ EXPECT_EQ(frames_per_buffer_, sample_rate() / 100);
}
~AudioInputStreamWrapper() {}
@@ -179,36 +178,35 @@ class AudioInputStreamWrapper {
// Creates AudioInputStream object using non-default parameters where the
// frame size is modified.
- AudioInputStream* Create(int samples_per_packet) {
- samples_per_packet_ = samples_per_packet;
+ AudioInputStream* Create(int frames_per_buffer) {
+ frames_per_buffer_ = frames_per_buffer;
return CreateInputStream();
}
- AudioParameters::Format format() const { return format_; }
+ AudioParameters::Format format() const { return default_params_.format(); }
int channels() const {
- return ChannelLayoutToChannelCount(channel_layout_);
+ return ChannelLayoutToChannelCount(default_params_.channel_layout());
}
- int bits_per_sample() const { return bits_per_sample_; }
- int sample_rate() const { return sample_rate_; }
- int samples_per_packet() const { return samples_per_packet_; }
+ int bits_per_sample() const { return default_params_.bits_per_sample(); }
+ int sample_rate() const { return default_params_.sample_rate(); }
+ int frames_per_buffer() const { return frames_per_buffer_; }
private:
AudioInputStream* CreateInputStream() {
AudioInputStream* ais = audio_man_->MakeAudioInputStream(
- AudioParameters(format_, channel_layout_, sample_rate_,
- bits_per_sample_, samples_per_packet_),
- AudioManagerBase::kDefaultDeviceId);
+ AudioParameters(format(), default_params_.channel_layout(),
+ default_params_.input_channels(),
+ sample_rate(), bits_per_sample(), frames_per_buffer_,
+ default_params_.effects()),
+ AudioManagerBase::kDefaultDeviceId);
EXPECT_TRUE(ais);
return ais;
}
ScopedCOMInitializer com_init_;
AudioManager* audio_man_;
- AudioParameters::Format format_;
- ChannelLayout channel_layout_;
- int bits_per_sample_;
- int sample_rate_;
- int samples_per_packet_;
+ const AudioParameters default_params_;
+ int frames_per_buffer_;
};
// Convenience method which creates a default AudioInputStream object.
@@ -269,10 +267,9 @@ TEST(WinAudioInputTest, WASAPIAudioInputStreamHardwareSampleRate) {
for (media::AudioDeviceNames::const_iterator it = device_names.begin();
it != device_names.end(); ++it) {
// Retrieve the hardware sample rate given a specified audio input device.
- // TODO(tommi): ensure that we don't have to cast here.
- int fs = static_cast<int>(WASAPIAudioInputStream::HardwareSampleRate(
- it->unique_id));
- EXPECT_GE(fs, 0);
+ AudioParameters params = WASAPIAudioInputStream::GetInputStreamParameters(
+ it->unique_id);
+ EXPECT_GE(params.sample_rate(), 0);
}
}
@@ -373,7 +370,7 @@ TEST(WinAudioInputTest, WASAPIAudioInputStreamTestPacketSizes) {
MockAudioInputCallback sink;
// Derive the expected size in bytes of each recorded packet.
- uint32 bytes_per_packet = aisw.channels() * aisw.samples_per_packet() *
+ uint32 bytes_per_packet = aisw.channels() * aisw.frames_per_buffer() *
(aisw.bits_per_sample() / 8);
// We use 10ms packets and will run the test until ten packets are received.
@@ -388,16 +385,16 @@ TEST(WinAudioInputTest, WASAPIAudioInputStreamTestPacketSizes) {
ais->Stop();
// Store current packet size (to be used in the subsequent tests).
- int samples_per_packet_10ms = aisw.samples_per_packet();
+ int frames_per_buffer_10ms = aisw.frames_per_buffer();
ais.Close();
// 20 ms packet size.
count = 0;
- ais.Reset(aisw.Create(2 * samples_per_packet_10ms));
+ ais.Reset(aisw.Create(2 * frames_per_buffer_10ms));
EXPECT_TRUE(ais->Open());
- bytes_per_packet = aisw.channels() * aisw.samples_per_packet() *
+ bytes_per_packet = aisw.channels() * aisw.frames_per_buffer() *
(aisw.bits_per_sample() / 8);
EXPECT_CALL(sink, OnData(
@@ -412,9 +409,9 @@ TEST(WinAudioInputTest, WASAPIAudioInputStreamTestPacketSizes) {
// 5 ms packet size.
count = 0;
- ais.Reset(aisw.Create(samples_per_packet_10ms / 2));
+ ais.Reset(aisw.Create(frames_per_buffer_10ms / 2));
EXPECT_TRUE(ais->Open());
- bytes_per_packet = aisw.channels() * aisw.samples_per_packet() *
+ bytes_per_packet = aisw.channels() * aisw.frames_per_buffer() *
(aisw.bits_per_sample() / 8);
EXPECT_CALL(sink, OnData(
@@ -435,6 +432,7 @@ TEST(WinAudioInputTest, WASAPIAudioInputStreamLoopback) {
AudioParameters params = audio_manager->GetInputStreamParameters(
AudioManagerBase::kLoopbackInputDeviceId);
+ EXPECT_EQ(params.effects(), 0);
AudioParameters output_params =
audio_manager->GetOutputStreamParameters(std::string());
« no previous file with comments | « media/audio/win/audio_low_latency_input_win.cc ('k') | media/audio/win/audio_low_latency_output_win_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698