Adding test for "Digital" devices to use in filter AudioDeviceInfo attributes.
Bug: 21903975
Change-Id: I767629f8a061815379352a077c5197b1dfece647
diff --git a/audio/include/system/audio.h b/audio/include/system/audio.h
index 5cf8bdb..0998ea2 100644
--- a/audio/include/system/audio.h
+++ b/audio/include/system/audio.h
@@ -648,7 +648,6 @@
AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT),
AUDIO_DEVICE_OUT_ALL_USB = (AUDIO_DEVICE_OUT_USB_ACCESSORY |
AUDIO_DEVICE_OUT_USB_DEVICE),
-
/* input devices */
AUDIO_DEVICE_IN_COMMUNICATION = AUDIO_DEVICE_BIT_IN | 0x1,
AUDIO_DEVICE_IN_AMBIENT = AUDIO_DEVICE_BIT_IN | 0x2,
@@ -1409,6 +1408,20 @@
return strdup(param);
}
+static inline bool audio_device_is_digital(audio_devices_t device) {
+ if ((device & AUDIO_DEVICE_BIT_IN) != 0) {
+ // input
+ return (device & (AUDIO_DEVICE_IN_ALL_USB |
+ AUDIO_DEVICE_IN_HDMI |
+ AUDIO_DEVICE_IN_SPDIF)) != 0;
+ } else {
+ // output
+ return (device & (AUDIO_DEVICE_OUT_ALL_USB |
+ AUDIO_DEVICE_OUT_HDMI |
+ AUDIO_DEVICE_OUT_HDMI_ARC |
+ AUDIO_DEVICE_OUT_SPDIF)) != 0;
+ }
+}
__END_DECLS