summaryrefslogtreecommitdiffstats
path: root/libs/audioflinger
diff options
context:
space:
mode:
authorDave Sparks <davidsparks@android.com>2009-05-19 14:38:46 -0700
committerDave Sparks <davidsparks@android.com>2009-05-19 14:38:46 -0700
commitad216e51b33c55634ec89d15e81e97cdffd08e1c (patch)
tree0b229e3ef580984f627a933d0c473750c7855dd6 /libs/audioflinger
parentc3320dbe1c7acf040a3ec895129d8aae09c570ea (diff)
downloadframeworks_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.cpp20
-rw-r--r--libs/audioflinger/AudioHardwareGeneric.h8
-rw-r--r--libs/audioflinger/AudioHardwareStub.cpp18
-rw-r--r--libs/audioflinger/AudioHardwareStub.h8
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);