diff options
author | James Dong <jdong@google.com> | 2010-06-17 11:25:19 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-06-17 11:25:19 -0700 |
commit | 8fb4e091bc62b15bec2c05adcb50429bb76f1b28 (patch) | |
tree | 921cc62608fa8f494489e8acfef44e769408991d /media | |
parent | 78d26445a7dfe8f49d7005185f28b01cffe80adf (diff) | |
parent | be6ec71af2d12e2a55f2f0b1b77d3fa5d593a1c7 (diff) | |
download | frameworks_av-8fb4e091bc62b15bec2c05adcb50429bb76f1b28.zip frameworks_av-8fb4e091bc62b15bec2c05adcb50429bb76f1b28.tar.gz frameworks_av-8fb4e091bc62b15bec2c05adcb50429bb76f1b28.tar.bz2 |
Merge "Remove hard-coded number of audio channels in AudioSource" into gingerbread
Diffstat (limited to 'media')
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 2 | ||||
-rw-r--r-- | media/libstagefright/AudioSource.cpp | 18 |
2 files changed, 15 insertions, 5 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index a7ccce4..9b30d1f 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -440,7 +440,7 @@ sp<MediaSource> StagefrightRecorder::createAudioSource() { new AudioSource( mAudioSource, mSampleRate, - AudioSystem::CHANNEL_IN_MONO); + mAudioChannels); status_t err = audioSource->initCheck(); diff --git a/media/libstagefright/AudioSource.cpp b/media/libstagefright/AudioSource.cpp index 9717aa6..d6020a6 100644 --- a/media/libstagefright/AudioSource.cpp +++ b/media/libstagefright/AudioSource.cpp @@ -33,15 +33,25 @@ namespace android { AudioSource::AudioSource( int inputSource, uint32_t sampleRate, uint32_t channels) - : mRecord(new AudioRecord( - inputSource, sampleRate, AudioSystem::PCM_16_BIT, channels)), - mInitCheck(mRecord->initCheck()), - mStarted(false), + : mStarted(false), mCollectStats(false), mTotalReadTimeUs(0), mTotalReadBytes(0), mTotalReads(0), mGroup(NULL) { + + LOGV("sampleRate: %d, channels: %d", sampleRate, channels); + uint32_t flags = AudioRecord::RECORD_AGC_ENABLE | + AudioRecord::RECORD_NS_ENABLE | + AudioRecord::RECORD_IIR_ENABLE; + + mRecord = new AudioRecord( + inputSource, sampleRate, AudioSystem::PCM_16_BIT, + channels > 1? AudioSystem::CHANNEL_IN_STEREO: AudioSystem::CHANNEL_IN_MONO, + 4 * kMaxBufferSize / sizeof(int16_t), /* Enable ping-pong buffers */ + flags); + + mInitCheck = mRecord->initCheck(); } AudioSource::~AudioSource() { |