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

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

Issue 12843015: Add MODIFY_AUDIO_SETTINGS permission in Android manifest and implementation in android audio manage… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 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
« no previous file with comments | « media/audio/audio_input_controller_unittest.cc ('k') | media/audio/audio_manager_base.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 103 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
104 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 104 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
105 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, -16, 105 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, -16,
106 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId)); 106 kSamplesPerPacket), AudioManagerBase::kDefaultDeviceId));
107 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream( 107 EXPECT_TRUE(NULL == audio_man->MakeAudioInputStream(
108 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, 16, -1024), 108 AudioParameters(fmt, CHANNEL_LAYOUT_STEREO, 8000, 16, -1024),
109 AudioManagerBase::kDefaultDeviceId)); 109 AudioManagerBase::kDefaultDeviceId));
110 } 110 }
111 111
112 // Test create and close of an AudioInputStream without recording audio. 112 // Test create and close of an AudioInputStream without recording audio.
113 TEST(AudioInputTest, CreateAndClose) { 113 #if defined(OS_ANDROID)
114 #define MAYBE_CreateAndClose DISABLED_CreateAndClose
115 #else
116 #define MAYBE_CreateAndClose CreateAndClose
117 #endif
118 TEST(AudioInputTest, MAYBE_CreateAndClose) {
114 scoped_ptr<AudioManager> audio_man(AudioManager::Create()); 119 scoped_ptr<AudioManager> audio_man(AudioManager::Create());
115 if (!CanRunAudioTests(audio_man.get())) 120 if (!CanRunAudioTests(audio_man.get()))
116 return; 121 return;
117 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get()); 122 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get());
118 ais->Close(); 123 ais->Close();
119 } 124 }
120 125
121 // Test create, open and close of an AudioInputStream without recording audio. 126 // Test create, open and close of an AudioInputStream without recording audio.
122 TEST(AudioInputTest, OpenAndClose) { 127 // TODO(leozwang): Because java calls were introduced in audio_manager_base,
128 // unit test has to register jni first, else it will crash.
129 #if defined(OS_ANDROID)
130 #define MAYBE_OpenAndClose DISABLED_OpenAndClose
131 #else
132 #define MAYBE_OpenAndClose OpenAndClose
133 #endif
134 TEST(AudioInputTest, MAYBE_OpenAndClose) {
123 scoped_ptr<AudioManager> audio_man(AudioManager::Create()); 135 scoped_ptr<AudioManager> audio_man(AudioManager::Create());
124 if (!CanRunAudioTests(audio_man.get())) 136 if (!CanRunAudioTests(audio_man.get()))
125 return; 137 return;
126 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get()); 138 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get());
127 EXPECT_TRUE(ais->Open()); 139 EXPECT_TRUE(ais->Open());
128 ais->Close(); 140 ais->Close();
129 } 141 }
130 142
131 // Test create, open, stop and close of an AudioInputStream without recording. 143 // Test create, open, stop and close of an AudioInputStream without recording.
132 TEST(AudioInputTest, OpenStopAndClose) { 144 #if defined(OS_ANDROID)
145 #define MAYBE_OpenStopAndClose DISABLED_OpenStopAndClose
146 #else
147 #define MAYBE_OpenStopAndClose OpenStopAndClose
148 #endif
149 TEST(AudioInputTest, MAYBE_OpenStopAndClose) {
133 scoped_ptr<AudioManager> audio_man(AudioManager::Create()); 150 scoped_ptr<AudioManager> audio_man(AudioManager::Create());
134 if (!CanRunAudioTests(audio_man.get())) 151 if (!CanRunAudioTests(audio_man.get()))
135 return; 152 return;
136 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get()); 153 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get());
137 EXPECT_TRUE(ais->Open()); 154 EXPECT_TRUE(ais->Open());
138 ais->Stop(); 155 ais->Stop();
139 ais->Close(); 156 ais->Close();
140 } 157 }
141 158
142 // Test a normal recording sequence using an AudioInputStream. 159 // Test a normal recording sequence using an AudioInputStream.
143 TEST(AudioInputTest, Record) { 160 #if defined(OS_ANDROID)
161 #define MAYBE_Record DISABLED_Record
162 #else
163 #define MAYBE_Record Record
164 #endif
165 TEST(AudioInputTest, MAYBE_Record) {
144 scoped_ptr<AudioManager> audio_man(AudioManager::Create()); 166 scoped_ptr<AudioManager> audio_man(AudioManager::Create());
145 if (!CanRunAudioTests(audio_man.get())) 167 if (!CanRunAudioTests(audio_man.get()))
146 return; 168 return;
147 MessageLoop message_loop(MessageLoop::TYPE_DEFAULT); 169 MessageLoop message_loop(MessageLoop::TYPE_DEFAULT);
148 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get()); 170 AudioInputStream* ais = CreateTestAudioInputStream(audio_man.get());
149 EXPECT_TRUE(ais->Open()); 171 EXPECT_TRUE(ais->Open());
150 172
151 TestInputCallback test_callback(kSamplesPerPacket * 4); 173 TestInputCallback test_callback(kSamplesPerPacket * 4);
152 ais->Start(&test_callback); 174 ais->Start(&test_callback);
153 // Verify at least 500ms worth of audio was recorded, after giving sufficient 175 // Verify at least 500ms worth of audio was recorded, after giving sufficient
154 // extra time. 176 // extra time.
155 message_loop.PostDelayedTask( 177 message_loop.PostDelayedTask(
156 FROM_HERE, 178 FROM_HERE,
157 MessageLoop::QuitClosure(), 179 MessageLoop::QuitClosure(),
158 base::TimeDelta::FromMilliseconds(690)); 180 base::TimeDelta::FromMilliseconds(690));
159 message_loop.Run(); 181 message_loop.Run();
160 EXPECT_GE(test_callback.callback_count(), 1); 182 EXPECT_GE(test_callback.callback_count(), 1);
161 EXPECT_FALSE(test_callback.had_error()); 183 EXPECT_FALSE(test_callback.had_error());
162 184
163 ais->Stop(); 185 ais->Stop();
164 ais->Close(); 186 ais->Close();
165 } 187 }
166 188
167 } // namespace media 189 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/audio_input_controller_unittest.cc ('k') | media/audio/audio_manager_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698