Loading media/libmedia/AudioRecord.cpp +0 −4 Original line number Diff line number Diff line Loading @@ -167,10 +167,6 @@ status_t AudioRecord::set( return INVALID_OPERATION; } // handle default values first. if (inputSource == AUDIO_SOURCE_DEFAULT) { inputSource = AUDIO_SOURCE_MIC; } if (pAttributes == NULL) { memset(&mAttributes, 0, sizeof(audio_attributes_t)); mAttributes.source = inputSource; Loading services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp +13 −6 Original line number Diff line number Diff line Loading @@ -241,14 +241,21 @@ status_t AudioPolicyService::getInputForAttr(const audio_attributes_t *attr, if (mpAudioPolicy == NULL) { return NO_INIT; } audio_source_t inputSource = attr->source; // already checked by client, but double-check in case the client wrapper is bypassed if (attr->source >= AUDIO_SOURCE_CNT && attr->source != AUDIO_SOURCE_HOTWORD && attr->source != AUDIO_SOURCE_FM_TUNER) { if (inputSource >= AUDIO_SOURCE_CNT && inputSource != AUDIO_SOURCE_HOTWORD && inputSource != AUDIO_SOURCE_FM_TUNER) { return BAD_VALUE; } if (((attr->source == AUDIO_SOURCE_HOTWORD) && !captureHotwordAllowed()) || ((attr->source == AUDIO_SOURCE_FM_TUNER) && !captureFmTunerAllowed())) { if (inputSource == AUDIO_SOURCE_DEFAULT) { inputSource = AUDIO_SOURCE_MIC; } if (((inputSource == AUDIO_SOURCE_HOTWORD) && !captureHotwordAllowed()) || ((inputSource == AUDIO_SOURCE_FM_TUNER) && !captureFmTunerAllowed())) { return BAD_VALUE; } Loading @@ -256,7 +263,7 @@ status_t AudioPolicyService::getInputForAttr(const audio_attributes_t *attr, { Mutex::Autolock _l(mLock); // the audio_in_acoustics_t parameter is ignored by get_input() *input = mpAudioPolicy->get_input(mpAudioPolicy, attr->source, samplingRate, *input = mpAudioPolicy->get_input(mpAudioPolicy, inputSource, samplingRate, format, channelMask, (audio_in_acoustics_t) 0); audioPolicyEffects = mAudioPolicyEffects; } Loading @@ -266,7 +273,7 @@ status_t AudioPolicyService::getInputForAttr(const audio_attributes_t *attr, if (audioPolicyEffects != 0) { // create audio pre processors according to input source status_t status = audioPolicyEffects->addInputEffects(*input, attr->source, session); status_t status = audioPolicyEffects->addInputEffects(*input, inputSource, session); if (status != NO_ERROR && status != ALREADY_EXISTS) { ALOGW("Failed to add effects on input %d", input); } Loading services/audiopolicy/AudioPolicyManager.cpp +13 −7 Original line number Diff line number Diff line Loading @@ -1440,10 +1440,16 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, // handle legacy remote submix case where the address was not always specified String8 address = String8(""); bool isSoundTrigger = false; audio_source_t halInputSource = attr->source; audio_source_t inputSource = attr->source; audio_source_t halInputSource; AudioMix *policyMix = NULL; if (attr->source == AUDIO_SOURCE_REMOTE_SUBMIX && if (inputSource == AUDIO_SOURCE_DEFAULT) { inputSource = AUDIO_SOURCE_MIC; } halInputSource = inputSource; if (inputSource == AUDIO_SOURCE_REMOTE_SUBMIX && strncmp(attr->tags, "addr=", strlen("addr=")) == 0) { device = AUDIO_DEVICE_IN_REMOTE_SUBMIX; address = String8(attr->tags + strlen("addr=")); Loading @@ -1459,9 +1465,9 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, policyMix = &mPolicyMixes[index]->mMix; *inputType = API_INPUT_MIX_EXT_POLICY_REROUTE; } else { device = getDeviceAndMixForInputSource(attr->source, &policyMix); device = getDeviceAndMixForInputSource(inputSource, &policyMix); if (device == AUDIO_DEVICE_NONE) { ALOGW("getInputForAttr() could not find device for source %d", attr->source); ALOGW("getInputForAttr() could not find device for source %d", inputSource); return BAD_VALUE; } if (policyMix != NULL) { Loading @@ -1483,7 +1489,7 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, *inputType = API_INPUT_LEGACY; } // adapt channel selection to input source switch (attr->source) { switch (inputSource) { case AUDIO_SOURCE_VOICE_UPLINK: channelMask = AUDIO_CHANNEL_IN_VOICE_UPLINK; break; Loading @@ -1496,7 +1502,7 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, default: break; } if (attr->source == AUDIO_SOURCE_HOTWORD) { if (inputSource == AUDIO_SOURCE_HOTWORD) { ssize_t index = mSoundTriggerSessions.indexOfKey(session); if (index >= 0) { *input = mSoundTriggerSessions.valueFor(session); Loading Loading @@ -1559,7 +1565,7 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, } sp<AudioInputDescriptor> inputDesc = new AudioInputDescriptor(profile); inputDesc->mInputSource = attr->source; inputDesc->mInputSource = inputSource; inputDesc->mRefCount = 0; inputDesc->mOpenRefCount = 1; inputDesc->mSamplingRate = samplingRate; Loading Loading
media/libmedia/AudioRecord.cpp +0 −4 Original line number Diff line number Diff line Loading @@ -167,10 +167,6 @@ status_t AudioRecord::set( return INVALID_OPERATION; } // handle default values first. if (inputSource == AUDIO_SOURCE_DEFAULT) { inputSource = AUDIO_SOURCE_MIC; } if (pAttributes == NULL) { memset(&mAttributes, 0, sizeof(audio_attributes_t)); mAttributes.source = inputSource; Loading
services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp +13 −6 Original line number Diff line number Diff line Loading @@ -241,14 +241,21 @@ status_t AudioPolicyService::getInputForAttr(const audio_attributes_t *attr, if (mpAudioPolicy == NULL) { return NO_INIT; } audio_source_t inputSource = attr->source; // already checked by client, but double-check in case the client wrapper is bypassed if (attr->source >= AUDIO_SOURCE_CNT && attr->source != AUDIO_SOURCE_HOTWORD && attr->source != AUDIO_SOURCE_FM_TUNER) { if (inputSource >= AUDIO_SOURCE_CNT && inputSource != AUDIO_SOURCE_HOTWORD && inputSource != AUDIO_SOURCE_FM_TUNER) { return BAD_VALUE; } if (((attr->source == AUDIO_SOURCE_HOTWORD) && !captureHotwordAllowed()) || ((attr->source == AUDIO_SOURCE_FM_TUNER) && !captureFmTunerAllowed())) { if (inputSource == AUDIO_SOURCE_DEFAULT) { inputSource = AUDIO_SOURCE_MIC; } if (((inputSource == AUDIO_SOURCE_HOTWORD) && !captureHotwordAllowed()) || ((inputSource == AUDIO_SOURCE_FM_TUNER) && !captureFmTunerAllowed())) { return BAD_VALUE; } Loading @@ -256,7 +263,7 @@ status_t AudioPolicyService::getInputForAttr(const audio_attributes_t *attr, { Mutex::Autolock _l(mLock); // the audio_in_acoustics_t parameter is ignored by get_input() *input = mpAudioPolicy->get_input(mpAudioPolicy, attr->source, samplingRate, *input = mpAudioPolicy->get_input(mpAudioPolicy, inputSource, samplingRate, format, channelMask, (audio_in_acoustics_t) 0); audioPolicyEffects = mAudioPolicyEffects; } Loading @@ -266,7 +273,7 @@ status_t AudioPolicyService::getInputForAttr(const audio_attributes_t *attr, if (audioPolicyEffects != 0) { // create audio pre processors according to input source status_t status = audioPolicyEffects->addInputEffects(*input, attr->source, session); status_t status = audioPolicyEffects->addInputEffects(*input, inputSource, session); if (status != NO_ERROR && status != ALREADY_EXISTS) { ALOGW("Failed to add effects on input %d", input); } Loading
services/audiopolicy/AudioPolicyManager.cpp +13 −7 Original line number Diff line number Diff line Loading @@ -1440,10 +1440,16 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, // handle legacy remote submix case where the address was not always specified String8 address = String8(""); bool isSoundTrigger = false; audio_source_t halInputSource = attr->source; audio_source_t inputSource = attr->source; audio_source_t halInputSource; AudioMix *policyMix = NULL; if (attr->source == AUDIO_SOURCE_REMOTE_SUBMIX && if (inputSource == AUDIO_SOURCE_DEFAULT) { inputSource = AUDIO_SOURCE_MIC; } halInputSource = inputSource; if (inputSource == AUDIO_SOURCE_REMOTE_SUBMIX && strncmp(attr->tags, "addr=", strlen("addr=")) == 0) { device = AUDIO_DEVICE_IN_REMOTE_SUBMIX; address = String8(attr->tags + strlen("addr=")); Loading @@ -1459,9 +1465,9 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, policyMix = &mPolicyMixes[index]->mMix; *inputType = API_INPUT_MIX_EXT_POLICY_REROUTE; } else { device = getDeviceAndMixForInputSource(attr->source, &policyMix); device = getDeviceAndMixForInputSource(inputSource, &policyMix); if (device == AUDIO_DEVICE_NONE) { ALOGW("getInputForAttr() could not find device for source %d", attr->source); ALOGW("getInputForAttr() could not find device for source %d", inputSource); return BAD_VALUE; } if (policyMix != NULL) { Loading @@ -1483,7 +1489,7 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, *inputType = API_INPUT_LEGACY; } // adapt channel selection to input source switch (attr->source) { switch (inputSource) { case AUDIO_SOURCE_VOICE_UPLINK: channelMask = AUDIO_CHANNEL_IN_VOICE_UPLINK; break; Loading @@ -1496,7 +1502,7 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, default: break; } if (attr->source == AUDIO_SOURCE_HOTWORD) { if (inputSource == AUDIO_SOURCE_HOTWORD) { ssize_t index = mSoundTriggerSessions.indexOfKey(session); if (index >= 0) { *input = mSoundTriggerSessions.valueFor(session); Loading Loading @@ -1559,7 +1565,7 @@ status_t AudioPolicyManager::getInputForAttr(const audio_attributes_t *attr, } sp<AudioInputDescriptor> inputDesc = new AudioInputDescriptor(profile); inputDesc->mInputSource = attr->source; inputDesc->mInputSource = inputSource; inputDesc->mRefCount = 0; inputDesc->mOpenRefCount = 1; inputDesc->mSamplingRate = samplingRate; Loading