[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<service name="tar_git">
<param name="url">https://github.com/mer-hybris/pulseaudio-modules-droid.git</param>
<param name="branch">master</param>
- <param name="revision">HEAD</param>
+ <param name="revision">e28d1e22d3b0963e457e4fa45b952536ca415c9e</param>
<param name="token"/>
<param name="debian"/>
<param name="dumb"/>
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/configure.ac
^
|
@@ -187,73 +187,6 @@
AC_SUBST(DBUS_CFLAGS)
AC_SUBST(DBUS_LIBS)
-# Output devices
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_HDMI])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_HDMI_ARC])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_TELEPHONY_TX])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_LINE])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_SPDIF])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_AUX_LINE])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_SPEAKER_SAFE])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_FM])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_FM_TX])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_ANC_HEADSET])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_ANC_HEADPHONE])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_PROXY])
-# Added in 6.0
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_OUT_IP])
-
-# Input devices
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_HDMI])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_TELEPHONY_RX])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_FM_TUNER])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_TV_TUNER])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_LINE])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_SPDIF])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_BLUETOOTH_A2DP])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_LOOPBACK])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_PROXY])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_FM_RX])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_FM_RX_A2DP])
-# Added in 6.0
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_DEVICE_IN_IP])
-
-# Audio sources
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_SOURCE_FM_TUNER])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_SOURCE_FM_RX])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_SOURCE_FM_RX_A2DP])
-
-# Output flags
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_NON_BLOCKING])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_HW_AV_SYNC])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_VOIP_RX])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_INCALL_MUSIC])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_COMPRESS_PASSTHROUGH])
-# Added in 6.0
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_TTS])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_RAW])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_SYNC])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_OUTPUT_FLAG_IEC958_NONAUDIO])
-
-# Input flags
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_INPUT_FLAG_NONE])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_INPUT_FLAG_FAST])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_INPUT_FLAG_HW_HOTWORD])
-# Added in 6.0
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_INPUT_FLAG_RAW])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_INPUT_FLAG_SYNC])
-
-# Channels
-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])
-
-# Formats
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_FORMAT_PCM_OFFLOAD])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_FORMAT_FLAC])
-CC_CHECK_DROID_ENUM([${DROIDHEADERS_CFLAGS}], [AUDIO_FORMAT_OPUS])
-
AC_ARG_WITH([module-dir],
AS_HELP_STRING([--with-module-dir],[Directory where to install the modules to (defaults to ${pulseaudiodir}/lib/pulse-${PA_MAJORMINOR}/modules/]),
[modlibexecdir=$withval], [modlibexecdir="${pulseaudiodir}/lib/pulse-${PA_MAJORMINOR}/modules"])
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/src/common/droid-util-41qc.h
^
|
@@ -22,6 +22,8 @@
#ifndef _ANDROID_UTIL_V412_H_
#define _ANDROID_UTIL_V412_H_
+#define DROID_HAL 1
+
#ifdef DROID_DEVICE_SBJ
#define QCOM_HARDWARE
#endif
|
[-]
[+]
|
Added |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/src/common/droid-util-42.h
^
|
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2013 Jolla Ltd.
+ *
+ * Contact: Juho Hämäläinen <juho.hamalainen@tieto.com>
+ *
+ * These PulseAudio Modules are free software; you can redistribute
+ * it and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA.
+ */
+
+#ifndef _ANDROID_UTIL_V42_H_
+#define _ANDROID_UTIL_V42_H_
+
+#define DROID_HAL 2
+
+#include <hardware/audio.h>
+#include <hardware_legacy/audio_policy_conf.h>
+
+// PulseAudio value - Android value
+
+uint32_t conversion_table_output_channel[][2] = {
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_OUT_MONO },
+ { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_OUT_FRONT_LEFT },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_OUT_FRONT_RIGHT},
+ { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_OUT_FRONT_CENTER },
+ { PA_CHANNEL_POSITION_SUBWOOFER, AUDIO_CHANNEL_OUT_LOW_FREQUENCY },
+ { PA_CHANNEL_POSITION_REAR_LEFT, AUDIO_CHANNEL_OUT_BACK_LEFT },
+ { PA_CHANNEL_POSITION_REAR_RIGHT, AUDIO_CHANNEL_OUT_BACK_RIGHT },
+ { PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER },
+ { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_OUT_BACK_CENTER },
+ { PA_CHANNEL_POSITION_SIDE_LEFT, AUDIO_CHANNEL_OUT_SIDE_LEFT },
+ { PA_CHANNEL_POSITION_SIDE_RIGHT, AUDIO_CHANNEL_OUT_SIDE_RIGHT },
+ { PA_CHANNEL_POSITION_TOP_CENTER, AUDIO_CHANNEL_OUT_TOP_CENTER },
+ { PA_CHANNEL_POSITION_TOP_FRONT_LEFT, AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT },
+ { PA_CHANNEL_POSITION_TOP_FRONT_CENTER, AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER },
+ { PA_CHANNEL_POSITION_TOP_FRONT_RIGHT, AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT },
+ { PA_CHANNEL_POSITION_TOP_REAR_LEFT, AUDIO_CHANNEL_OUT_TOP_BACK_LEFT },
+ { PA_CHANNEL_POSITION_TOP_REAR_CENTER, AUDIO_CHANNEL_OUT_TOP_BACK_CENTER },
+ { PA_CHANNEL_POSITION_TOP_REAR_RIGHT, AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT }
+};
+
+uint32_t conversion_table_input_channel[][2] = {
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_MONO },
+ { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_IN_LEFT },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_IN_RIGHT},
+ { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_IN_FRONT },
+ { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_IN_BACK },
+ /* Following are missing suitable counterparts on PulseAudio side. */
+ { AUDIO_CHANNEL_IN_LEFT_PROCESSED, AUDIO_CHANNEL_IN_LEFT_PROCESSED },
+ { AUDIO_CHANNEL_IN_RIGHT_PROCESSED, AUDIO_CHANNEL_IN_RIGHT_PROCESSED },
+ { AUDIO_CHANNEL_IN_FRONT_PROCESSED, AUDIO_CHANNEL_IN_FRONT_PROCESSED },
+ { AUDIO_CHANNEL_IN_BACK_PROCESSED, AUDIO_CHANNEL_IN_BACK_PROCESSED },
+ { AUDIO_CHANNEL_IN_PRESSURE, AUDIO_CHANNEL_IN_PRESSURE },
+ { AUDIO_CHANNEL_IN_X_AXIS, AUDIO_CHANNEL_IN_X_AXIS },
+ { AUDIO_CHANNEL_IN_Y_AXIS, AUDIO_CHANNEL_IN_Y_AXIS },
+ { AUDIO_CHANNEL_IN_Z_AXIS, AUDIO_CHANNEL_IN_Z_AXIS },
+ { AUDIO_CHANNEL_IN_VOICE_UPLINK, AUDIO_CHANNEL_IN_VOICE_UPLINK },
+ { AUDIO_CHANNEL_IN_VOICE_DNLINK, AUDIO_CHANNEL_IN_VOICE_DNLINK }
+};
+
+uint32_t conversion_table_format[][2] = {
+ { PA_SAMPLE_U8, AUDIO_FORMAT_PCM_8_BIT },
+ { PA_SAMPLE_S16LE, AUDIO_FORMAT_PCM_16_BIT },
+ { PA_SAMPLE_S32LE, AUDIO_FORMAT_PCM_32_BIT },
+ { PA_SAMPLE_S24LE, AUDIO_FORMAT_PCM_8_24_BIT }
+};
+
+uint32_t conversion_table_default_audio_source[][2] = {
+ { AUDIO_DEVICE_IN_ALL, AUDIO_SOURCE_DEFAULT }
+};
+
+struct string_conversion {
+ uint32_t value;
+ const char *str;
+};
+
+#if defined(STRING_ENTRY)
+#error STRING_ENTRY already defined somewhere, fix this lib.
+#endif
+#define STRING_ENTRY(str) { str, #str }
+/* Output devices */
+struct string_conversion string_conversion_table_output_device[] = {
+ STRING_ENTRY(AUDIO_DEVICE_OUT_EARPIECE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_SPEAKER),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_WIRED_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_WIRED_HEADPHONE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_AUX_DIGITAL),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_USB_ACCESSORY),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_USB_DEVICE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_REMOTE_SUBMIX),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_DEFAULT),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_A2DP),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_SCO),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_USB),
+ { 0, NULL }
+};
+
+struct string_conversion string_conversion_table_output_device_fancy[] = {
+ { AUDIO_DEVICE_OUT_EARPIECE, "output-earpiece" },
+ { AUDIO_DEVICE_OUT_SPEAKER, "output-speaker" },
+ { AUDIO_DEVICE_OUT_SPEAKER
+ | AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-speaker+wired_headphone" },
+ { AUDIO_DEVICE_OUT_WIRED_HEADSET, "output-wired_headset" },
+ { AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-wired_headphone" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO, "output-bluetooth_sco" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET, "output-sco_headset" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT, "output-sco_carkit" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP, "output-a2dp" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, "output-a2dp_headphones" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, "output-a2dp_speaker" },
+ { AUDIO_DEVICE_OUT_AUX_DIGITAL, "output-aux_digital" },
+ { AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET, "output-analog_dock_headset" },
+ { AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET, "output-digital_dock_headset" },
+ { AUDIO_DEVICE_OUT_USB_ACCESSORY, "output-usb_accessory" },
+ { AUDIO_DEVICE_OUT_USB_DEVICE, "output-usb_device" },
+ { AUDIO_DEVICE_OUT_REMOTE_SUBMIX, "output-remote_submix" },
+ { 0, NULL }
+};
+
+/* Input devices */
+struct string_conversion string_conversion_table_input_device[] = {
+ STRING_ENTRY(AUDIO_DEVICE_IN_COMMUNICATION),
+ STRING_ENTRY(AUDIO_DEVICE_IN_AMBIENT),
+ STRING_ENTRY(AUDIO_DEVICE_IN_BUILTIN_MIC),
+ STRING_ENTRY(AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_WIRED_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_AUX_DIGITAL),
+ STRING_ENTRY(AUDIO_DEVICE_IN_VOICE_CALL),
+ STRING_ENTRY(AUDIO_DEVICE_IN_BACK_MIC),
+ STRING_ENTRY(AUDIO_DEVICE_IN_REMOTE_SUBMIX),
+ STRING_ENTRY(AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_USB_ACCESSORY),
+ STRING_ENTRY(AUDIO_DEVICE_IN_USB_DEVICE),
+ STRING_ENTRY(AUDIO_DEVICE_IN_DEFAULT),
+ /* Combination entries consisting of multiple devices defined above.
+ * These don't require counterpart in string_conversion_table_input_device_fancy. */
+ STRING_ENTRY(AUDIO_DEVICE_IN_ALL),
+ STRING_ENTRY(AUDIO_DEVICE_IN_ALL_SCO),
+ { 0, NULL }
+};
+
+struct string_conversion string_conversion_table_input_device_fancy[] = {
+ { AUDIO_DEVICE_IN_COMMUNICATION, "input-communication" },
+ { AUDIO_DEVICE_IN_AMBIENT, "input-ambient" },
+ { AUDIO_DEVICE_IN_BUILTIN_MIC, "input-builtin_mic" },
+ { AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, "input-bluetooth_sco_headset" },
+ { AUDIO_DEVICE_IN_WIRED_HEADSET, "input-wired_headset" },
+ { AUDIO_DEVICE_IN_AUX_DIGITAL, "input-aux_digital" },
+ { AUDIO_DEVICE_IN_VOICE_CALL, "input-voice_call" },
+ { AUDIO_DEVICE_IN_BACK_MIC, "input-back_mic" },
+ { AUDIO_DEVICE_IN_REMOTE_SUBMIX, "input-remote_submix" },
+ { AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET, "input-analog_dock_headset" },
+ { AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET, "input-digital_dock_headset" },
+ { AUDIO_DEVICE_IN_USB_ACCESSORY, "input-usb_accessory" },
+ { AUDIO_DEVICE_IN_USB_DEVICE, "input-usb_device" },
+ { AUDIO_DEVICE_IN_DEFAULT, "input-default" },
+ { 0, NULL }
+};
+
+struct string_conversion string_conversion_table_audio_source_fancy[] = {
+ { AUDIO_SOURCE_DEFAULT, "default" },
+ { AUDIO_SOURCE_MIC, "mic" },
+ { AUDIO_SOURCE_VOICE_UPLINK, "voice uplink" },
+ { AUDIO_SOURCE_VOICE_DOWNLINK, "voice downlink" },
+ { AUDIO_SOURCE_VOICE_CALL, "voice call" },
+ { AUDIO_SOURCE_CAMCORDER, "camcorder" },
+ { AUDIO_SOURCE_VOICE_RECOGNITION, "voice recognition" },
+ { AUDIO_SOURCE_VOICE_COMMUNICATION, "voice communication" },
+ { AUDIO_SOURCE_REMOTE_SUBMIX, "remote submix" },
+#ifdef QCOM_HARDWARE
+ { AUDIO_SOURCE_FM_RX, "fm rx" },
+ { AUDIO_SOURCE_FM_RX_A2DP, "fm rx a2dp" },
+#endif
+ { (uint32_t)-1, NULL }
+};
+
+/* Flags */
|
[-]
[+]
|
Added |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/src/common/droid-util-44.h
^
|
@@ -0,0 +1,358 @@
+/*
+ * Copyright (C) 2013 Jolla Ltd.
+ *
+ * Contact: Juho Hämäläinen <juho.hamalainen@tieto.com>
+ *
+ * These PulseAudio Modules are free software; you can redistribute
+ * it and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA.
+ */
+
+#ifndef _ANDROID_UTIL_V44_H_
+#define _ANDROID_UTIL_V44_H_
+
+#define DROID_HAL 2
+
+// Android v4.4 has SPEAKER_DRC_ENABLED_TAG, so might the future versions
+#define DROID_HAVE_DRC
+
+// Until we implement MER_HA_CHIPSET in hw-release, every non-Qualcomm ARM
+// device will need to have an exception below (just like i9305).
+// This decision is based on the trend of Q3/Q4 2014 that most devices ported
+// to 4.4 via hybris are Qualcomm ones.
+// TODO: things elegantly
+#if defined(__arm__) && !defined(DROID_DEVICE_I9305)
+#define QCOM_HARDWARE
+#endif
+
+#include <hardware/audio.h>
+#include <hardware_legacy/audio_policy_conf.h>
+
+// PulseAudio value - Android value
+
+uint32_t conversion_table_output_channel[][2] = {
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_OUT_MONO },
+ { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_OUT_FRONT_LEFT },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_OUT_FRONT_RIGHT},
+ { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_OUT_FRONT_CENTER },
+ { PA_CHANNEL_POSITION_SUBWOOFER, AUDIO_CHANNEL_OUT_LOW_FREQUENCY },
+ { PA_CHANNEL_POSITION_REAR_LEFT, AUDIO_CHANNEL_OUT_BACK_LEFT },
+ { PA_CHANNEL_POSITION_REAR_RIGHT, AUDIO_CHANNEL_OUT_BACK_RIGHT },
+ { PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER },
+ { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_OUT_BACK_CENTER },
+ { PA_CHANNEL_POSITION_SIDE_LEFT, AUDIO_CHANNEL_OUT_SIDE_LEFT },
+ { PA_CHANNEL_POSITION_SIDE_RIGHT, AUDIO_CHANNEL_OUT_SIDE_RIGHT },
+ { PA_CHANNEL_POSITION_TOP_CENTER, AUDIO_CHANNEL_OUT_TOP_CENTER },
+ { PA_CHANNEL_POSITION_TOP_FRONT_LEFT, AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT },
+ { PA_CHANNEL_POSITION_TOP_FRONT_CENTER, AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER },
+ { PA_CHANNEL_POSITION_TOP_FRONT_RIGHT, AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT },
+ { PA_CHANNEL_POSITION_TOP_REAR_LEFT, AUDIO_CHANNEL_OUT_TOP_BACK_LEFT },
+ { PA_CHANNEL_POSITION_TOP_REAR_CENTER, AUDIO_CHANNEL_OUT_TOP_BACK_CENTER },
+ { PA_CHANNEL_POSITION_TOP_REAR_RIGHT, AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT }
+};
+
+uint32_t conversion_table_input_channel[][2] = {
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_MONO },
+ { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_IN_LEFT },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_IN_RIGHT},
+ { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_IN_FRONT },
+ { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_IN_BACK },
+ /* Following are missing suitable counterparts on PulseAudio side. */
+ { AUDIO_CHANNEL_IN_LEFT_PROCESSED, AUDIO_CHANNEL_IN_LEFT_PROCESSED },
+ { AUDIO_CHANNEL_IN_RIGHT_PROCESSED, AUDIO_CHANNEL_IN_RIGHT_PROCESSED },
+ { AUDIO_CHANNEL_IN_FRONT_PROCESSED, AUDIO_CHANNEL_IN_FRONT_PROCESSED },
+ { AUDIO_CHANNEL_IN_BACK_PROCESSED, AUDIO_CHANNEL_IN_BACK_PROCESSED },
+ { AUDIO_CHANNEL_IN_PRESSURE, AUDIO_CHANNEL_IN_PRESSURE },
+ { AUDIO_CHANNEL_IN_X_AXIS, AUDIO_CHANNEL_IN_X_AXIS },
+ { AUDIO_CHANNEL_IN_Y_AXIS, AUDIO_CHANNEL_IN_Y_AXIS },
+ { AUDIO_CHANNEL_IN_Z_AXIS, AUDIO_CHANNEL_IN_Z_AXIS },
+ { AUDIO_CHANNEL_IN_VOICE_UPLINK, AUDIO_CHANNEL_IN_VOICE_UPLINK },
+ { AUDIO_CHANNEL_IN_VOICE_DNLINK, AUDIO_CHANNEL_IN_VOICE_DNLINK }
+};
+
+uint32_t conversion_table_format[][2] = {
+ { PA_SAMPLE_U8, AUDIO_FORMAT_PCM_8_BIT },
+ { PA_SAMPLE_S16LE, AUDIO_FORMAT_PCM_16_BIT },
+ { PA_SAMPLE_S32LE, AUDIO_FORMAT_PCM_32_BIT },
+ { PA_SAMPLE_S24LE, AUDIO_FORMAT_PCM_8_24_BIT }
+};
+
+uint32_t conversion_table_default_audio_source[][2] = {
+#if defined(DROID_DEVICE_HAMMERHEAD) || defined(DROID_DEVICE_ARMANI) || defined(DROID_DEVICE_MAKO)
+ { AUDIO_DEVICE_IN_COMMUNICATION, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_AMBIENT, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_BUILTIN_MIC, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_WIRED_HEADSET, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_AUX_DIGITAL, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_VOICE_CALL, AUDIO_SOURCE_VOICE_CALL },
+ { AUDIO_DEVICE_IN_BACK_MIC, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_REMOTE_SUBMIX, AUDIO_SOURCE_REMOTE_SUBMIX },
+ { AUDIO_DEVICE_IN_ANC_HEADSET, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_FM_RX, AUDIO_SOURCE_FM_RX },
+ { AUDIO_DEVICE_IN_FM_RX_A2DP, AUDIO_SOURCE_FM_RX_A2DP },
+#endif
+ { AUDIO_DEVICE_IN_ALL, AUDIO_SOURCE_DEFAULT }
+};
+
+struct string_conversion {
+ uint32_t value;
+ const char *str;
+};
+
+#if defined(STRING_ENTRY)
+#error STRING_ENTRY already defined somewhere, fix this lib.
+#endif
+#define STRING_ENTRY(str) { str, #str }
+/* Output devices */
+struct string_conversion string_conversion_table_output_device[] = {
+ STRING_ENTRY(AUDIO_DEVICE_OUT_EARPIECE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_SPEAKER),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_WIRED_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_WIRED_HEADPHONE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_AUX_DIGITAL),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_USB_ACCESSORY),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_USB_DEVICE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_REMOTE_SUBMIX),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_DEFAULT),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_A2DP),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_SCO),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_USB),
+#ifdef QCOM_HARDWARE
+ STRING_ENTRY(AUDIO_DEVICE_OUT_FM),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_FM_TX),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ANC_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ANC_HEADPHONE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_PROXY),
+#endif
+ { 0, NULL }
+};
+
+struct string_conversion string_conversion_table_output_device_fancy[] = {
+ { AUDIO_DEVICE_OUT_EARPIECE, "output-earpiece" },
+ { AUDIO_DEVICE_OUT_SPEAKER, "output-speaker" },
+ { AUDIO_DEVICE_OUT_SPEAKER
+ | AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-speaker+wired_headphone" },
+ { AUDIO_DEVICE_OUT_WIRED_HEADSET, "output-wired_headset" },
+ { AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-wired_headphone" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO, "output-bluetooth_sco" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET, "output-sco_headset" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT, "output-sco_carkit" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP, "output-a2dp" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, "output-a2dp_headphones" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, "output-a2dp_speaker" },
+ { AUDIO_DEVICE_OUT_AUX_DIGITAL, "output-aux_digital" },
+ { AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET, "output-analog_dock_headset" },
+ { AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET, "output-digital_dock_headset" },
+ { AUDIO_DEVICE_OUT_USB_ACCESSORY, "output-usb_accessory" },
+ { AUDIO_DEVICE_OUT_USB_DEVICE, "output-usb_device" },
+ { AUDIO_DEVICE_OUT_REMOTE_SUBMIX, "output-remote_submix" },
+#ifdef QCOM_HARDWARE
+ { AUDIO_DEVICE_OUT_FM, "output-fm" },
+ { AUDIO_DEVICE_OUT_FM_TX, "output-fm_tx" },
+ { AUDIO_DEVICE_OUT_ANC_HEADSET, "output-anc_headset" },
+ { AUDIO_DEVICE_OUT_ANC_HEADPHONE, "output-anc_headphone" },
+ { AUDIO_DEVICE_OUT_PROXY, "output-proxy" },
+#endif
+ { 0, NULL }
+};
+
+/* Input devices */
+struct string_conversion string_conversion_table_input_device[] = {
+ STRING_ENTRY(AUDIO_DEVICE_IN_COMMUNICATION),
+ STRING_ENTRY(AUDIO_DEVICE_IN_AMBIENT),
+ STRING_ENTRY(AUDIO_DEVICE_IN_BUILTIN_MIC),
+ STRING_ENTRY(AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_WIRED_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_AUX_DIGITAL),
+ STRING_ENTRY(AUDIO_DEVICE_IN_VOICE_CALL),
+ STRING_ENTRY(AUDIO_DEVICE_IN_BACK_MIC),
+ STRING_ENTRY(AUDIO_DEVICE_IN_REMOTE_SUBMIX),
+ STRING_ENTRY(AUDIO_DEVICE_IN_ANLG_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_DGTL_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_USB_ACCESSORY),
+ STRING_ENTRY(AUDIO_DEVICE_IN_USB_DEVICE),
+#ifdef QCOM_HARDWARE
+ STRING_ENTRY(AUDIO_DEVICE_IN_ANC_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_IN_FM_RX),
+ STRING_ENTRY(AUDIO_DEVICE_IN_FM_RX_A2DP),
|
[-]
[+]
|
Added |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/src/common/droid-util-51.h
^
|
@@ -0,0 +1,418 @@
+/*
+ * Copyright (C) 2015 Jolla Ltd.
+ *
+ * Contact: Juho Hämäläinen <juho.hamalainen@jolla.com>
+ *
+ * These PulseAudio Modules are free software; you can redistribute
+ * it and/or modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
+ * USA.
+ */
+
+#ifndef _DROID_UTIL_V51_H_
+#define _DROID_UTIL_V51_H_
+
+#define DROID_HAL 3
+
+#define DROID_HAVE_DRC
+
+// Until we implement MER_HA_CHIPSET in hw-release, every non-Qualcomm ARM
+// device will need to have an exception below (just like i9305).
+// TODO: things elegantly
+#if defined(__arm__) && !defined(DROID_DEVICE_I9305)
+#define QCOM_HARDWARE
+#endif
+
+#ifdef QCOM_BSP
+#define DROID_AUDIO_HAL_USE_VSID
+#endif
+
+#include <hardware/audio.h>
+#include <hardware_legacy/audio_policy_conf.h>
+
+// PulseAudio value - Android value
+
+uint32_t conversion_table_output_channel[][2] = {
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_OUT_MONO },
+ { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_OUT_FRONT_LEFT },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_OUT_FRONT_RIGHT},
+ { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_OUT_FRONT_CENTER },
+ { PA_CHANNEL_POSITION_SUBWOOFER, AUDIO_CHANNEL_OUT_LOW_FREQUENCY },
+ { PA_CHANNEL_POSITION_REAR_LEFT, AUDIO_CHANNEL_OUT_BACK_LEFT },
+ { PA_CHANNEL_POSITION_REAR_RIGHT, AUDIO_CHANNEL_OUT_BACK_RIGHT },
+ { PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER },
+ { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_OUT_BACK_CENTER },
+ { PA_CHANNEL_POSITION_SIDE_LEFT, AUDIO_CHANNEL_OUT_SIDE_LEFT },
+ { PA_CHANNEL_POSITION_SIDE_RIGHT, AUDIO_CHANNEL_OUT_SIDE_RIGHT },
+ { PA_CHANNEL_POSITION_TOP_CENTER, AUDIO_CHANNEL_OUT_TOP_CENTER },
+ { PA_CHANNEL_POSITION_TOP_FRONT_LEFT, AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT },
+ { PA_CHANNEL_POSITION_TOP_FRONT_CENTER, AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER },
+ { PA_CHANNEL_POSITION_TOP_FRONT_RIGHT, AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT },
+ { PA_CHANNEL_POSITION_TOP_REAR_LEFT, AUDIO_CHANNEL_OUT_TOP_BACK_LEFT },
+ { PA_CHANNEL_POSITION_TOP_REAR_CENTER, AUDIO_CHANNEL_OUT_TOP_BACK_CENTER },
+ { PA_CHANNEL_POSITION_TOP_REAR_RIGHT, AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT }
+};
+
+uint32_t conversion_table_input_channel[][2] = {
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_MONO },
+ { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_IN_LEFT },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_IN_RIGHT},
+ { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_IN_FRONT },
+ { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_IN_BACK },
+ /* Following are missing suitable counterparts on PulseAudio side. */
+ { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_IN_LEFT_PROCESSED },
+ { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_IN_RIGHT_PROCESSED },
+ { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_IN_FRONT_PROCESSED },
+ { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_IN_BACK_PROCESSED },
+ { PA_CHANNEL_POSITION_SUBWOOFER, AUDIO_CHANNEL_IN_PRESSURE },
+ { PA_CHANNEL_POSITION_AUX0, AUDIO_CHANNEL_IN_X_AXIS },
+ { PA_CHANNEL_POSITION_AUX1, AUDIO_CHANNEL_IN_Y_AXIS },
+ { PA_CHANNEL_POSITION_AUX2, AUDIO_CHANNEL_IN_Z_AXIS },
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_VOICE_UPLINK },
+ { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_VOICE_DNLINK }
+};
+
+uint32_t conversion_table_format[][2] = {
+ { PA_SAMPLE_U8, AUDIO_FORMAT_PCM_8_BIT },
+ { PA_SAMPLE_S16LE, AUDIO_FORMAT_PCM_16_BIT },
+ { PA_SAMPLE_S32LE, AUDIO_FORMAT_PCM_32_BIT },
+ { PA_SAMPLE_S24LE, AUDIO_FORMAT_PCM_8_24_BIT }
+};
+
+uint32_t conversion_table_default_audio_source[][2] = {
+ { AUDIO_DEVICE_IN_COMMUNICATION, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_AMBIENT, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_BUILTIN_MIC, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_WIRED_HEADSET, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_AUX_DIGITAL, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_VOICE_CALL, AUDIO_SOURCE_VOICE_CALL },
+ { AUDIO_DEVICE_IN_BACK_MIC, AUDIO_SOURCE_MIC },
+ { AUDIO_DEVICE_IN_REMOTE_SUBMIX, AUDIO_SOURCE_REMOTE_SUBMIX },
+#ifdef QCOM_HARDWARE
+ { AUDIO_DEVICE_IN_FM_RX, AUDIO_SOURCE_FM_RX },
+ { AUDIO_DEVICE_IN_FM_RX_A2DP, AUDIO_SOURCE_FM_RX_A2DP },
+#endif
+ { AUDIO_DEVICE_IN_ALL, AUDIO_SOURCE_DEFAULT }
+};
+
+struct string_conversion {
+ uint32_t value;
+ const char *str;
+};
+
+#if defined(STRING_ENTRY)
+#error STRING_ENTRY already defined somewhere, fix this lib.
+#endif
+#define STRING_ENTRY(str) { str, #str }
+/* Output devices */
+struct string_conversion string_conversion_table_output_device[] = {
+ /* Each device listed here needs fancy name counterpart
+ * in string_conversion_table_output_device_fancy. */
+ STRING_ENTRY(AUDIO_DEVICE_OUT_EARPIECE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_SPEAKER),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_WIRED_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_WIRED_HEADPHONE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_AUX_DIGITAL),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_HDMI),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_USB_ACCESSORY),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_USB_DEVICE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_REMOTE_SUBMIX),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_TELEPHONY_TX),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_LINE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_HDMI_ARC),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_SPDIF),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_FM),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_AUX_LINE),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_SPEAKER_SAFE),
+#ifdef QCOM_HARDWARE
+ STRING_ENTRY(AUDIO_DEVICE_OUT_FM_TX),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_PROXY),
+#endif
+ /* Combination entries consisting of multiple devices defined above.
+ * These don't require counterpart in string_conversion_table_output_device_fancy. */
+ STRING_ENTRY(AUDIO_DEVICE_OUT_DEFAULT),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_A2DP),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_SCO),
+ STRING_ENTRY(AUDIO_DEVICE_OUT_ALL_USB),
+ { 0, NULL }
+};
+
+struct string_conversion string_conversion_table_output_device_fancy[] = {
+ { AUDIO_DEVICE_OUT_EARPIECE, "output-earpiece" },
+ { AUDIO_DEVICE_OUT_SPEAKER, "output-speaker" },
+ { AUDIO_DEVICE_OUT_SPEAKER
+ | AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-speaker+wired_headphone" },
+ { AUDIO_DEVICE_OUT_WIRED_HEADSET, "output-wired_headset" },
+ { AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-wired_headphone" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO, "output-bluetooth_sco" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET, "output-sco_headset" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT, "output-sco_carkit" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP, "output-a2dp" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES, "output-a2dp_headphones" },
+ { AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER, "output-a2dp_speaker" },
+ { AUDIO_DEVICE_OUT_AUX_DIGITAL, "output-aux_digital" },
+ { AUDIO_DEVICE_OUT_HDMI, "output-hdmi" },
+ { AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET, "output-analog_dock_headset" },
+ { AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET, "output-digital_dock_headset" },
+ { AUDIO_DEVICE_OUT_USB_ACCESSORY, "output-usb_accessory" },
+ { AUDIO_DEVICE_OUT_USB_DEVICE, "output-usb_device" },
+ { AUDIO_DEVICE_OUT_REMOTE_SUBMIX, "output-remote_submix" },
+ { AUDIO_DEVICE_OUT_TELEPHONY_TX, "output-telephony" },
+ { AUDIO_DEVICE_OUT_LINE, "output-line" },
+ { AUDIO_DEVICE_OUT_HDMI_ARC, "output-hdmi_arc" },
+ { AUDIO_DEVICE_OUT_SPDIF, "output-spdif" },
+ { AUDIO_DEVICE_OUT_FM, "output-fm" },
+ { AUDIO_DEVICE_OUT_AUX_LINE, "output-aux_line" },
+ { AUDIO_DEVICE_OUT_SPEAKER_SAFE, "output-speaker_safe" },
+#ifdef QCOM_HARDWARE
+ { AUDIO_DEVICE_OUT_FM_TX, "output-fm_tx" },
+ { AUDIO_DEVICE_OUT_PROXY, "output-proxy" },
+#endif
+ { 0, NULL }
+};
+
+/* Input devices */
+struct string_conversion string_conversion_table_input_device[] = {
+ /* Each device listed here needs fancy name counterpart
+ * in string_conversion_table_input_device_fancy. */
+ STRING_ENTRY(AUDIO_DEVICE_IN_COMMUNICATION),
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/src/common/droid-util.c
^
|
@@ -25,7 +25,6 @@
#include <signal.h>
#include <stdio.h>
-#include <string.h>
#ifdef HAVE_VALGRIND_MEMCHECK_H
#include <valgrind/memcheck.h>
@@ -119,13 +118,13 @@
char *str = NULL;
char *tmp;
-#if AUDIO_API_VERSION_MAJ >= 2
+#if DROID_HAL >= 2
if (flags & AUDIO_DEVICE_BIT_IN)
flags &= ~AUDIO_DEVICE_BIT_IN;
#endif
for (unsigned int i = 0; list[i].str; i++) {
-#if AUDIO_API_VERSION_MAJ >= 2
+#if DROID_HAL >= 2
if (list[i].value & AUDIO_DEVICE_BIT_IN) {
if (popcount(list[i].value & ~AUDIO_DEVICE_BIT_IN) != 1)
continue;
@@ -190,7 +189,7 @@
bool pa_input_device_default_audio_source(audio_devices_t input_device, audio_source_t *default_source)
{
-#if AUDIO_API_VERSION_MAJ >= 2
+#if DROID_HAL >= 2
input_device &= ~AUDIO_DEVICE_BIT_IN;
#endif
@@ -261,7 +260,7 @@
while ((entry = pa_split(str, "|", &state))) {
int32_t val;
-#if AUDIO_API_VERSION_MAJ >= 3
+#if DROID_HAL >= 3
if (pos == 0 && pa_streq(entry, "dynamic")) {
sampling_rates[pos++] = (uint32_t) -1;
pa_xfree(entry);
@@ -304,7 +303,7 @@
fail = must_have_all && unknown;
if (unknown) {
- pa_log_info("[%s:%u] Unknown %s entries: %s", fn, ln, field, unknown);
+ pa_log_warn("[%s:%u] Unknown %s entries: %s", fn, ln, field, unknown);
pa_xfree(unknown);
}
@@ -325,7 +324,7 @@
pa_assert(str);
pa_assert(formats);
-#if AUDIO_API_VERSION_MAJ >= 3
+#if DROID_HAL >= 3
/* Needs to be probed later */
if (pa_streq(str, "dynamic")) {
*formats = 0;
@@ -392,7 +391,7 @@
return check_and_log(fn, ln, "flags", count, str, unknown, false);
}
-#if AUDIO_API_VERSION_MAJ >= 3
+#if DROID_HAL >= 3
static bool parse_input_flags(const char *fn, const unsigned ln,
const char *str, audio_input_flags_t *flags) {
int count;
@@ -666,7 +665,7 @@
if (in_output)
success = parse_output_flags(filename, n, value, &output->flags);
else {
-#if AUDIO_API_VERSION_MAJ >= 3
+#if DROID_HAL >= 3
success = parse_input_flags(filename, n, value, &input->flags);
#else
pa_log("[%s:%u] failed to parse line - output flags inside input definition", filename, n);
@@ -1191,7 +1190,7 @@
pa_assert(am);
devices = am->input->devices | AUDIO_DEVICE_IN_DEFAULT;
-#if AUDIO_API_VERSION_MAJ >= 2
+#if DROID_HAL >= 2
devices &= ~AUDIO_DEVICE_BIT_IN;
#endif
@@ -1200,7 +1199,7 @@
if (devices & cur_device) {
-#if AUDIO_API_VERSION_MAJ >= 2
+#if DROID_HAL >= 2
cur_device |= AUDIO_DEVICE_BIT_IN;
#endif
@@ -1211,7 +1210,7 @@
}
}
-#if AUDIO_API_VERSION_MAJ == 1
+#if DROID_HAL == 1
/* HAL v1 has default input device defined as another input device,
* so we need to add it by hand here. */
add_i_port(am, AUDIO_DEVICE_IN_DEFAULT, "input-default");
@@ -1404,28 +1403,25 @@
goto fail;
}
- ret = hw_get_module_by_class(AUDIO_HARDWARE_MODULE_ID, module->name, (const hw_module_t**) &hwmod);
- if (ret) {
- pa_log("Failed to load audio hw module %s.%s : %s (%d)", AUDIO_HARDWARE_MODULE_ID, module->name,
- strerror(-ret), -ret);
+ hw_get_module_by_class(AUDIO_HARDWARE_MODULE_ID, module->name, (const hw_module_t**) &hwmod);
+ if (!hwmod) {
+ pa_log("Failed to get hw module %s.", module->name);
goto fail;
}
- pa_log_info("Loaded hw module %s.%s (%s)", AUDIO_HARDWARE_MODULE_ID, module->name, DROID_DEVICE_STRING);
+ pa_log_info("Loaded hw module %s: %s (HAL %d.%d.%d)", DROID_DEVICE_STRING, module->name,
+ ANDROID_VERSION_MAJOR,
+ ANDROID_VERSION_MINOR,
+ ANDROID_VERSION_PATCH);
ret = audio_hw_device_open(hwmod, &device);
- if (ret) {
- pa_log("Failed to open audio hw device : %s (%d).", strerror(-ret), -ret);
+ if (!device) {
+ pa_log("Failed to open device (errno %d).", ret);
goto fail;
}
- pa_log_info("Opened hw audio device version %d.%d (This module compiled for API %d.%d, Android %d.%d.%d)",
- AUDIO_API_VERSION_GET_MAJ(device->common.version), AUDIO_API_VERSION_GET_MIN(device->common.version),
- AUDIO_API_VERSION_MAJ, AUDIO_API_VERSION_MIN,
- ANDROID_VERSION_MAJOR, ANDROID_VERSION_MINOR, ANDROID_VERSION_PATCH);
-
if ((ret = device->init_check(device)) != 0) {
- pa_log("Failed init_check() : %s (%d)", strerror(-ret), -ret);
+ pa_log("Failed init_check() (errno %d)", ret);
goto fail;
}
@@ -1646,7 +1642,7 @@
flags,
&config_out,
&stream
-#if AUDIO_API_VERSION_MAJ >= 3
+#if DROID_HAL >= 3
/* Go with empty address, should work
* with most devices for now. */
, NULL
@@ -1706,7 +1702,7 @@
struct audio_config config_in;
size_t buffer_size;
-#if AUDIO_API_VERSION_MAJ >= 2
+#if DROID_HAL >= 2
if ((devices & ~AUDIO_DEVICE_BIT_IN) & AUDIO_DEVICE_IN_VOICE_CALL)
#else
if (devices & AUDIO_DEVICE_IN_VOICE_CALL)
@@ -1756,7 +1752,7 @@
devices,
&config_in,
&stream
-#if AUDIO_API_VERSION_MAJ >= 3
+#if DROID_HAL >= 3
, AUDIO_INPUT_FLAG_NONE /* Default to no input flags */
, NULL /* Don't define address */
, AUDIO_SOURCE_DEFAULT /* Default audio source */
@@ -1865,7 +1861,7 @@
pa_droid_stream *slave;
uint32_t idx;
char *parameters;
- int ret = 0;
+ int ret;
pa_assert(s);
pa_assert(s->out);
@@ -1947,8 +1943,7 @@
defined(DROID_DEVICE_COCONUT) || defined(DROID_DEVICE_HAIDA) ||\
defined(DROID_DEVICE_HALLON) || defined(DROID_DEVICE_IYOKAN) ||\
defined(DROID_DEVICE_MANGO) || defined(DROID_DEVICE_SATSUMA) ||\
- defined(DROID_DEVICE_SMULTRON) || defined(DROID_DEVICE_URUSHI) ||\
- defined(DROID_DEVICE_MOTO_MSM8960_JBBL)
+ defined(DROID_DEVICE_SMULTRON) || defined(DROID_DEVICE_URUSHI)
#warning Using set_parameters hack, originating from previous cm10 mako.
pa_mutex_lock(s->module->hw_mutex);
ret = s->module->device->set_parameters(s->module->device, parameters);
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/src/common/droid-util.h
^
|
@@ -39,26 +39,14 @@
#if ANDROID_VERSION_MAJOR == 4 && ANDROID_VERSION_MINOR == 1
#include "droid-util-41qc.h"
+#elif ANDROID_VERSION_MAJOR == 4 && ANDROID_VERSION_MINOR == 2
+#include "droid-util-42.h"
+#elif ANDROID_VERSION_MAJOR == 4 && ANDROID_VERSION_MINOR == 4
+#include "droid-util-44.h"
+#elif ANDROID_VERSION_MAJOR == 5 && ANDROID_VERSION_MINOR == 1
+#include "droid-util-51.h"
#else
-#include "droid-util-audio.h"
-#endif
-
-/* We currently support API version up-to 3.0 */
-#define DROID_API_VERSION_SUPPORT HARDWARE_DEVICE_API_VERSION(3, 0)
-
-#if AUDIO_DEVICE_API_VERSION_CURRENT > DROID_API_VERSION_SUPPORT
-#warning Compiling against higher audio device API version than currently supported!
-#warning Compile likely fails or module may malfunction.
-#endif
-
-#define AUDIO_API_VERSION_MAJ ((AUDIO_DEVICE_API_VERSION_CURRENT ^ 0xff) >> 8)
-#define AUDIO_API_VERSION_MIN (AUDIO_DEVICE_API_VERSION_CURRENT & 0xff)
-
-#define AUDIO_API_VERSION_GET_MAJ(x) ((x ^ 0xff) >> 8)
-#define AUDIO_API_VERSION_GET_MIN(x) (x & 0xff)
-
-#if defined(QCOM_BSP) && (AUDIO_API_VERSION_MAJ >= 3)
-#define DROID_AUDIO_HAL_USE_VSID
+#error "No valid ANDROID_VERSION found."
#endif
#define PROP_DROID_DEVICES "droid.devices"
@@ -157,7 +145,7 @@
audio_channel_mask_t channel_masks; /* 0 -> dynamic */
audio_format_t formats; /* 0 -> dynamic */
audio_devices_t devices;
-#if AUDIO_API_VERSION_MAJ >= 3
+#if DROID_HAL >= 3
audio_input_flags_t flags;
#endif
} pa_droid_config_input;
|
[-]
[+]
|
Changed |
_service:tar_git:pulseaudio-modules-droid-8.0.51.tar.bz2/src/droid/module-droid-card.c
^
|
@@ -470,7 +470,7 @@
return true;
}
-#if (AUDIO_API_VERSION_MAJ == 1) || \
+#if (DROID_HAL == 1) || \
(defined(QCOM_HARDWARE) && ANDROID_VERSION_MAJOR == 5 && ANDROID_VERSION_MINOR == 1)
static bool voicecall_record_profile_event_cb(struct userdata *u, pa_droid_profile *p, bool enabling) {
pa_queue *source_outputs = NULL;
|
[-]
[+]
|
Deleted |
_service:tar_git:pulseaudio-modules-droid-8.0.54.tar.bz2/m4/check_droid_enum.m4
^
|
@@ -1,17 +0,0 @@
-AC_DEFUN([CC_CHECK_DROID_ENUM],
-[AC_MSG_CHECKING([if droid headers have enum $2])
- AC_LANG_SAVE
- AC_LANG_C
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $1"
- AC_TRY_COMPILE(
- [ #include <system/audio.h> ],
- [ unsigned int e = $2; ],
- cc_check_droid_enum=yes, cc_check_droid_enum=no)
- CFLAGS="$SAVE_CFLAGS"
- AC_LANG_RESTORE
- AC_MSG_RESULT([$cc_check_droid_enum])
-if test x"$cc_check_droid_enum" = x"yes"; then
- AC_DEFINE(HAVE_ENUM_$2,,[define if enum $2 is found in headers])
-fi
-])
|
[-]
[+]
|
Deleted |
_service:tar_git:pulseaudio-modules-droid-8.0.54.tar.bz2/src/common/droid-util-audio.h
^
|
@@ -1,586 +0,0 @@
-/*
- * Copyright (C) 2017 Jolla Ltd.
- *
- * Contact: Juho Hämäläinen <juho.hamalainen@jolla.com>
- *
- * These PulseAudio Modules are free software; you can redistribute
- * it and/or modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
- * USA.
- */
-
-#ifndef _DROID_UTIL_AUDIO_H_
-#define _DROID_UTIL_AUDIO_H_
-
-#include <hardware/audio.h>
-#include <hardware_legacy/audio_policy_conf.h>
-
-#ifdef QCOM_BSP
-#define QCOM_HARDWARE
-#endif
-
-#ifdef SPEAKER_DRC_ENABLED_TAG
-#define DROID_HAVE_DRC
-#endif
-
-
-#ifdef STRING_ENTRY
-#error Macro clashing with our helper macro already defined somewhere, fix this droid lib.
-#endif
-
-struct string_conversion {
- uint32_t value;
- const char *str;
-};
-
-#define STRING_ENTRY(str) { str, #str }
-
-// PulseAudio value - Android value
-
-uint32_t conversion_table_output_channel[][2] = {
- { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_OUT_MONO },
- { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_OUT_FRONT_LEFT },
- { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_OUT_FRONT_RIGHT },
- { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_OUT_FRONT_CENTER },
- { PA_CHANNEL_POSITION_SUBWOOFER, AUDIO_CHANNEL_OUT_LOW_FREQUENCY },
- { PA_CHANNEL_POSITION_REAR_LEFT, AUDIO_CHANNEL_OUT_BACK_LEFT },
- { PA_CHANNEL_POSITION_REAR_RIGHT, AUDIO_CHANNEL_OUT_BACK_RIGHT },
- { PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_LEFT_OF_CENTER },
- { PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER, AUDIO_CHANNEL_OUT_FRONT_RIGHT_OF_CENTER },
- { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_OUT_BACK_CENTER },
- { PA_CHANNEL_POSITION_SIDE_LEFT, AUDIO_CHANNEL_OUT_SIDE_LEFT },
- { PA_CHANNEL_POSITION_SIDE_RIGHT, AUDIO_CHANNEL_OUT_SIDE_RIGHT },
- { PA_CHANNEL_POSITION_TOP_CENTER, AUDIO_CHANNEL_OUT_TOP_CENTER },
- { PA_CHANNEL_POSITION_TOP_FRONT_LEFT, AUDIO_CHANNEL_OUT_TOP_FRONT_LEFT },
- { PA_CHANNEL_POSITION_TOP_FRONT_CENTER, AUDIO_CHANNEL_OUT_TOP_FRONT_CENTER },
- { PA_CHANNEL_POSITION_TOP_FRONT_RIGHT, AUDIO_CHANNEL_OUT_TOP_FRONT_RIGHT },
- { PA_CHANNEL_POSITION_TOP_REAR_LEFT, AUDIO_CHANNEL_OUT_TOP_BACK_LEFT },
- { PA_CHANNEL_POSITION_TOP_REAR_CENTER, AUDIO_CHANNEL_OUT_TOP_BACK_CENTER },
- { PA_CHANNEL_POSITION_TOP_REAR_RIGHT, AUDIO_CHANNEL_OUT_TOP_BACK_RIGHT }
-};
-
-uint32_t conversion_table_input_channel[][2] = {
- { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_MONO },
- { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_IN_LEFT },
- { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_IN_RIGHT },
- { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_IN_FRONT },
- { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_IN_BACK },
- /* Following are missing suitable counterparts on PulseAudio side. */
- { PA_CHANNEL_POSITION_FRONT_LEFT, AUDIO_CHANNEL_IN_LEFT_PROCESSED },
- { PA_CHANNEL_POSITION_FRONT_RIGHT, AUDIO_CHANNEL_IN_RIGHT_PROCESSED },
- { PA_CHANNEL_POSITION_FRONT_CENTER, AUDIO_CHANNEL_IN_FRONT_PROCESSED },
- { PA_CHANNEL_POSITION_REAR_CENTER, AUDIO_CHANNEL_IN_BACK_PROCESSED },
- { PA_CHANNEL_POSITION_SUBWOOFER, AUDIO_CHANNEL_IN_PRESSURE },
- { PA_CHANNEL_POSITION_AUX0, AUDIO_CHANNEL_IN_X_AXIS },
- { PA_CHANNEL_POSITION_AUX1, AUDIO_CHANNEL_IN_Y_AXIS },
- { PA_CHANNEL_POSITION_AUX2, AUDIO_CHANNEL_IN_Z_AXIS },
- { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_VOICE_UPLINK },
- { PA_CHANNEL_POSITION_MONO, AUDIO_CHANNEL_IN_VOICE_DNLINK }
-};
-
-uint32_t conversion_table_format[][2] = {
- { PA_SAMPLE_U8, AUDIO_FORMAT_PCM_8_BIT },
- { PA_SAMPLE_S16LE, AUDIO_FORMAT_PCM_16_BIT },
- { PA_SAMPLE_S32LE, AUDIO_FORMAT_PCM_32_BIT },
- { PA_SAMPLE_S24LE, AUDIO_FORMAT_PCM_8_24_BIT }
-};
-
-uint32_t conversion_table_default_audio_source[][2] = {
- { AUDIO_DEVICE_IN_COMMUNICATION, AUDIO_SOURCE_MIC },
- { AUDIO_DEVICE_IN_AMBIENT, AUDIO_SOURCE_MIC },
- { AUDIO_DEVICE_IN_BUILTIN_MIC, AUDIO_SOURCE_MIC },
- { AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET, AUDIO_SOURCE_MIC },
- { AUDIO_DEVICE_IN_WIRED_HEADSET, AUDIO_SOURCE_MIC },
- { AUDIO_DEVICE_IN_AUX_DIGITAL, AUDIO_SOURCE_MIC },
- { AUDIO_DEVICE_IN_VOICE_CALL, AUDIO_SOURCE_VOICE_CALL },
- { AUDIO_DEVICE_IN_BACK_MIC, AUDIO_SOURCE_MIC },
- { AUDIO_DEVICE_IN_REMOTE_SUBMIX, AUDIO_SOURCE_REMOTE_SUBMIX },
-#if defined(AUDIO_DEVICE_IN_FM_RX) && defined(AUDIO_SOURCE_FM_RX)
- { AUDIO_DEVICE_IN_FM_RX, AUDIO_SOURCE_FM_RX },
-#endif
-#if defined(AUDIO_DEVICE_IN_FM_RX_A2DP) && defined(AUDIO_SOURCE_FM_RX_A2DP)
- { AUDIO_DEVICE_IN_FM_RX_A2DP, AUDIO_SOURCE_FM_RX_A2DP },
-#endif
- { AUDIO_DEVICE_IN_ALL, AUDIO_SOURCE_DEFAULT }
-};
-
-/* Output devices */
-struct string_conversion string_conversion_table_output_device[] = {
- /* Each device listed here needs fancy name counterpart
- * in string_conversion_table_output_device_fancy. */
- STRING_ENTRY( AUDIO_DEVICE_OUT_EARPIECE ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_SPEAKER ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_WIRED_HEADSET ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_WIRED_HEADPHONE ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_BLUETOOTH_SCO ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_BLUETOOTH_A2DP ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEADPHONES ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKER ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_AUX_DIGITAL ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_USB_ACCESSORY ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_USB_DEVICE ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_REMOTE_SUBMIX ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_DEFAULT ),
-
- /* Devices which may or may not be defined for all devices,
- * update configure.ac CC_CHECK_DROID_ENUM list if you encounter new ones. */
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_HDMI
- STRING_ENTRY( AUDIO_DEVICE_OUT_HDMI ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_HDMI_ARC
- STRING_ENTRY( AUDIO_DEVICE_OUT_HDMI_ARC ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_TELEPHONY_TX
- STRING_ENTRY( AUDIO_DEVICE_OUT_TELEPHONY_TX ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_LINE
- STRING_ENTRY( AUDIO_DEVICE_OUT_LINE ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_SPDIF
- STRING_ENTRY( AUDIO_DEVICE_OUT_SPDIF ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_AUX_LINE
- STRING_ENTRY( AUDIO_DEVICE_OUT_AUX_LINE ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_SPEAKER_SAFE
- STRING_ENTRY( AUDIO_DEVICE_OUT_SPEAKER_SAFE ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_FM
- STRING_ENTRY( AUDIO_DEVICE_OUT_FM ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_FM_TX
- STRING_ENTRY( AUDIO_DEVICE_OUT_FM_TX ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_ANC_HEADSET
- STRING_ENTRY( AUDIO_DEVICE_OUT_ANC_HEADSET ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_ANC_HEADPHONE
- STRING_ENTRY( AUDIO_DEVICE_OUT_ANC_HEADPHONE ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_PROXY
- STRING_ENTRY( AUDIO_DEVICE_OUT_PROXY ),
-#endif
-#ifdef HAVE_ENUM_AUDIO_DEVICE_OUT_IP
- STRING_ENTRY( AUDIO_DEVICE_OUT_IP ),
-#endif
-
- /* Combination entries consisting of multiple devices defined above.
- * These don't require counterpart in string_conversion_table_output_device_fancy. */
- STRING_ENTRY( AUDIO_DEVICE_OUT_ALL ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_ALL_A2DP ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_ALL_SCO ),
- STRING_ENTRY( AUDIO_DEVICE_OUT_ALL_USB ),
-
- { 0, NULL }
-};
-
-struct string_conversion string_conversion_table_output_device_fancy[] = {
- { AUDIO_DEVICE_OUT_EARPIECE, "output-earpiece" },
- { AUDIO_DEVICE_OUT_SPEAKER, "output-speaker" },
- { AUDIO_DEVICE_OUT_SPEAKER
- | AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-speaker+wired_headphone" },
- { AUDIO_DEVICE_OUT_WIRED_HEADSET, "output-wired_headset" },
- { AUDIO_DEVICE_OUT_WIRED_HEADPHONE, "output-wired_headphone" },
- { AUDIO_DEVICE_OUT_BLUETOOTH_SCO, "output-bluetooth_sco" },
- { AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET, "output-sco_headset" },
|