Loading libs/audioflinger/AudioFlinger.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -1553,7 +1553,6 @@ size_t AudioFlinger::MixerThread::getOutputFrameCount() AudioFlinger::MixerThread::TrackBase::TrackBase( const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, uint32_t sampleRate, int format, int channelCount, Loading @@ -1563,7 +1562,6 @@ AudioFlinger::MixerThread::TrackBase::TrackBase( : RefBase(), mMixerThread(mixerThread), mClient(client), mStreamType(streamType), mFrameCount(0), mState(IDLE), mClientTid(-1), Loading Loading @@ -1713,12 +1711,13 @@ AudioFlinger::MixerThread::Track::Track( int channelCount, int frameCount, const sp<IMemory>& sharedBuffer) : TrackBase(mixerThread, client, streamType, sampleRate, format, channelCount, frameCount, 0, sharedBuffer) : TrackBase(mixerThread, client, sampleRate, format, channelCount, frameCount, 0, sharedBuffer) { mVolume[0] = 1.0f; mVolume[1] = 1.0f; mMute = false; mSharedBuffer = sharedBuffer; mStreamType = streamType; } AudioFlinger::MixerThread::Track::~Track() Loading Loading @@ -1902,15 +1901,15 @@ void AudioFlinger::MixerThread::Track::setVolume(float left, float right) AudioFlinger::MixerThread::RecordTrack::RecordTrack( const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, int frameCount, uint32_t flags) : TrackBase(mixerThread, client, streamType, sampleRate, format, : TrackBase(mixerThread, client, sampleRate, format, channelCount, frameCount, flags, 0), mOverflow(false) mOverflow(false), mInputSource(inputSource) { } Loading Loading @@ -2235,7 +2234,7 @@ status_t AudioFlinger::TrackHandle::onTransact( sp<IAudioRecord> AudioFlinger::openRecord( pid_t pid, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, Loading @@ -2258,7 +2257,7 @@ sp<IAudioRecord> AudioFlinger::openRecord( goto Exit; } if (uint32_t(streamType) >= AudioRecord::NUM_STREAM_TYPES) { if (uint32_t(inputSource) >= AudioRecord::NUM_INPUT_SOURCES) { LOGE("invalid stream type"); lStatus = BAD_VALUE; goto Exit; Loading Loading @@ -2301,7 +2300,7 @@ sp<IAudioRecord> AudioFlinger::openRecord( frameCount = ((frameCount - 1)/inFrameCount + 1) * inFrameCount; // create new record track. The record track uses one track in mHardwareMixerThread by convention. recordTrack = new MixerThread::RecordTrack(mHardwareMixerThread, client, streamType, sampleRate, recordTrack = new MixerThread::RecordTrack(mHardwareMixerThread, client, inputSource, sampleRate, format, channelCount, frameCount, flags); } if (recordTrack->getCblk() == NULL) { Loading Loading @@ -2408,7 +2407,7 @@ bool AudioFlinger::AudioRecordThread::threadLoop() LOGV("AudioRecordThread: loop starting"); if (mRecordTrack != 0) { input = mAudioHardware->openInputStream( mRecordTrack->type(), mRecordTrack->inputSource(), mRecordTrack->format(), mRecordTrack->channelCount(), mRecordTrack->sampleRate(), Loading libs/audioflinger/AudioFlinger.h +11 −8 Original line number Diff line number Diff line Loading @@ -139,7 +139,7 @@ public: // record interface virtual sp<IAudioRecord> openRecord( pid_t pid, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, Loading Loading @@ -232,7 +232,6 @@ private: TrackBase(const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, uint32_t sampleRate, int format, int channelCount, Loading Loading @@ -260,10 +259,6 @@ private: return mCblk; } int type() const { return mStreamType; } int format() const { return mFormat; } Loading Loading @@ -293,7 +288,6 @@ private: sp<Client> mClient; sp<IMemory> mCblkMemory; audio_track_cblk_t* mCblk; int mStreamType; void* mBuffer; void* mBufferEnd; uint32_t mFrameCount; Loading Loading @@ -328,6 +322,11 @@ private: void mute(bool); void setVolume(float left, float right); int type() const { return mStreamType; } protected: friend class MixerThread; friend class AudioFlinger; Loading Loading @@ -364,6 +363,7 @@ private: int8_t mRetryCount; sp<IMemory> mSharedBuffer; bool mResetDone; int mStreamType; }; // end of Track // record track Loading @@ -371,7 +371,7 @@ private: public: RecordTrack(const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, Loading @@ -385,6 +385,8 @@ private: bool overflow() { bool tmp = mOverflow; mOverflow = false; return tmp; } bool setOverflow() { bool tmp = mOverflow; mOverflow = true; return tmp; } int inputSource() const { return mInputSource; } private: friend class AudioFlinger; friend class AudioFlinger::RecordHandle; Loading @@ -397,6 +399,7 @@ private: virtual status_t getNextBuffer(AudioBufferProvider::Buffer* buffer); bool mOverflow; int mInputSource; }; // playback track Loading libs/audioflinger/AudioHardwareGeneric.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -98,8 +98,8 @@ AudioStreamIn* AudioHardwareGeneric::openInputStream( status_t *status, AudioSystem::audio_in_acoustics acoustics) { // check for valid input source if ((inputSource != AudioRecord::DEFAULT_INPUT) && (inputSource != AudioRecord::MIC_INPUT)) { if ((inputSource < AudioRecord::DEFAULT_INPUT) || (inputSource >= AudioRecord::NUM_INPUT_SOURCES)) { return 0; } Loading libs/audioflinger/AudioHardwareStub.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -61,8 +61,8 @@ AudioStreamIn* AudioHardwareStub::openInputStream( status_t *status, AudioSystem::audio_in_acoustics acoustics) { // check for valid input source if ((inputSource != AudioRecord::DEFAULT_INPUT) && (inputSource != AudioRecord::MIC_INPUT)) { if ((inputSource < AudioRecord::DEFAULT_INPUT) || (inputSource >= AudioRecord::NUM_INPUT_SOURCES)) { return 0; } Loading Loading
libs/audioflinger/AudioFlinger.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -1553,7 +1553,6 @@ size_t AudioFlinger::MixerThread::getOutputFrameCount() AudioFlinger::MixerThread::TrackBase::TrackBase( const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, uint32_t sampleRate, int format, int channelCount, Loading @@ -1563,7 +1562,6 @@ AudioFlinger::MixerThread::TrackBase::TrackBase( : RefBase(), mMixerThread(mixerThread), mClient(client), mStreamType(streamType), mFrameCount(0), mState(IDLE), mClientTid(-1), Loading Loading @@ -1713,12 +1711,13 @@ AudioFlinger::MixerThread::Track::Track( int channelCount, int frameCount, const sp<IMemory>& sharedBuffer) : TrackBase(mixerThread, client, streamType, sampleRate, format, channelCount, frameCount, 0, sharedBuffer) : TrackBase(mixerThread, client, sampleRate, format, channelCount, frameCount, 0, sharedBuffer) { mVolume[0] = 1.0f; mVolume[1] = 1.0f; mMute = false; mSharedBuffer = sharedBuffer; mStreamType = streamType; } AudioFlinger::MixerThread::Track::~Track() Loading Loading @@ -1902,15 +1901,15 @@ void AudioFlinger::MixerThread::Track::setVolume(float left, float right) AudioFlinger::MixerThread::RecordTrack::RecordTrack( const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, int frameCount, uint32_t flags) : TrackBase(mixerThread, client, streamType, sampleRate, format, : TrackBase(mixerThread, client, sampleRate, format, channelCount, frameCount, flags, 0), mOverflow(false) mOverflow(false), mInputSource(inputSource) { } Loading Loading @@ -2235,7 +2234,7 @@ status_t AudioFlinger::TrackHandle::onTransact( sp<IAudioRecord> AudioFlinger::openRecord( pid_t pid, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, Loading @@ -2258,7 +2257,7 @@ sp<IAudioRecord> AudioFlinger::openRecord( goto Exit; } if (uint32_t(streamType) >= AudioRecord::NUM_STREAM_TYPES) { if (uint32_t(inputSource) >= AudioRecord::NUM_INPUT_SOURCES) { LOGE("invalid stream type"); lStatus = BAD_VALUE; goto Exit; Loading Loading @@ -2301,7 +2300,7 @@ sp<IAudioRecord> AudioFlinger::openRecord( frameCount = ((frameCount - 1)/inFrameCount + 1) * inFrameCount; // create new record track. The record track uses one track in mHardwareMixerThread by convention. recordTrack = new MixerThread::RecordTrack(mHardwareMixerThread, client, streamType, sampleRate, recordTrack = new MixerThread::RecordTrack(mHardwareMixerThread, client, inputSource, sampleRate, format, channelCount, frameCount, flags); } if (recordTrack->getCblk() == NULL) { Loading Loading @@ -2408,7 +2407,7 @@ bool AudioFlinger::AudioRecordThread::threadLoop() LOGV("AudioRecordThread: loop starting"); if (mRecordTrack != 0) { input = mAudioHardware->openInputStream( mRecordTrack->type(), mRecordTrack->inputSource(), mRecordTrack->format(), mRecordTrack->channelCount(), mRecordTrack->sampleRate(), Loading
libs/audioflinger/AudioFlinger.h +11 −8 Original line number Diff line number Diff line Loading @@ -139,7 +139,7 @@ public: // record interface virtual sp<IAudioRecord> openRecord( pid_t pid, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, Loading Loading @@ -232,7 +232,6 @@ private: TrackBase(const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, uint32_t sampleRate, int format, int channelCount, Loading Loading @@ -260,10 +259,6 @@ private: return mCblk; } int type() const { return mStreamType; } int format() const { return mFormat; } Loading Loading @@ -293,7 +288,6 @@ private: sp<Client> mClient; sp<IMemory> mCblkMemory; audio_track_cblk_t* mCblk; int mStreamType; void* mBuffer; void* mBufferEnd; uint32_t mFrameCount; Loading Loading @@ -328,6 +322,11 @@ private: void mute(bool); void setVolume(float left, float right); int type() const { return mStreamType; } protected: friend class MixerThread; friend class AudioFlinger; Loading Loading @@ -364,6 +363,7 @@ private: int8_t mRetryCount; sp<IMemory> mSharedBuffer; bool mResetDone; int mStreamType; }; // end of Track // record track Loading @@ -371,7 +371,7 @@ private: public: RecordTrack(const sp<MixerThread>& mixerThread, const sp<Client>& client, int streamType, int inputSource, uint32_t sampleRate, int format, int channelCount, Loading @@ -385,6 +385,8 @@ private: bool overflow() { bool tmp = mOverflow; mOverflow = false; return tmp; } bool setOverflow() { bool tmp = mOverflow; mOverflow = true; return tmp; } int inputSource() const { return mInputSource; } private: friend class AudioFlinger; friend class AudioFlinger::RecordHandle; Loading @@ -397,6 +399,7 @@ private: virtual status_t getNextBuffer(AudioBufferProvider::Buffer* buffer); bool mOverflow; int mInputSource; }; // playback track Loading
libs/audioflinger/AudioHardwareGeneric.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -98,8 +98,8 @@ AudioStreamIn* AudioHardwareGeneric::openInputStream( status_t *status, AudioSystem::audio_in_acoustics acoustics) { // check for valid input source if ((inputSource != AudioRecord::DEFAULT_INPUT) && (inputSource != AudioRecord::MIC_INPUT)) { if ((inputSource < AudioRecord::DEFAULT_INPUT) || (inputSource >= AudioRecord::NUM_INPUT_SOURCES)) { return 0; } Loading
libs/audioflinger/AudioHardwareStub.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -61,8 +61,8 @@ AudioStreamIn* AudioHardwareStub::openInputStream( status_t *status, AudioSystem::audio_in_acoustics acoustics) { // check for valid input source if ((inputSource != AudioRecord::DEFAULT_INPUT) && (inputSource != AudioRecord::MIC_INPUT)) { if ((inputSource < AudioRecord::DEFAULT_INPUT) || (inputSource >= AudioRecord::NUM_INPUT_SOURCES)) { return 0; } Loading