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

Commit 61e3b42b authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Promotion of av-userspace.lnx.2.0-00013.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1001383   I303d31d244864cb8852ef084eff86b71ba0643b7   hal: Code clean up for audio extension
1009390   Ia520cde0a4eba7c916100b7eb113577605ee216f   hal: Update backend match function for sub string match
1005434   I9801c8e5e66c5be35ecf21e07301d97475aba0a5   hal: msm8974: Add support to reload ACDB files
975118   Ic949aeeefb9fc113db826e273a89ecdf7d44c2da   hal: Update to make code more reliable
1021960   I7bfa3cd3516c37404570a61586eff0a4e419fb25   hal: fix no audio in fm playback usecase
1019755   Iacef2c5c8fbfe29564189f52622f666020933758   hal: Support the independent back-end for different devi

Change-Id: Ie5b2c446fa6b0a9bd68ec108bfc7713c20bfac61
CRs-Fixed: 1021960, 975118, 1009390, 1019755, 1005434, 1001383
parents a9635468 eda85aa1
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -67,5 +67,15 @@
        <!-- followed by perf lock options                             -->
        <param key="perf_lock_opts" value="4, 0x101, 0x704, 0x20F, 0x1E01"/>
    </config_params>
    <backend_names>
        <device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_LINE" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="SLIMBUS_0_RX-and-SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_LINE" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
        <device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
    </backend_names>
</audio_platform_info>
+187 −80

File changed.

Preview size limit exceeded, changes collapsed.

+24 −10
Original line number Diff line number Diff line
@@ -260,6 +260,12 @@ static int parse_soundfocus_sourcetracking_keys(struct str_parms *parms)
    int ret = 0, err;
    char *kv_pairs = str_parms_to_str(parms);

    if(kv_pairs == NULL) {
        ret = -ENOMEM;
        ALOGE("[%s] key-value pair is NULL",__func__);
        goto done;
    }

    ALOGV_IF(kv_pairs != NULL, "%s: enter: %s", __func__, kv_pairs);

    len = strlen(kv_pairs);
@@ -321,6 +327,7 @@ static int parse_soundfocus_sourcetracking_keys(struct str_parms *parms)
    }

done:
    if (kv_pairs)
        free(kv_pairs);
    if(value != NULL)
        free(value);
@@ -441,8 +448,8 @@ static void send_soundfocus_sourcetracking_params(struct str_parms *reply,
            if ((i >=4) && (sound_focus_data.start_angle[i] == 0xFFFF))
                continue;
            if (i)
                snprintf(value + strlen(value), MAX_STR_SIZE, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE, "%d", sound_focus_data.start_angle[i]);
                snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, "%d", sound_focus_data.start_angle[i]);
        }
        str_parms_add_str(reply, AUDIO_PARAMETER_KEY_SOUND_FOCUS_START_ANGLES, value);
    }
@@ -453,8 +460,8 @@ static void send_soundfocus_sourcetracking_params(struct str_parms *reply,
            if ((i >=4) && (sound_focus_data.enable[i] == 0xFF))
                continue;
            if (i)
                snprintf(value + strlen(value), MAX_STR_SIZE, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE, "%d", sound_focus_data.enable[i]);
                snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, "%d", sound_focus_data.enable[i]);
        }
        str_parms_add_str(reply, AUDIO_PARAMETER_KEY_SOUND_FOCUS_ENABLE_SECTORS, value);
    }
@@ -468,8 +475,8 @@ static void send_soundfocus_sourcetracking_params(struct str_parms *reply,
            if ((i >=4) && (source_tracking_data.vad[i] == 0xFF))
                continue;
            if (i)
                snprintf(value + strlen(value), MAX_STR_SIZE, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE, "%d", source_tracking_data.vad[i]);
                snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, "%d", source_tracking_data.vad[i]);
        }
        str_parms_add_str(reply, AUDIO_PARAMETER_KEY_SOURCE_TRACK_VAD, value);
    }
@@ -488,8 +495,8 @@ static void send_soundfocus_sourcetracking_params(struct str_parms *reply,
    if (bitmask & BITMASK_AUDIO_PARAMETER_KEY_SOURCE_TRACK_POLAR_ACTIVITY) {
        for (i = 0; i < 360; i++) {
            if (i)
                snprintf(value + strlen(value), MAX_STR_SIZE, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE, "%d", source_tracking_data.polar_activity[i]);
                snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, ",");
            snprintf(value + strlen(value), MAX_STR_SIZE - strlen(value) - 1, "%d", source_tracking_data.polar_activity[i]);
        }
        str_parms_add_str(reply, AUDIO_PARAMETER_KEY_SOURCE_TRACK_POLAR_ACTIVITY, value);
    }
@@ -527,6 +534,12 @@ void audio_extn_source_track_set_parameters(struct audio_device *adev,
    char *value = NULL;
    char *kv_pairs = str_parms_to_str(parms);

    if(kv_pairs == NULL) {
        ret = -ENOMEM;
        ALOGE("[%s] key-value pair is NULL",__func__);
        goto done;
    }

    len = strlen(kv_pairs);
    value = (char*)calloc(len, sizeof(char));
    if(value == NULL) {
@@ -631,6 +644,7 @@ void audio_extn_source_track_set_parameters(struct audio_device *adev,
    }

done:
    if (kv_pairs)
        free(kv_pairs);
    if(value != NULL)
        free(value);
+6 −3
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@
#define WSA_ANALOG_MODE_CHANNELS 2

#define MAX_PATH             (256)
#define MAX_STR_SIZE         (1024)
#define THERMAL_SYSFS "/sys/class/thermal"
#define TZ_TYPE "/sys/class/thermal/thermal_zone%d/type"
#define TZ_WSA "/sys/class/thermal/thermal_zone%d/temp"
@@ -965,7 +966,8 @@ static void get_spkr_prot_thermal_cal(char *param)
        ALOGE("%s: failed to open cal file\n", __func__);
        status = -EINVAL;
    }
    sprintf(param, "SpkrCalStatus: %d; R0: %lf, %lf; T0: %lf, %lf",
    snprintf(param, MAX_STR_SIZE - strlen(param) - 1,
            "SpkrCalStatus: %d; R0: %lf, %lf; T0: %lf, %lf",
            status, dr0[SP_V2_SPKR_1], dr0[SP_V2_SPKR_2],
            dt0[SP_V2_SPKR_1], dt0[SP_V2_SPKR_2]);
    ALOGD("%s:: param = %s\n", __func__, param);
@@ -1089,7 +1091,8 @@ static void get_spkr_prot_ftm_param(char *param)
            ftm_status[i] = -EINVAL;
        }
    }
    sprintf(param, "SpkrParamStatus: %d, %d; Rdc: %lf, %lf; Temp: %lf, %lf;"
    snprintf(param, MAX_STR_SIZE - strlen(param) - 1,
            "SpkrParamStatus: %d, %d; Rdc: %lf, %lf; Temp: %lf, %lf;"
            " Freq: %lf, %lf; Rect: %lf, %lf; Qmct: %lf, %lf",
            ftm_status[SP_V2_SPKR_1], ftm_status[SP_V2_SPKR_2],
            rdc[SP_V2_SPKR_1], rdc[SP_V2_SPKR_2], temp[SP_V2_SPKR_1],
@@ -1219,7 +1222,7 @@ int audio_extn_fbsp_get_parameters(struct str_parms *query,
                                   struct str_parms *reply)
{
    int err = 0;
    char value[1024] = {0};
    char value[MAX_STR_SIZE] = {0};

    if (!handle.spkr_prot_enable) {
        ALOGD("%s: Speaker protection disabled", __func__);
+1 −1
Original line number Diff line number Diff line
@@ -2000,7 +2000,7 @@ bool platform_check_backends_match(snd_device_t snd_device1, snd_device_t snd_de
    const char * be_itf2 = hw_interface_table[snd_device2];

    if (NULL != be_itf1 && NULL != be_itf2) {
        if (0 != strcmp(be_itf1, be_itf2))
        if ((NULL == strstr(be_itf2, be_itf1)) && (NULL == strstr(be_itf1, be_itf2)))
            result = false;
    } else if (NULL == be_itf1 && NULL != be_itf2) {
            result = false;
Loading