diff --git a/configure.ac b/configure.ac index 194fe95..1284ea9 100644 --- a/configure.ac +++ b/configure.ac @@ -250,6 +250,8 @@ CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_CHANNEL_OUT_SURROUND]) CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_CHANNEL_OUT_5POINT1_BACK]) CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_CHANNEL_OUT_5POINT1_SIDE]) CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_CHANNEL_IN_VOICE_CALL_MONO]) +CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_CHANNEL_IN_VOICE_UPLINK]) +CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_CHANNEL_IN_VOICE_DNLINK]) # Formats CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_FORMAT_PCM_OFFLOAD]) diff --git a/src/common/droid-util.c b/src/common/droid-util.c index 280e218..4509d03 100644 --- a/src/common/droid-util.c +++ b/src/common/droid-util.c @@ -1973,17 +1973,23 @@ static bool stream_config_fill(audio_devices_t devices, } if (voicecall_record) { - pa_channel_map_init_mono(channel_map); - sample_spec->channels = 1; /* Only allow recording both downlink and uplink. */ #if defined(QCOM_HARDWARE) + pa_channel_map_init_mono(channel_map); + sample_spec->channels = 1; #if (ANDROID_VERSION_MAJOR <= 4) && defined(HAVE_ENUM_AUDIO_CHANNEL_IN_VOICE_CALL_MONO) hal_channel_mask = AUDIO_CHANNEL_IN_VOICE_CALL_MONO; #else hal_channel_mask = AUDIO_CHANNEL_IN_MONO; #endif -#else +#elif defined(HAVE_ENUM_AUDIO_CHANNEL_IN_VOICE_UPLINK) && defined(HAVE_ENUM_AUDIO_CHANNEL_IN_VOICE_DNLINK) + pa_channel_map_init_stereo(channel_map); + sample_spec->channels = 2; hal_channel_mask = AUDIO_CHANNEL_IN_VOICE_UPLINK | AUDIO_CHANNEL_IN_VOICE_DNLINK; +#else + pa_channel_map_init_mono(channel_map); + sample_spec->channels = 1; + hal_channel_mask = AUDIO_CHANNEL_IN_MONO; #endif }