summaryrefslogtreecommitdiffstats
path: root/audio_hw.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio_hw.c')
-rw-r--r--audio_hw.c31
1 files changed, 11 insertions, 20 deletions
diff --git a/audio_hw.c b/audio_hw.c
index 685bc4a..403f6cd 100644
--- a/audio_hw.c
+++ b/audio_hw.c
@@ -36,28 +36,19 @@
static uint32_t audio_hw_get_supported_devices(const struct audio_hw_device *dev)
{
+ struct tinyalsa_audio_device *tinyalsa_audio_device;
+
LOGD("%s(%p)", __func__, dev);
- int supported_output_devices = AUDIO_DEVICE_OUT_EARPIECE |
- AUDIO_DEVICE_OUT_SPEAKER |
- AUDIO_DEVICE_OUT_WIRED_HEADSET |
- AUDIO_DEVICE_OUT_WIRED_HEADPHONE |
- AUDIO_DEVICE_OUT_AUX_DIGITAL |
- AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET |
- AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET |
- AUDIO_DEVICE_OUT_ALL_SCO |
- AUDIO_DEVICE_OUT_DEFAULT;
-
- int supported_input_devices = AUDIO_DEVICE_IN_COMMUNICATION |
- AUDIO_DEVICE_IN_AMBIENT |
- AUDIO_DEVICE_IN_BUILTIN_MIC |
- AUDIO_DEVICE_IN_WIRED_HEADSET |
- AUDIO_DEVICE_IN_AUX_DIGITAL |
- AUDIO_DEVICE_IN_BACK_MIC |
- AUDIO_DEVICE_IN_ALL_SCO |
- AUDIO_DEVICE_IN_DEFAULT;
-
- return supported_output_devices | supported_input_devices;
+ if(dev == NULL)
+ return -1;
+
+ tinyalsa_audio_device = (struct tinyalsa_audio_device *) dev;
+
+ if(tinyalsa_audio_device->mixer == NULL)
+ return -1;
+
+ return (uint32_t) tinyalsa_mixer_get_supported_devices(tinyalsa_audio_device->mixer);
}
static int audio_hw_init_check(const struct audio_hw_device *dev)