From 9b05c706272c5344284f7f8b4b53b1aefe082968 Mon Sep 17 00:00:00 2001 From: Jerzy Kasenberg Date: Tue, 18 Aug 2026 15:37:18 +0200 Subject: UAC2: Add more terminal types This adds more standard terminal types that can be used in descriptors to improve end user experience when operating system can present more acurate image for audio device terminal. Signed-off-by: Jerzy Kasenberg --- src/class/audio/audio.h | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/src/class/audio/audio.h b/src/class/audio/audio.h index 7981396c2..4a47bbe60 100644 --- a/src/class/audio/audio.h +++ b/src/class/audio/audio.h @@ -83,6 +83,71 @@ typedef enum { AUDIO_TERM_TYPE_OUT_LOW_FRQ_EFFECTS_SPEAKER = 0x0307, } audio_terminal_output_type_t; +/// 2.4 - Audio Class-Bi-directional Terminal Types UAC2 +typedef enum +{ + AUDIO_TERM_TYPE_BI_DIRECTORAL_UNDEFINED = 0x0400, + AUDIO_TERM_TYPE_BI_DIRECTORAL_HEADSET_HAND_HELD = 0x0401, + AUDIO_TERM_TYPE_BI_DIRECTORAL_HEADSET_MOUNTED = 0x0402, + AUDIO_TERM_TYPE_BI_DIRECTORAL_SPEAKERPHONE = 0x0403, + AUDIO_TERM_TYPE_BI_DIRECTORAL_SPEAKERPHONE_ECHO_SUPPRESS = 0x0404, + AUDIO_TERM_TYPE_BI_DIRECTORAL_SPEAKERPHONE_ECHO_CANCLE = 0x0405, +} audio_terminal_bi_directorial_type_t; + +/// 2.5 - Audio Class-Telephone Terminal Types UAC2 +typedef enum +{ + AUDIO_TERM_TYPE_TELEPHONE_UNDEFINED = 0x0500, + AUDIO_TERM_TYPE_TELEPHONE_PHONE_LINE = 0x0501, + AUDIO_TERM_TYPE_TELEPHONE_TELEPHONE = 0x0502, + AUDIO_TERM_TYPE_TELEPHONE_DOWN_LINE_PHONE = 0x0503, +} audio_terminal_telephony_type_t; + +/// 2.6 - Audio Class-External Types UAC2 +typedef enum +{ + AUDIO_TERM_TYPE_EXTERNAL_UNDEFINED = 0x0600, + AUDIO_TERM_TYPE_EXTERNAL_ANALOG_CONECTOR = 0x0601, + AUDIO_TERM_TYPE_EXTERNAL_DIGITAL_AUDIO = 0x0602, + AUDIO_TERM_TYPE_EXTERNAL_LINE_CONNECTOR = 0x0603, + AUDIO_TERM_TYPE_EXTERNAL_LEGACY_ADUIO_CONNECTOR = 0x0604, + AUDIO_TERM_TYPE_EXTERNAL_SPDIF_INTERFACE = 0x0605, + AUDIO_TERM_TYPE_EXTERNAL_1394_DA_STREAM = 0x0606, + AUDIO_TERM_TYPE_EXTERNAL_1394_DA_STREAM_SOUNDTRACK = 0x0607, + AUDIO_TERM_TYPE_EXTERNAL_ADAT_LIGHTPIPE = 0x0608, + AUDIO_TERM_TYPE_EXTERNAL_TDIF = 0x0609, + AUDIO_TERM_TYPE_EXTERNAL_MADI = 0x060A, +} audio_terminal_external_type_t; + +/// 2.7 - Audio Class-Embedded Types UAC2 +typedef enum +{ + AUDIO_TERM_TYPE_EMBEDDED_UNDEFINED = 0x0700, + AUDIO_TERM_TYPE_EMBEDDED_LEVEL_CALIBRATION_NOISE_SOURCE = 0x0701, + AUDIO_TERM_TYPE_EMBEDDED_EQUALIZATION_NOISE = 0x0702, + AUDIO_TERM_TYPE_EMBEDDED_CD_PLAYER = 0x0703, + AUDIO_TERM_TYPE_EMBEDDED_DAT = 0x0704, + AUDIO_TERM_TYPE_EMBEDDED_DCC = 0x0705, + AUDIO_TERM_TYPE_EMBEDDED_COMPRESSED_AUDIO_PLAYER = 0x0706, + AUDIO_TERM_TYPE_EMBEDDED_ANALOG_TAPE = 0x0707, + AUDIO_TERM_TYPE_EMBEDDED_PHONOGRAPH = 0x0708, + AUDIO_TERM_TYPE_EMBEDDED_VCR_AUDIO = 0x0709, + AUDIO_TERM_TYPE_EMBEDDED_VIDEO_DISC_AUDIO = 0x070A, + AUDIO_TERM_TYPE_EMBEDDED_DVD_AUDIO = 0x070B, + AUDIO_TERM_TYPE_EMBEDDED_TV_TUNER_AUDIO = 0x070C, + AUDIO_TERM_TYPE_EMBEDDED_SATELITE_RECEIVER_AUDIO = 0x070D, + AUDIO_TERM_TYPE_EMBEDDED_CABLE_TUNER_AUDIO = 0x070E, + AUDIO_TERM_TYPE_EMBEDDED_DSS_AUDIO = 0x070F, + AUDIO_TERM_TYPE_EMBEDDED_RADIO_RECEIVER = 0x0710, + AUDIO_TERM_TYPE_EMBEDDED_RADIO_TRANSMITTER = 0x0711, + AUDIO_TERM_TYPE_EMBEDDED_MULTI_TRACK_RECORDER = 0x0712, + AUDIO_TERM_TYPE_EMBEDDED_SYNTHESIZER = 0x0713, + AUDIO_TERM_TYPE_EMBEDDED_PIANO = 0x0714, + AUDIO_TERM_TYPE_EMBEDDED_GUITAR = 0x0715, + AUDIO_TERM_TYPE_EMBEDDED_DRUMS = 0x0716, + AUDIO_TERM_TYPE_EMBEDDED_OTHER_MUSICAL_INSTRUMENT = 0x0717, +} audio_terminal_embedded_type_t; + /// Rest is yet to be implemented //--------------------------------------------------------------------+ -- cgit v1.3.1 From 8c3b880735f11c37828d6c8b700170e6b6e405ce Mon Sep 17 00:00:00 2001 From: HiFiPHile Date: Wed, 19 Aug 2026 04:57:27 +0200 Subject: Fix audio terminal type typos --- src/class/audio/audio.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/class/audio/audio.h b/src/class/audio/audio.h index 4a47bbe60..82db9ed9e 100644 --- a/src/class/audio/audio.h +++ b/src/class/audio/audio.h @@ -86,13 +86,13 @@ typedef enum { /// 2.4 - Audio Class-Bi-directional Terminal Types UAC2 typedef enum { - AUDIO_TERM_TYPE_BI_DIRECTORAL_UNDEFINED = 0x0400, - AUDIO_TERM_TYPE_BI_DIRECTORAL_HEADSET_HAND_HELD = 0x0401, - AUDIO_TERM_TYPE_BI_DIRECTORAL_HEADSET_MOUNTED = 0x0402, - AUDIO_TERM_TYPE_BI_DIRECTORAL_SPEAKERPHONE = 0x0403, - AUDIO_TERM_TYPE_BI_DIRECTORAL_SPEAKERPHONE_ECHO_SUPPRESS = 0x0404, - AUDIO_TERM_TYPE_BI_DIRECTORAL_SPEAKERPHONE_ECHO_CANCLE = 0x0405, -} audio_terminal_bi_directorial_type_t; + AUDIO_TERM_TYPE_BI_DIRECTIONAL_UNDEFINED = 0x0400, + AUDIO_TERM_TYPE_BI_DIRECTIONAL_HEADSET_HAND_HELD = 0x0401, + AUDIO_TERM_TYPE_BI_DIRECTIONAL_HEADSET_MOUNTED = 0x0402, + AUDIO_TERM_TYPE_BI_DIRECTIONAL_SPEAKERPHONE = 0x0403, + AUDIO_TERM_TYPE_BI_DIRECTIONAL_SPEAKERPHONE_ECHO_SUPPRESS = 0x0404, + AUDIO_TERM_TYPE_BI_DIRECTIONAL_SPEAKERPHONE_ECHO_CANCEL = 0x0405, +} audio_terminal_bi_directional_type_t; /// 2.5 - Audio Class-Telephone Terminal Types UAC2 typedef enum @@ -107,13 +107,13 @@ typedef enum typedef enum { AUDIO_TERM_TYPE_EXTERNAL_UNDEFINED = 0x0600, - AUDIO_TERM_TYPE_EXTERNAL_ANALOG_CONECTOR = 0x0601, + AUDIO_TERM_TYPE_EXTERNAL_ANALOG_CONNECTOR = 0x0601, AUDIO_TERM_TYPE_EXTERNAL_DIGITAL_AUDIO = 0x0602, AUDIO_TERM_TYPE_EXTERNAL_LINE_CONNECTOR = 0x0603, - AUDIO_TERM_TYPE_EXTERNAL_LEGACY_ADUIO_CONNECTOR = 0x0604, + AUDIO_TERM_TYPE_EXTERNAL_LEGACY_AUDIO_CONNECTOR = 0x0604, AUDIO_TERM_TYPE_EXTERNAL_SPDIF_INTERFACE = 0x0605, AUDIO_TERM_TYPE_EXTERNAL_1394_DA_STREAM = 0x0606, - AUDIO_TERM_TYPE_EXTERNAL_1394_DA_STREAM_SOUNDTRACK = 0x0607, + AUDIO_TERM_TYPE_EXTERNAL_1394_DV_STREAM_SOUNDTRACK = 0x0607, AUDIO_TERM_TYPE_EXTERNAL_ADAT_LIGHTPIPE = 0x0608, AUDIO_TERM_TYPE_EXTERNAL_TDIF = 0x0609, AUDIO_TERM_TYPE_EXTERNAL_MADI = 0x060A, @@ -135,7 +135,7 @@ typedef enum AUDIO_TERM_TYPE_EMBEDDED_VIDEO_DISC_AUDIO = 0x070A, AUDIO_TERM_TYPE_EMBEDDED_DVD_AUDIO = 0x070B, AUDIO_TERM_TYPE_EMBEDDED_TV_TUNER_AUDIO = 0x070C, - AUDIO_TERM_TYPE_EMBEDDED_SATELITE_RECEIVER_AUDIO = 0x070D, + AUDIO_TERM_TYPE_EMBEDDED_SATELLITE_RECEIVER_AUDIO = 0x070D, AUDIO_TERM_TYPE_EMBEDDED_CABLE_TUNER_AUDIO = 0x070E, AUDIO_TERM_TYPE_EMBEDDED_DSS_AUDIO = 0x070F, AUDIO_TERM_TYPE_EMBEDDED_RADIO_RECEIVER = 0x0710, -- cgit v1.3.1