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

Side by Side Diff: media/audio/android/audio_manager_android.h

Issue 23296008: Adding audio unit tests for Android (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Nit Created 7 years, 3 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
« no previous file with comments | « media/audio/android/audio_android_unittest.cc ('k') | media/audio/android/opensles_input.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 #ifndef MEDIA_AUDIO_ANDROID_AUDIO_MANAGER_ANDROID_H_ 5 #ifndef MEDIA_AUDIO_ANDROID_AUDIO_MANAGER_ANDROID_H_
6 #define MEDIA_AUDIO_ANDROID_AUDIO_MANAGER_ANDROID_H_ 6 #define MEDIA_AUDIO_ANDROID_AUDIO_MANAGER_ANDROID_H_
7 7
8 #include "base/android/jni_android.h" 8 #include "base/android/jni_android.h"
9 #include "base/gtest_prod_util.h"
9 #include "media/audio/audio_manager_base.h" 10 #include "media/audio/audio_manager_base.h"
10 11
11 namespace media { 12 namespace media {
12 13
13 // Android implemention of AudioManager. 14 // Android implemention of AudioManager.
14 class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase { 15 class MEDIA_EXPORT AudioManagerAndroid : public AudioManagerBase {
15 public: 16 public:
16 AudioManagerAndroid(); 17 AudioManagerAndroid();
17 18
18 // Implementation of AudioManager. 19 // Implementation of AudioManager.
19 virtual bool HasAudioOutputDevices() OVERRIDE; 20 virtual bool HasAudioOutputDevices() OVERRIDE;
20 virtual bool HasAudioInputDevices() OVERRIDE; 21 virtual bool HasAudioInputDevices() OVERRIDE;
21 virtual void GetAudioInputDeviceNames(media::AudioDeviceNames* device_names) 22 virtual void GetAudioInputDeviceNames(
22 OVERRIDE; 23 media::AudioDeviceNames* device_names) OVERRIDE;
23 virtual AudioParameters GetInputStreamParameters( 24 virtual AudioParameters GetInputStreamParameters(
24 const std::string& device_id) OVERRIDE; 25 const std::string& device_id) OVERRIDE;
25 26
26 virtual AudioOutputStream* MakeAudioOutputStream( 27 virtual AudioOutputStream* MakeAudioOutputStream(
27 const AudioParameters& params, 28 const AudioParameters& params,
28 const std::string& device_id, 29 const std::string& device_id,
29 const std::string& input_device_id) OVERRIDE; 30 const std::string& input_device_id) OVERRIDE;
30 virtual AudioInputStream* MakeAudioInputStream( 31 virtual AudioInputStream* MakeAudioInputStream(
31 const AudioParameters& params, const std::string& device_id) OVERRIDE; 32 const AudioParameters& params,
33 const std::string& device_id) OVERRIDE;
32 virtual void ReleaseOutputStream(AudioOutputStream* stream) OVERRIDE; 34 virtual void ReleaseOutputStream(AudioOutputStream* stream) OVERRIDE;
33 virtual void ReleaseInputStream(AudioInputStream* stream) OVERRIDE; 35 virtual void ReleaseInputStream(AudioInputStream* stream) OVERRIDE;
34 36
35 // Implementation of AudioManagerBase. 37 // Implementation of AudioManagerBase.
36 virtual AudioOutputStream* MakeLinearOutputStream( 38 virtual AudioOutputStream* MakeLinearOutputStream(
37 const AudioParameters& params) OVERRIDE; 39 const AudioParameters& params) OVERRIDE;
38 virtual AudioOutputStream* MakeLowLatencyOutputStream( 40 virtual AudioOutputStream* MakeLowLatencyOutputStream(
39 const AudioParameters& params, 41 const AudioParameters& params,
40 const std::string& device_id, 42 const std::string& device_id,
41 const std::string& input_device_id) OVERRIDE; 43 const std::string& input_device_id) OVERRIDE;
42 virtual AudioInputStream* MakeLinearInputStream( 44 virtual AudioInputStream* MakeLinearInputStream(
43 const AudioParameters& params, const std::string& device_id) OVERRIDE; 45 const AudioParameters& params,
46 const std::string& device_id) OVERRIDE;
44 virtual AudioInputStream* MakeLowLatencyInputStream( 47 virtual AudioInputStream* MakeLowLatencyInputStream(
45 const AudioParameters& params, const std::string& device_id) OVERRIDE; 48 const AudioParameters& params,
49 const std::string& device_id) OVERRIDE;
46 50
47 static bool RegisterAudioManager(JNIEnv* env); 51 static bool RegisterAudioManager(JNIEnv* env);
48 52
49 protected: 53 protected:
50 virtual ~AudioManagerAndroid(); 54 virtual ~AudioManagerAndroid();
51 55
52 virtual AudioParameters GetPreferredOutputStreamParameters( 56 virtual AudioParameters GetPreferredOutputStreamParameters(
53 const std::string& output_device_id, 57 const std::string& output_device_id,
54 const AudioParameters& input_params) OVERRIDE; 58 const AudioParameters& input_params) OVERRIDE;
55 59
56 private: 60 private:
57 void SetAudioMode(int mode); 61 void SetAudioMode(int mode);
58 void RegisterHeadsetReceiver(); 62 void RegisterHeadsetReceiver();
59 void UnregisterHeadsetReceiver(); 63 void UnregisterHeadsetReceiver();
60 int GetNativeOutputSampleRate(); 64 int GetNativeOutputSampleRate();
61 bool IsAudioLowLatencySupported(); 65 bool IsAudioLowLatencySupported();
62 int GetAudioLowLatencyOutputFrameSize(); 66 int GetAudioLowLatencyOutputFrameSize();
63 int GetOptimalOutputFrameSize(int sample_rate, int channels); 67 int GetOptimalOutputFrameSize(int sample_rate, int channels);
64 68
69 // Allow the AudioAndroidTest to access private methods.
70 FRIEND_TEST_ALL_PREFIXES(AudioAndroidTest, IsAudioLowLatencySupported);
71
65 // Java AudioManager instance. 72 // Java AudioManager instance.
66 base::android::ScopedJavaGlobalRef<jobject> j_audio_manager_; 73 base::android::ScopedJavaGlobalRef<jobject> j_audio_manager_;
67 74
68 DISALLOW_COPY_AND_ASSIGN(AudioManagerAndroid); 75 DISALLOW_COPY_AND_ASSIGN(AudioManagerAndroid);
69 }; 76 };
70 77
71 } // namespace media 78 } // namespace media
72 79
73 #endif // MEDIA_AUDIO_ANDROID_AUDIO_MANAGER_ANDROID_H_ 80 #endif // MEDIA_AUDIO_ANDROID_AUDIO_MANAGER_ANDROID_H_
OLDNEW
« no previous file with comments | « media/audio/android/audio_android_unittest.cc ('k') | media/audio/android/opensles_input.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698