diff options
author | Dave Sparks <davidsparks@android.com> | 2009-05-19 14:38:46 -0700 |
---|---|---|
committer | Dave Sparks <davidsparks@android.com> | 2009-05-19 14:38:46 -0700 |
commit | ad216e51b33c55634ec89d15e81e97cdffd08e1c (patch) | |
tree | 0b229e3ef580984f627a933d0c473750c7855dd6 /libs/audioflinger | |
parent | c3320dbe1c7acf040a3ec895129d8aae09c570ea (diff) | |
download | frameworks_base-ad216e51b33c55634ec89d15e81e97cdffd08e1c.zip frameworks_base-ad216e51b33c55634ec89d15e81e97cdffd08e1c.tar.gz frameworks_base-ad216e51b33c55634ec89d15e81e97cdffd08e1c.tar.bz2 |
Add inputSource to openInputStream
Continuation of bug 1846343
Diffstat (limited to 'libs/audioflinger')
-rw-r--r-- | libs/audioflinger/AudioHardwareGeneric.cpp | 20 | ||||
-rw-r--r-- | libs/audioflinger/AudioHardwareGeneric.h | 8 | ||||
-rw-r--r-- | libs/audioflinger/AudioHardwareStub.cpp | 18 | ||||
-rw-r--r-- | libs/audioflinger/AudioHardwareStub.h | 8 |
4 files changed, 51 insertions, 3 deletions
diff --git a/libs/audioflinger/AudioHardwareGeneric.cpp b/libs/audioflinger/AudioHardwareGeneric.cpp index 62beada..8b9a5a7 100644 --- a/libs/audioflinger/AudioHardwareGeneric.cpp +++ b/libs/audioflinger/AudioHardwareGeneric.cpp @@ -30,6 +30,7 @@ #include <utils/String8.h> #include "AudioHardwareGeneric.h" +#include <media/AudioRecord.h> namespace android { @@ -93,9 +94,15 @@ void AudioHardwareGeneric::closeOutputStream(AudioStreamOutGeneric* out) { } AudioStreamIn* AudioHardwareGeneric::openInputStream( - int format, int channelCount, uint32_t sampleRate, status_t *status, - AudioSystem::audio_in_acoustics acoustics) + int inputSource, int format, int channelCount, uint32_t sampleRate, + status_t *status, AudioSystem::audio_in_acoustics acoustics) { + // check for valid input source + if ((inputSource != AudioRecord::DEFAULT_INPUT) && + (inputSource != AudioRecord::MIC_INPUT)) { + return 0; + } + AutoMutex lock(mLock); // only one input stream allowed @@ -120,6 +127,15 @@ AudioStreamIn* AudioHardwareGeneric::openInputStream( return mInput; } +// DEPRECATED +AudioStreamIn* AudioHardwareGeneric::openInputStream( + int format, int channelCount, uint32_t sampleRate, status_t *status, + AudioSystem::audio_in_acoustics acoustic_flags) +{ + return openInputStream(AudioRecord::DEFAULT_INPUT, format, channelCount, + sampleRate, status, acoustic_flags); +} + void AudioHardwareGeneric::closeInputStream(AudioStreamInGeneric* in) { if (in == mInput) mInput = 0; } diff --git a/libs/audioflinger/AudioHardwareGeneric.h b/libs/audioflinger/AudioHardwareGeneric.h index c949aa1..adda385 100644 --- a/libs/audioflinger/AudioHardwareGeneric.h +++ b/libs/audioflinger/AudioHardwareGeneric.h @@ -112,6 +112,14 @@ public: status_t *status=0); virtual AudioStreamIn* openInputStream( + int inputSource, + int format, + int channelCount, + uint32_t sampleRate, + status_t *status, + AudioSystem::audio_in_acoustics acoustics); + + virtual AudioStreamIn* openInputStream( int format, int channelCount, uint32_t sampleRate, diff --git a/libs/audioflinger/AudioHardwareStub.cpp b/libs/audioflinger/AudioHardwareStub.cpp index b13cb1c..7159b0b 100644 --- a/libs/audioflinger/AudioHardwareStub.cpp +++ b/libs/audioflinger/AudioHardwareStub.cpp @@ -23,6 +23,7 @@ #include <utils/String8.h> #include "AudioHardwareStub.h" +#include <media/AudioRecord.h> namespace android { @@ -56,9 +57,15 @@ AudioStreamOut* AudioHardwareStub::openOutputStream( } AudioStreamIn* AudioHardwareStub::openInputStream( - int format, int channelCount, uint32_t sampleRate, + int inputSource, int format, int channelCount, uint32_t sampleRate, status_t *status, AudioSystem::audio_in_acoustics acoustics) { + // check for valid input source + if ((inputSource != AudioRecord::DEFAULT_INPUT) && + (inputSource != AudioRecord::MIC_INPUT)) { + return 0; + } + AudioStreamInStub* in = new AudioStreamInStub(); status_t lStatus = in->set(format, channelCount, sampleRate, acoustics); if (status) { @@ -70,6 +77,15 @@ AudioStreamIn* AudioHardwareStub::openInputStream( return 0; } +// DEPRECATED +AudioStreamIn* AudioHardwareStub::openInputStream( + int format, int channelCount, uint32_t sampleRate, status_t *status, + AudioSystem::audio_in_acoustics acoustic_flags) +{ + return openInputStream(AudioRecord::DEFAULT_INPUT, format, channelCount, + sampleRate, status, acoustic_flags); +} + status_t AudioHardwareStub::setVoiceVolume(float volume) { return NO_ERROR; diff --git a/libs/audioflinger/AudioHardwareStub.h b/libs/audioflinger/AudioHardwareStub.h index d406424..6c52728 100644 --- a/libs/audioflinger/AudioHardwareStub.h +++ b/libs/audioflinger/AudioHardwareStub.h @@ -84,6 +84,14 @@ public: status_t *status, AudioSystem::audio_in_acoustics acoustics); + virtual AudioStreamIn* openInputStream( + int inputSource, + int format, + int channelCount, + uint32_t sampleRate, + status_t *status, + AudioSystem::audio_in_acoustics acoustics); + protected: virtual status_t doRouting() { return NO_ERROR; } virtual status_t dump(int fd, const Vector<String16>& args); |