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

Commit a688a81f authored by Kogara Naveen Kumar's avatar Kogara Naveen Kumar
Browse files

audio-hal: Fix for the Voip TX usecase getting muted

Fix for the Voip TX usecases getting muted issue due to adding of
support for low latency playback and capture with 8k, 16k, 24k, 32k
sampling rates.

Change-Id: Ie20998ebb8d2709e84cf18bd3e560ae00072888d
parent c2e9de7a
Loading
Loading
Loading
Loading

hal/audio_hw.c

100755 → 100644
+20 −25
Original line number Diff line number Diff line
@@ -10001,7 +10001,26 @@ static int adev_open_input_stream(struct audio_hw_device *dev,
        in->config.rate = config->sample_rate;
        in->af_period_multiplier = 1;
    } else if (in->realtime) {
        in->config = pcm_config_audio_capture_rt;
        switch(config->sample_rate)
        {
            case 48000:
                in->config = pcm_config_audio_capture_rt_48KHz;
                break;
            case 32000:
                in->config = pcm_config_audio_capture_rt_32KHz;
                break;
            case 24000:
                in->config = pcm_config_audio_capture_rt_24KHz;
                break;
            case 16000:
                in->config = pcm_config_audio_capture_rt_16KHz;
                break;
            case 8000:
                in->config = pcm_config_audio_capture_rt_8KHz;
                break;
            default:
                in->config = pcm_config_audio_capture_rt_48KHz;
        }
        in->config.format = pcm_format_from_audio_format(config->format);
        in->af_period_multiplier = af_period_multiplier;
    } else {
@@ -10090,30 +10109,6 @@ static int adev_open_input_stream(struct audio_hw_device *dev,
            }
        }
    }
    if (in->realtime) {
        switch(config->sample_rate)
        {
            case 48000:
                in->config = pcm_config_audio_capture_rt_48KHz;
                break;
            case 32000:
                in->config = pcm_config_audio_capture_rt_32KHz;
                break;
            case 24000:
                in->config = pcm_config_audio_capture_rt_24KHz;
                break;
            case 16000:
                in->config = pcm_config_audio_capture_rt_16KHz;
                break;
            case 8000:
                in->config = pcm_config_audio_capture_rt_8KHz;
                break;
            default:
                in->config = pcm_config_audio_capture_rt_48KHz;
        }
        in->config.format = pcm_format_from_audio_format(config->format);
        in->af_period_multiplier = af_period_multiplier;
    }

    if (audio_extn_ssr_get_stream() != in)
        in->config.channels = channel_count;