Merge change 1998 into donut

* changes:
  Add inputSource to openInputStream Continuation of bug 1846343
This commit is contained in:
Android (Google) Code Review
2009-05-20 07:14:32 -07:00
4 changed files with 51 additions and 3 deletions

View File

@@ -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;
}

View File

@@ -111,6 +111,14 @@ public:
uint32_t sampleRate=0,
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,

View File

@@ -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;

View File

@@ -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);