Merge pull request #68 from jusa/jb40147

Fix voicecall record with certain devices.
This commit is contained in:
Juho Hämäläinen 2017-10-24 10:35:48 +03:00 committed by GitHub
commit 18154fa18a
2 changed files with 11 additions and 3 deletions

View file

@ -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])

View file

@ -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
}