Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 109f4983 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "post_proc: fix inconsistency in virtualizer state from set_strength...

Merge "post_proc: fix inconsistency in virtualizer state from set_strength call" into av-userspace.lnx.1.0-dev.1.0
parents 3dd5a4a5 f7026ef7
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ int virtualizer_set_strength(virtualizer_context_t *context, uint32_t strength)
     *  For better user experience, explicitly disable virtualizer module
     *  when strength is 0.
     */
    if (context->enabled_by_client)
        offload_virtualizer_set_enable_flag(&(context->offload_virt),
                                        ((strength > 0) && !(context->temp_disabled)) ?
                                        true : false);
@@ -139,8 +140,7 @@ int virtualizer_force_virtualization_mode(virtualizer_context_t *context,
    virtualizer_context_t *virt_ctxt = (virtualizer_context_t *)context;
    int status = 0;
    bool use_virt = false;
    int is_virt_enabled =
        offload_virtualizer_get_enable_flag(&(virt_ctxt->offload_virt));
    int is_virt_enabled = virt_ctxt->enabled_by_client;

    ALOGV("%s: ctxt %p, forcedDev=0x%x enabled=%d tmpDisabled=%d", __func__, virt_ctxt,
            forced_device, is_virt_enabled, virt_ctxt->temp_disabled);
@@ -400,7 +400,7 @@ int virtualizer_set_device(effect_context_t *context, uint32_t device)
        // default case unless configuration is forced
        if (virtualizer_is_device_supported(device) == false) {
            if (!virt_ctxt->temp_disabled) {
                if (effect_is_active(&virt_ctxt->common)) {
                if (effect_is_active(&virt_ctxt->common) && virt_ctxt->enabled_by_client) {
                    offload_virtualizer_set_enable_flag(&(virt_ctxt->offload_virt), false);
                    if (virt_ctxt->ctl)
                        offload_virtualizer_send_params(virt_ctxt->ctl,
@@ -416,7 +416,7 @@ int virtualizer_set_device(effect_context_t *context, uint32_t device)
            }
        } else {
            if (virt_ctxt->temp_disabled) {
                if (effect_is_active(&virt_ctxt->common)) {
                if (effect_is_active(&virt_ctxt->common) && virt_ctxt->enabled_by_client) {
                    offload_virtualizer_set_enable_flag(&(virt_ctxt->offload_virt), true);
                    if (virt_ctxt->ctl)
                        offload_virtualizer_send_params(virt_ctxt->ctl,
@@ -468,6 +468,7 @@ int virtualizer_init(effect_context_t *context)

    set_config(context, &context->config);

    virt_ctxt->enabled_by_client = false;
    virt_ctxt->temp_disabled = false;
    virt_ctxt->hw_acc_fd = -1;
    virt_ctxt->forced_device = AUDIO_DEVICE_NONE;
@@ -483,6 +484,7 @@ int virtualizer_enable(effect_context_t *context)

    ALOGV("%s: ctxt %p, strength %d", __func__, virt_ctxt, virt_ctxt->strength);

    virt_ctxt->enabled_by_client = true;
    if (!offload_virtualizer_get_enable_flag(&(virt_ctxt->offload_virt)) &&
        !(virt_ctxt->temp_disabled)) {
        offload_virtualizer_set_enable_flag(&(virt_ctxt->offload_virt), true);
@@ -505,6 +507,8 @@ int virtualizer_disable(effect_context_t *context)
    virtualizer_context_t *virt_ctxt = (virtualizer_context_t *)context;

    ALOGV("%s: ctxt %p", __func__, virt_ctxt);

    virt_ctxt->enabled_by_client = false;
    if (offload_virtualizer_get_enable_flag(&(virt_ctxt->offload_virt))) {
        offload_virtualizer_set_enable_flag(&(virt_ctxt->offload_virt), false);
        if (virt_ctxt->ctl)
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ typedef struct virtualizer_context_s {
    // Offload vars
    struct mixer_ctl *ctl;
    int hw_acc_fd;
    bool enabled_by_client;
    bool temp_disabled;
    audio_devices_t forced_device;
    audio_devices_t device;