int bassboost_set_device(effect_context_t *context, uint32_t device) { bassboost_context_t *bass_ctxt = (bassboost_context_t *)context; ALOGV("%s: ctxt %p, device 0x%x", __func__, bass_ctxt, device); bass_ctxt->device = device; if((device == AUDIO_DEVICE_OUT_SPEAKER) || (device == AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT) || (device == AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER) || #ifdef AFE_PROXY_ENABLED (device == AUDIO_DEVICE_OUT_PROXY) || #endif (device == AUDIO_DEVICE_OUT_AUX_DIGITAL) || (device == AUDIO_DEVICE_OUT_USB_ACCESSORY) || (device == AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET)) { if (!bass_ctxt->temp_disabled) { if (effect_is_active(&bass_ctxt->common)) { offload_bassboost_set_enable_flag(&(bass_ctxt->offload_bass), false); if (bass_ctxt->ctl) offload_bassboost_send_params(bass_ctxt->ctl, &bass_ctxt->offload_bass, OFFLOAD_SEND_BASSBOOST_ENABLE_FLAG); if (bass_ctxt->hw_acc_fd > 0) hw_acc_bassboost_send_params(bass_ctxt->hw_acc_fd, &bass_ctxt->offload_bass, OFFLOAD_SEND_BASSBOOST_ENABLE_FLAG); } bass_ctxt->temp_disabled = true; } ALOGI("%s: ctxt %p, disabled based on device", __func__, bass_ctxt); } else { if (bass_ctxt->temp_disabled) { if (effect_is_active(&bass_ctxt->common)) { offload_bassboost_set_enable_flag(&(bass_ctxt->offload_bass), true); if (bass_ctxt->ctl) offload_bassboost_send_params(bass_ctxt->ctl, &bass_ctxt->offload_bass, OFFLOAD_SEND_BASSBOOST_ENABLE_FLAG); if (bass_ctxt->hw_acc_fd > 0) hw_acc_bassboost_send_params(bass_ctxt->hw_acc_fd, &bass_ctxt->offload_bass, OFFLOAD_SEND_BASSBOOST_ENABLE_FLAG); } bass_ctxt->temp_disabled = false; } } offload_bassboost_set_device(&(bass_ctxt->offload_bass), device); return 0; }
int virtualizer_set_device(effect_context_t *context, uint32_t device) { virtualizer_context_t *virt_ctxt = (virtualizer_context_t *)context; ALOGV("%s: ctxt %p, device: 0x%x", __func__, virt_ctxt, device); virt_ctxt->device = device; if((device == AUDIO_DEVICE_OUT_SPEAKER) || (device == AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT) || (device == AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER) || #ifdef AFE_PROXY_ENABLED (device == AUDIO_DEVICE_OUT_PROXY) || #endif (device == AUDIO_DEVICE_OUT_AUX_DIGITAL) || (device == AUDIO_DEVICE_OUT_USB_ACCESSORY) || (device == AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET)) { if (!virt_ctxt->temp_disabled) { if (effect_is_active(&virt_ctxt->common)) { offload_virtualizer_set_enable_flag(&(virt_ctxt->offload_virt), false); if (virt_ctxt->ctl) offload_virtualizer_send_params(virt_ctxt->ctl, virt_ctxt->offload_virt, OFFLOAD_SEND_VIRTUALIZER_ENABLE_FLAG); } virt_ctxt->temp_disabled = true; ALOGI("%s: ctxt %p, disabled based on device", __func__, virt_ctxt); } } else { if (virt_ctxt->temp_disabled) { if (effect_is_active(&virt_ctxt->common)) { offload_virtualizer_set_enable_flag(&(virt_ctxt->offload_virt), true); if (virt_ctxt->ctl) offload_virtualizer_send_params(virt_ctxt->ctl, virt_ctxt->offload_virt, OFFLOAD_SEND_VIRTUALIZER_ENABLE_FLAG); } virt_ctxt->temp_disabled = false; } } offload_virtualizer_set_device(&(virt_ctxt->offload_virt), device); return 0; }