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

Commit 5501ffa8 authored by Venkata Narendra Kumar Gutta's avatar Venkata Narendra Kumar Gutta Committed by Gerrit - the friendly Code Review server
Browse files

hal: Fix ANR if In-Call recording is started at end of voice call

Sometimes ANR is observed, if In-call recording is started at the
end of voice call.
Incorrect use case "afe-proxy-record" is being picked up in this
case as voice call is not active by the time audio HAL starts
the input stream, thus resulting in pcm device open failures.
Fix this by rejecting start input request if voice call is not
active by the time input is started.

CRs-Fixed: 810997
Change-Id: I8a9d0789cf37f5523de5d1da5e9fda59198eb901
parent 198d2188
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -260,6 +260,18 @@ int voice_check_and_set_incall_rec_usecase(struct audio_device *adev,
                                                       session_id, rec_mode);
        ALOGV("%s: Update usecase to %d",__func__, in->usecase);
    } else {
        /*
         * Reject the recording instances, where the recording is started
         * with In-call voice recording source types but voice call is not
         * active by the time input is started
         */
        if ((in->source == AUDIO_SOURCE_VOICE_UPLINK) ||
            (in->source == AUDIO_SOURCE_VOICE_DOWNLINK) ||
            (in->source == AUDIO_SOURCE_VOICE_CALL)) {
            ret = -EINVAL;
            ALOGE("%s: As voice call is not active, Incall rec usecase can't be \
                   selected for requested source:%d",__func__, in->source);
        }
        ALOGV("%s: voice call not active", __func__);
    }