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

Commit a586b71d authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge " hal: Fix mismatch in acdb configs for SWB"

parents 5056a3b9 fbb3ebcd
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -287,6 +287,7 @@ typedef enum {
// --- external function dependency ---
fp_platform_get_pcm_device_id_t fp_platform_get_pcm_device_id;
fp_check_a2dp_restore_t fp_check_a2dp_restore_l;
fp_platform_switch_voice_call_device_post_t fp_platform_switch_voice_call_device_post;

/* PCM config for ABR Feedback hostless front end */
static struct pcm_config pcm_config_abr = {
@@ -3387,6 +3388,8 @@ void a2dp_init(void *adev,
  fp_platform_get_pcm_device_id =
              init_config.fp_platform_get_pcm_device_id;
  fp_check_a2dp_restore_l = init_config.fp_check_a2dp_restore_l;
  fp_platform_switch_voice_call_device_post =
                init_config.fp_platform_switch_voice_call_device_post;

  reset_a2dp_enc_config_params();
  reset_a2dp_source_dec_config_params();
@@ -3567,6 +3570,12 @@ int sco_start_configuration()
    ALOGD("sco_start_configuration start");

    if (!a2dp.swb_configured) {
        /*Before starting sco config, we must ensure to set correct acdb id
         because sco cofiguration will trigger port open which needs acdb_id*/
         fp_platform_switch_voice_call_device_post(a2dp.adev->platform,
                                            SND_DEVICE_OUT_BT_SCO_SWB,
                                            SND_DEVICE_IN_BT_SCO_MIC_SWB);

        a2dp.bt_encoder_format = CODEC_TYPE_APTX_AD_SPEECH;
        /* Configure AFE codec*/
        if (configure_aptx_ad_speech_enc_fmt() &&
+1 −0
Original line number Diff line number Diff line
@@ -4751,6 +4751,7 @@ void audio_extn_a2dp_init(void *adev)
        a2dp_offload_init_config_t a2dp_init_config;
        a2dp_init_config.fp_platform_get_pcm_device_id = platform_get_pcm_device_id;
        a2dp_init_config.fp_check_a2dp_restore_l = check_a2dp_restore_l;
        a2dp_init_config.fp_platform_switch_voice_call_device_post = platform_switch_voice_call_device_post;

        a2dp_init(adev, a2dp_init_config);
    }
+4 −0
Original line number Diff line number Diff line
@@ -161,6 +161,9 @@ typedef int (*fp_platform_get_default_app_type_v2_t)(void *, usecase_type_t);
typedef int (*fp_platform_send_audio_calibration_t)(void *, struct audio_usecase *,
                                                   int);
typedef int (*fp_platform_get_pcm_device_id_t)(audio_usecase_t, int);
typedef int (*fp_platform_switch_voice_call_device_post_t)(void *platform,
                                           snd_device_t out_snd_device,
                                           snd_device_t in_snd_device);
typedef const char *(*fp_platform_get_snd_device_name_t)(snd_device_t);
typedef int (*fp_platform_spkr_prot_is_wsa_analog_mode_t)(void *);
typedef int (*fp_platform_get_snd_device_t)(snd_device_t);
@@ -338,6 +341,7 @@ typedef int (*fp_check_a2dp_restore_t)(struct audio_device *,
struct a2dp_offload_init_config {
    fp_platform_get_pcm_device_id_t fp_platform_get_pcm_device_id;
    fp_check_a2dp_restore_t fp_check_a2dp_restore_l;
    fp_platform_switch_voice_call_device_post_t fp_platform_switch_voice_call_device_post;
};
typedef struct a2dp_offload_init_config a2dp_offload_init_config_t;
// END: A2DP_OFFLOAD FEATURE ====================================================