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

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

Merge "hal: Use usecase stream when audio source is Echo Ref"

parents 7f23f2ed 727dd6b1
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -165,6 +165,10 @@
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                </mixPort>
                </mixPort>
                <mixPort name="echo_ref" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
                </mixPort>
            </mixPorts>
            </mixPorts>
            <devicePorts>
            <devicePorts>
                <devicePort tagName="Media Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
                <devicePort tagName="Media Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
@@ -316,7 +320,9 @@
                <route type="mix" sink="Telephony Tx"
                <route type="mix" sink="Telephony Tx"
                       sources="voice_tx,incall_music_uplink"/>
                       sources="voice_tx,incall_music_uplink"/>
                <route type="mix" sink="primary input"
                <route type="mix" sink="primary input"
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,Primary In Bus,Front Passenger In Bus,Rear Seat In Bus,Echo Reference"/>
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic,Primary In Bus,Front Passenger In Bus,Rear Seat In Bus"/>
                <route type="mix" sink="echo_ref"
                       sources="Echo Reference"/>
                <route type="mix" sink="fast input"
                <route type="mix" sink="fast input"
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
                <route type="mix" sink="voice_rx"
                <route type="mix" sink="voice_rx"
+7 −1
Original line number Original line Diff line number Diff line
@@ -239,6 +239,10 @@
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                </mixPort>
                </mixPort>
                <mixPort name="echo_ref" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
                </mixPort>
            </mixPorts>
            </mixPorts>


            <devicePorts>
            <devicePorts>
@@ -469,7 +473,9 @@
                <route type="mix" sink="voice_rx"
                <route type="mix" sink="voice_rx"
                       sources="Telephony Rx"/>
                       sources="Telephony Rx"/>
                <route type="mix" sink="primary input"
                <route type="mix" sink="primary input"
                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,Echo Reference"/>
                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
                <route type="mix" sink="echo_ref"
                       sources="Echo Reference"/>
                <route type="mix" sink="voip_tx"
                <route type="mix" sink="voip_tx"
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
                <route type="mix" sink="record_24"
                <route type="mix" sink="record_24"
+7 −1
Original line number Original line Diff line number Diff line
@@ -239,6 +239,10 @@
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                             samplingRates="8000,16000,32000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                </mixPort>
                </mixPort>
                <mixPort name="echo_ref" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
                </mixPort>
            </mixPorts>
            </mixPorts>


            <devicePorts>
            <devicePorts>
@@ -469,7 +473,9 @@
                <route type="mix" sink="voice_rx"
                <route type="mix" sink="voice_rx"
                       sources="Telephony Rx"/>
                       sources="Telephony Rx"/>
                <route type="mix" sink="primary input"
                <route type="mix" sink="primary input"
                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx,Echo Reference"/>
                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
                <route type="mix" sink="echo_ref"
                       sources="Echo Reference"/>
                <route type="mix" sink="voip_tx"
                <route type="mix" sink="voip_tx"
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
                       sources="Built-In Mic,Built-In Back Mic,BT SCO Headset Mic"/>
                <route type="mix" sink="record_24"
                <route type="mix" sink="record_24"
+15 −1
Original line number Original line Diff line number Diff line
@@ -6134,6 +6134,9 @@ typedef snd_device_t (*auto_hal_get_snd_device_for_car_audio_stream_t)(int
                                car_audio_stream);
                                car_audio_stream);
static auto_hal_get_snd_device_for_car_audio_stream_t auto_hal_get_snd_device_for_car_audio_stream;
static auto_hal_get_snd_device_for_car_audio_stream_t auto_hal_get_snd_device_for_car_audio_stream;


typedef bool (*auto_hal_overwrite_priority_for_auto_t)(struct stream_in*);
static auto_hal_overwrite_priority_for_auto_t auto_hal_overwrite_priority_for_auto;

int auto_hal_feature_init(bool is_feature_enabled)
int auto_hal_feature_init(bool is_feature_enabled)
{
{
    ALOGD("%s: Called with feature %s", __func__,
    ALOGD("%s: Called with feature %s", __func__,
@@ -6195,7 +6198,10 @@ int auto_hal_feature_init(bool is_feature_enabled)
                            auto_hal_lib_handle, "auto_hal_get_output_snd_device")) ||
                            auto_hal_lib_handle, "auto_hal_get_output_snd_device")) ||
            !(auto_hal_get_snd_device_for_car_audio_stream =
            !(auto_hal_get_snd_device_for_car_audio_stream =
                 (auto_hal_get_snd_device_for_car_audio_stream_t)dlsym(
                 (auto_hal_get_snd_device_for_car_audio_stream_t)dlsym(
                            auto_hal_lib_handle, "auto_hal_get_snd_device_for_car_audio_stream"))) {
                            auto_hal_lib_handle, "auto_hal_get_snd_device_for_car_audio_stream")) ||
            !(auto_hal_overwrite_priority_for_auto =
                 (auto_hal_overwrite_priority_for_auto_t)dlsym(
                            auto_hal_lib_handle, "auto_hal_overwrite_priority_for_auto"))) {
            ALOGE("%s: dlsym failed", __func__);
            ALOGE("%s: dlsym failed", __func__);
            goto feature_disabled;
            goto feature_disabled;
        }
        }
@@ -6226,6 +6232,7 @@ feature_disabled:
    auto_hal_get_input_snd_device = NULL;
    auto_hal_get_input_snd_device = NULL;
    auto_hal_get_output_snd_device = NULL;
    auto_hal_get_output_snd_device = NULL;
    auto_hal_get_snd_device_for_car_audio_stream = NULL;
    auto_hal_get_snd_device_for_car_audio_stream = NULL;
    auto_hal_overwrite_priority_for_auto = NULL;


    ALOGW(":: %s: ---- Feature AUTO_HAL is disabled ----", __func__);
    ALOGW(":: %s: ---- Feature AUTO_HAL is disabled ----", __func__);
    return -ENOSYS;
    return -ENOSYS;
@@ -6366,6 +6373,13 @@ snd_device_t audio_extn_auto_hal_get_snd_device_for_car_audio_stream(int car_aud
    return ((auto_hal_get_snd_device_for_car_audio_stream) ?
    return ((auto_hal_get_snd_device_for_car_audio_stream) ?
                            auto_hal_get_snd_device_for_car_audio_stream(car_audio_stream): SND_DEVICE_NONE);
                            auto_hal_get_snd_device_for_car_audio_stream(car_audio_stream): SND_DEVICE_NONE);
}
}

bool audio_extn_auto_hal_overwrite_priority_for_auto(struct stream_in *in)
{
    return ((auto_hal_overwrite_priority_for_auto) ?
                            auto_hal_overwrite_priority_for_auto(in): false);
}

// END: AUTO_HAL ===================================================================
// END: AUTO_HAL ===================================================================


// START: Synth ======================================================================
// START: Synth ======================================================================
+1 −0
Original line number Original line Diff line number Diff line
@@ -1374,6 +1374,7 @@ int audio_extn_auto_hal_get_car_audio_stream_from_address(const char *address);
int audio_extn_auto_hal_open_output_stream(struct stream_out *out);
int audio_extn_auto_hal_open_output_stream(struct stream_out *out);
int audio_extn_auto_hal_open_input_stream(struct stream_in *in);
int audio_extn_auto_hal_open_input_stream(struct stream_in *in);
int audio_extn_auto_hal_open_echo_reference_stream(struct stream_in *in);
int audio_extn_auto_hal_open_echo_reference_stream(struct stream_in *in);
bool audio_extn_auto_hal_overwrite_priority_for_auto(struct stream_in *in);
bool audio_extn_auto_hal_is_bus_device_usecase(audio_usecase_t uc_id);
bool audio_extn_auto_hal_is_bus_device_usecase(audio_usecase_t uc_id);
int audio_extn_auto_hal_get_audio_port(struct audio_hw_device *dev,
int audio_extn_auto_hal_get_audio_port(struct audio_hw_device *dev,
                                struct audio_port *config);
                                struct audio_port *config);
Loading