Loading services/audioflinger/AudioFlinger.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -1928,13 +1928,16 @@ audio_io_handle_t AudioFlinger::openOutput(audio_module_handle_t module, thread = new MixerThread(this, output, id, *pDevices); ALOGV("openOutput() created mixer output: ID %d thread %p", id, thread); } #ifdef QCOM_DIRECTTRACK if (thread != NULL) { #endif mPlaybackThreads.add(id, thread); #ifdef QCOM_DIRECTTRACK thread->mOutputFlags = flags; #endif } #endif if (pSamplingRate != NULL) { *pSamplingRate = config.sample_rate; } Loading @@ -1944,12 +1947,14 @@ audio_io_handle_t AudioFlinger::openOutput(audio_module_handle_t module, if (pChannelMask != NULL) { *pChannelMask = config.channel_mask; } #ifdef QCOM_DIRECTTRACK if (thread != NULL) { #endif if (pLatencyMs != NULL) *pLatencyMs = thread->latency(); // notify client processes of the new output creation thread->audioConfigChanged_l(AudioSystem::OUTPUT_OPENED); } #ifdef QCOM_DIRECTTRACK } else { *pLatencyMs = 0; if ((flags & AUDIO_OUTPUT_FLAG_LPA) || (flags & AUDIO_OUTPUT_FLAG_TUNNEL)) { Loading services/audioflinger/Threads.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -997,9 +997,8 @@ void AudioFlinger::ThreadBase::lockEffectChains_l( for (size_t i = 0; i < mEffectChains.size(); i++) { #ifdef QCOM_DIRECTTRACK if (mEffectChains[i] != mAudioFlinger->mLPAEffectChain) { #else mEffectChains[i]->lock(); #endif mEffectChains[i]->lock(); #ifdef QCOM_DIRECTTRACK } else { mAudioFlinger-> mAllChainsLocked = false; Loading Loading @@ -2489,9 +2488,11 @@ bool AudioFlinger::PlaybackThread::threadLoop() ssize_t ret = threadLoop_write(); if (ret < 0) { mBytesRemaining = 0; #ifdef QCOM_DIRECTTRACK } else if(ret > mBytesRemaining) { mBytesWritten += mBytesRemaining; mBytesRemaining = 0; #endif } else { mBytesWritten += ret; mBytesRemaining -= ret; Loading Loading @@ -4525,7 +4526,7 @@ void AudioFlinger::DuplicatingThread::addOutputTrack(MixerThread *thread) int sampleRate = thread->sampleRate(); size_t frameCount = 0; if (sampleRate) frameCount = (3 * mNormalFrameCount * mSampleRate) / thread->sampleRate(); frameCount = (3 * mNormalFrameCount * mSampleRate) / sampleRate; OutputTrack *outputTrack = new OutputTrack(thread, this, mSampleRate, Loading Loading
services/audioflinger/AudioFlinger.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -1928,13 +1928,16 @@ audio_io_handle_t AudioFlinger::openOutput(audio_module_handle_t module, thread = new MixerThread(this, output, id, *pDevices); ALOGV("openOutput() created mixer output: ID %d thread %p", id, thread); } #ifdef QCOM_DIRECTTRACK if (thread != NULL) { #endif mPlaybackThreads.add(id, thread); #ifdef QCOM_DIRECTTRACK thread->mOutputFlags = flags; #endif } #endif if (pSamplingRate != NULL) { *pSamplingRate = config.sample_rate; } Loading @@ -1944,12 +1947,14 @@ audio_io_handle_t AudioFlinger::openOutput(audio_module_handle_t module, if (pChannelMask != NULL) { *pChannelMask = config.channel_mask; } #ifdef QCOM_DIRECTTRACK if (thread != NULL) { #endif if (pLatencyMs != NULL) *pLatencyMs = thread->latency(); // notify client processes of the new output creation thread->audioConfigChanged_l(AudioSystem::OUTPUT_OPENED); } #ifdef QCOM_DIRECTTRACK } else { *pLatencyMs = 0; if ((flags & AUDIO_OUTPUT_FLAG_LPA) || (flags & AUDIO_OUTPUT_FLAG_TUNNEL)) { Loading
services/audioflinger/Threads.cpp +4 −3 Original line number Diff line number Diff line Loading @@ -997,9 +997,8 @@ void AudioFlinger::ThreadBase::lockEffectChains_l( for (size_t i = 0; i < mEffectChains.size(); i++) { #ifdef QCOM_DIRECTTRACK if (mEffectChains[i] != mAudioFlinger->mLPAEffectChain) { #else mEffectChains[i]->lock(); #endif mEffectChains[i]->lock(); #ifdef QCOM_DIRECTTRACK } else { mAudioFlinger-> mAllChainsLocked = false; Loading Loading @@ -2489,9 +2488,11 @@ bool AudioFlinger::PlaybackThread::threadLoop() ssize_t ret = threadLoop_write(); if (ret < 0) { mBytesRemaining = 0; #ifdef QCOM_DIRECTTRACK } else if(ret > mBytesRemaining) { mBytesWritten += mBytesRemaining; mBytesRemaining = 0; #endif } else { mBytesWritten += ret; mBytesRemaining -= ret; Loading Loading @@ -4525,7 +4526,7 @@ void AudioFlinger::DuplicatingThread::addOutputTrack(MixerThread *thread) int sampleRate = thread->sampleRate(); size_t frameCount = 0; if (sampleRate) frameCount = (3 * mNormalFrameCount * mSampleRate) / thread->sampleRate(); frameCount = (3 * mNormalFrameCount * mSampleRate) / sampleRate; OutputTrack *outputTrack = new OutputTrack(thread, this, mSampleRate, Loading