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

Commit 69c09408 authored by Narsinga Rao Chella's avatar Narsinga Rao Chella Committed by Gerrit - the friendly Code Review server
Browse files

hal: fix routing issue for voip use case

During device switch, all the use cases on a shared backend will
be derouted before disabling the current device and rerouted after
enabling the new sound device. Rerouting of voip use cases
was not taken care properly which is fixed now.

Change-Id: I394c0d34fe36d42ce615414ea0524a58c10a5f79
parent a25a1fe5
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -346,8 +346,7 @@ static int enable_audio_route_for_voice_usecases(struct audio_device *adev,
       specified usecase to new snd devices */
    list_for_each(node, &adev->usecase_list) {
        usecase = node_to_item(node, struct audio_usecase, list);
        if ((usecase->type == VOICE_CALL || usecase->type == VOIP_CALL) &&
             (usecase != uc_info))
        if ((usecase->type == VOICE_CALL) && (usecase != uc_info))
            enable_audio_route(adev, usecase);
    }
    return 0;
@@ -623,7 +622,7 @@ static void check_usecases_codec_backend(struct audio_device *adev,
            /* Update the out_snd_device only before enabling the audio route */
            if (switch_device[usecase->id] ) {
                usecase->out_snd_device = snd_device;
                if (usecase->type != VOICE_CALL && usecase->type != VOIP_CALL)
                if (usecase->type != VOICE_CALL)
                    enable_audio_route(adev, usecase);
            }
        }
@@ -692,7 +691,7 @@ static void check_and_route_capture_usecases(struct audio_device *adev,
            /* Update the in_snd_device only before enabling the audio route */
            if (switch_device[usecase->id] ) {
                usecase->in_snd_device = snd_device;
                if (usecase->type != VOICE_CALL && usecase->type != VOIP_CALL)
                if (usecase->type != VOICE_CALL)
                    enable_audio_route(adev, usecase);
            }
        }