Merge change 1998 into donut
* changes: Add inputSource to openInputStream Continuation of bug 1846343
This commit is contained in:
@@ -30,6 +30,7 @@
|
|||||||
#include <utils/String8.h>
|
#include <utils/String8.h>
|
||||||
|
|
||||||
#include "AudioHardwareGeneric.h"
|
#include "AudioHardwareGeneric.h"
|
||||||
|
#include <media/AudioRecord.h>
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
@@ -93,9 +94,15 @@ void AudioHardwareGeneric::closeOutputStream(AudioStreamOutGeneric* out) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
AudioStreamIn* AudioHardwareGeneric::openInputStream(
|
AudioStreamIn* AudioHardwareGeneric::openInputStream(
|
||||||
int format, int channelCount, uint32_t sampleRate, status_t *status,
|
int inputSource, int format, int channelCount, uint32_t sampleRate,
|
||||||
AudioSystem::audio_in_acoustics acoustics)
|
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);
|
AutoMutex lock(mLock);
|
||||||
|
|
||||||
// only one input stream allowed
|
// only one input stream allowed
|
||||||
@@ -120,6 +127,15 @@ AudioStreamIn* AudioHardwareGeneric::openInputStream(
|
|||||||
return mInput;
|
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) {
|
void AudioHardwareGeneric::closeInputStream(AudioStreamInGeneric* in) {
|
||||||
if (in == mInput) mInput = 0;
|
if (in == mInput) mInput = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,6 +111,14 @@ public:
|
|||||||
uint32_t sampleRate=0,
|
uint32_t sampleRate=0,
|
||||||
status_t *status=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(
|
virtual AudioStreamIn* openInputStream(
|
||||||
int format,
|
int format,
|
||||||
int channelCount,
|
int channelCount,
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
#include <utils/String8.h>
|
#include <utils/String8.h>
|
||||||
|
|
||||||
#include "AudioHardwareStub.h"
|
#include "AudioHardwareStub.h"
|
||||||
|
#include <media/AudioRecord.h>
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
@@ -56,9 +57,15 @@ AudioStreamOut* AudioHardwareStub::openOutputStream(
|
|||||||
}
|
}
|
||||||
|
|
||||||
AudioStreamIn* AudioHardwareStub::openInputStream(
|
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)
|
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();
|
AudioStreamInStub* in = new AudioStreamInStub();
|
||||||
status_t lStatus = in->set(format, channelCount, sampleRate, acoustics);
|
status_t lStatus = in->set(format, channelCount, sampleRate, acoustics);
|
||||||
if (status) {
|
if (status) {
|
||||||
@@ -70,6 +77,15 @@ AudioStreamIn* AudioHardwareStub::openInputStream(
|
|||||||
return 0;
|
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)
|
status_t AudioHardwareStub::setVoiceVolume(float volume)
|
||||||
{
|
{
|
||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
|
|||||||
@@ -84,6 +84,14 @@ public:
|
|||||||
status_t *status,
|
status_t *status,
|
||||||
AudioSystem::audio_in_acoustics acoustics);
|
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:
|
protected:
|
||||||
virtual status_t doRouting() { return NO_ERROR; }
|
virtual status_t doRouting() { return NO_ERROR; }
|
||||||
virtual status_t dump(int fd, const Vector<String16>& args);
|
virtual status_t dump(int fd, const Vector<String16>& args);
|
||||||
|
|||||||
Reference in New Issue
Block a user