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

Commit 74d9de3b authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Promotion of audio-userspace.lnx.2.1-00043.

CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1086636   Iffff549af113662201ff4063a53ccc445bae234a   config: Add fm a2dp concurrency property
1086628   Ief418a864a6f776c4dea7b2e953df9497cbcb5d0   policy_hal: Add support to identify direct pcm client.
1084561   I1bd089114d7609bca0eb1c86f08ecc7bb86b8855   hal: Add check for all a2dp devices instead default a2dp
1080334   Ic078923694c63e496dd5c8d58323fb69ee5492da   hal: Fix a2dp mute issue on voice activation/music concu
1074469   Idcef6db3af50195c7c701219d38b4032e0347627   audio : Add g711 omx component for encoding

Change-Id: I0b1fbea0cc095e5eb0954e3bb856ad55d69fa2f5
CRs-Fixed: 1086636, 1074469, 1080334, 1086628, 1084561
parents d76c203a 67e70ff5
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -211,3 +211,6 @@ use.qti.sw.ape.decoder=true
PRODUCT_PROPERTY_OVERRIDES += \
qcom.hw.aac.encoder=true

#Disable FM a2dp concurrency
PRODUCT_PROPERTY_OVERRIDES += \
fm.a2dp.conc.disabled=true
+21 −0
Original line number Diff line number Diff line
@@ -751,6 +751,27 @@ void audio_extn_a2dp_set_parameters(struct str_parms *parms)
                if(a2dp.clear_a2dpsuspend_flag)
                    a2dp.clear_a2dpsuspend_flag();
                a2dp.a2dp_suspended = false;
                /*
                 * It is possible that before suspend,a2dp sessions can be active
                 * for example during music + voice activation concurrency
                 * a2dp suspend will be called & BT will change to sco mode
                 * though music is paused as a part of voice activation
                 * compress session close happens only after pause timeout(10secs)
                 * so if resume request comes before pause timeout as a2dp session
                 * is already active IPC start will not be called from APM/audio_hw
                 * Fix is to call a2dp start for IPC library post suspend
                 * based on number of active session count
                 */
                if (a2dp.a2dp_total_active_session_request > 0) {
                    ALOGD(" Calling IPC lib start post suspend state");
                    if(a2dp.audio_start_stream) {
                        ret =  a2dp.audio_start_stream();
                        if (ret != 0) {
                            ALOGE("BT controller start failed");
                            a2dp.a2dp_started = false;
                        }
                    }
                }
            }
        }
        goto param_handled;
+4 −4
Original line number Diff line number Diff line
@@ -1303,7 +1303,7 @@ static bool force_device_switch(struct audio_usecase *usecase)

    // Force all a2dp output devices to reconfigure for proper AFE encode format
    if((usecase->stream.out) &&
       (usecase->stream.out->devices & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP) &&
       (usecase->stream.out->devices & AUDIO_DEVICE_OUT_ALL_A2DP) &&
       audio_extn_a2dp_is_force_device_switch()) {
         ALOGD("Force a2dp device switch to update new encoder config");
         ret = true;
@@ -2469,14 +2469,14 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs)
         * (3sec). As BT is turned off, the write gets blocked.
         * Avoid this by routing audio to speaker until standby.
         */
        if ((out->devices & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP) &&
        if ((out->devices & AUDIO_DEVICE_OUT_ALL_A2DP) &&
                (val == AUDIO_DEVICE_NONE)) {
                val = AUDIO_DEVICE_OUT_SPEAKER;
        }
        /* To avoid a2dp to sco overlapping force route BT usecases
         * to speaker based on Phone state
         */
        if ((val & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP) &&
        if ((val & AUDIO_DEVICE_OUT_ALL_A2DP) &&
            ((adev->mode == AUDIO_MODE_RINGTONE) ||
            (adev->mode == AUDIO_MODE_IN_CALL))) {
            ALOGD("Forcing a2dp routing to speaker for ring/call mode");
@@ -4304,7 +4304,7 @@ static int adev_set_parameters(struct audio_hw_device *dev, const char *kvpairs)
        list_for_each(node, &adev->usecase_list) {
            usecase = node_to_item(node, struct audio_usecase, list);
            if ((usecase->type == PCM_PLAYBACK) &&
                (usecase->devices & AUDIO_DEVICE_OUT_BLUETOOTH_A2DP)){
                (usecase->devices & AUDIO_DEVICE_OUT_ALL_A2DP)){
                ALOGD("reconfigure a2dp... forcing device switch");
                lock_output_stream(usecase->stream.out);
                audio_extn_a2dp_set_handoff_mode(true);
+7 −0
Original line number Diff line number Diff line
ifneq ($(filter arm aarch64 arm64, $(TARGET_ARCH)),)

AENC_G7111_PATH:= $(call my-dir)

include $(AENC_G7111_PATH)/qdsp6/Android.mk

endif
+6 −0
Original line number Diff line number Diff line
all:
	@echo "invoking omxaudio make"
	$(MAKE) -C qdsp6

install:
	$(MAKE) -C qdsp6 install
Loading