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

Side by Side Diff: media/audio/audio_input_unittest.cc

Issue 9691001: Audio software mixer. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 8 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/environment.h" 6 #include "base/environment.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/threading/platform_thread.h" 9 #include "base/threading/platform_thread.h"
10 #include "media/audio/audio_io.h" 10 #include "media/audio/audio_io.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 bool has_input = audio_man->HasAudioInputDevices(); 68 bool has_input = audio_man->HasAudioInputDevices();
69 69
70 if (!has_input) 70 if (!has_input)
71 LOG(WARNING) << "No input devices detected"; 71 LOG(WARNING) << "No input devices detected";
72 72
73 return has_input; 73 return has_input;
74 } 74 }
75 75
76 static AudioInputStream* CreateTestAudioInputStream(AudioManager* audio_man) { 76 static AudioInputStream* CreateTestAudioInputStream(AudioManager* audio_man) {
77 AudioInputStream* ais = audio_man->MakeAudioInputStream( 77 AudioInputStream* ais = audio_man->MakeAudioInputStream(
78 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 78 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
79 false, CHANNEL_LAYOUT_STEREO,
79 kSamplingRate, 16, kSamplesPerPacket), 80 kSamplingRate, 16, kSamplesPerPacket),
80 AudioManagerBase::kDefaultDeviceId); 81 AudioManagerBase::kDefaultDeviceId);
81 EXPECT_TRUE(NULL != ais); 82 EXPECT_TRUE(NULL != ais);
82 return ais; 83 return ais;
83 } 84 }
84 85
85 // Test that AudioInputStream rejects out of range parameters. 86 // Test that AudioInputStream rejects out of range parameters.
86 TEST(AudioInputTest, SanityOnMakeParams) { 87 TEST(AudioInputTest, SanityOnMakeParams) {
87 scoped_ptr<AudioManager> audio_man(AudioManager::Create()); 88 scoped_ptr<AudioManager> audio_man(AudioManager::Create());
88 if (!CanRunAudioTests(audio_man.get())) 89 if (!CanRunAudioTests(audio_man.get()))
89 return; 90 return;
90 91
91 AudioParameters::Format fmt = AudioParameters::AUDIO_PCM_LINEAR; 92 AudioParameters::Format fmt = AudioParameters::AUDIO_PCM_LINEAR;
92 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 93 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
93 AudioParameters(fmt, CHANNEL_LAYOUT_7_1, 8000, 16, 94 AudioParameters(fmt, false, CHANNEL_LAYOUT_7_1, 8000, 16,
94 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 95 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
95 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 96 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
96 AudioParameters(fmt, CHANNEL_LAYOUT_MONO, 1024 * 1024, 16, 97 AudioParameters(fmt, false, CHANNEL_LAYOUT_MONO, 1024 * 1024, 16,
97 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 98 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
98 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 99 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
99 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, 80, 100 AudioParameters(fmt, false, CHANNEL_LAYOUT_STEREO, 8000, 80,
100 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 101 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
101 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 102 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
102 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, 80, 103 AudioParameters(fmt, false, CHANNEL_LAYOUT_STEREO, 8000, 80,
103 1000 * kSamplesPerPacket), 104 1000 * kSamplesPerPacket),
104 AudioManagerBase::kDefaultDeviceId)); 105 AudioManagerBase::kDefaultDeviceId));
105 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 106 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
106 AudioParameters(fmt, CHANNEL_LAYOUT_UNSUPPORTED, 8000, 16, 107 AudioParameters(fmt, false, CHANNEL_LAYOUT_UNSUPPORTED, 8000, 16,
107 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 108 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
108 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 109 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
109 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, -8000, 16, 110 AudioParameters(fmt, false, CHANNEL_LAYOUT_STEREO, -8000, 16,
110 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 111 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
111 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 112 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
112 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, -16, 113 AudioParameters(fmt, false, CHANNEL_LAYOUT_STEREO, 8000, -16,
113 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 114 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
114 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 115 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
115 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, 16, -1024), 116 AudioParameters(fmt, false, CHANNEL_LAYOUT_STEREO, 8000, 16, -1024),
116 AudioManagerBase::kDefaultDeviceId)); 117 AudioManagerBase::kDefaultDeviceId));
117 } 118 }
118 119
119 // Test create and close of an AudioInputStream without recording audio. 120 // Test create and close of an AudioInputStream without recording audio.
120 TEST(AudioInputTest, CreateAndClose) { 121 TEST(AudioInputTest, CreateAndClose) {
121 scoped_ptr<AudioManager> audio_man(AudioManager::Create()); 122 scoped_ptr<AudioManager> audio_man(AudioManager::Create());
122 if (!CanRunAudioTests(audio_man.get())) 123 if (!CanRunAudioTests(audio_man.get()))
123 return; 124 return;
124 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get()); 125 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get());
125 ais->Close(); 126 ais->Close();
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 FROM_HERE, 164 FROM_HERE,
164 MessageLoop::QuitClosure(), 165 MessageLoop::QuitClosure(),
165 base::TimeDelta::FromMilliseconds(590)); 166 base::TimeDelta::FromMilliseconds(590));
166 message_loop.Run(); 167 message_loop.Run();
167 EXPECT_GE(test_callback.callback_count(), 10); 168 EXPECT_GE(test_callback.callback_count(), 10);
168 EXPECT_FALSE(test_callback.had_error()); 169 EXPECT_FALSE(test_callback.had_error());
169 170
170 ais->Stop(); 171 ais->Stop();
171 ais->Close(); 172 ais->Close();
172 } 173 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698