<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/examples/host/audio_host/src/tusb_config.h, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/examples/host/audio_host/src/tusb_config.h?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/examples/host/audio_host/src/tusb_config.h?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-09-03T02:46:14Z</updated>
<entry>
<title>improve example details</title>
<updated>2026-09-03T02:46:14Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-09-03T02:45:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=ef404be0337b1486b0a45acd248639ac8dea6c15'/>
<id>urn:sha1:ef404be0337b1486b0a45acd248639ac8dea6c15</id>
<content type='text'>
Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>audio: add UAC2 host streaming support</title>
<updated>2026-08-27T08:34:33Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-26T13:54:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=cca648556dd0c096aa7210ee5a2b962efae36440'/>
<id>urn:sha1:cca648556dd0c096aa7210ee5a2b962efae36440</id>
<content type='text'>
Add protocol-selectable UAC1/UAC2 parsing, UAC2 terminal and Feature Unit topology, Clock Source discovery, sampling-frequency ranges, and protocol-specific stream controls. Cover UAC2 playback, capture, control discovery, and malformed descriptors with unit tests.

Signed-off-by: HiFiPHile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>feat(class/audio): rework TUH_AUDIO into a WASAPI/ALSA-like stream API</title>
<updated>2026-08-14T03:17:00Z</updated>
<author>
<name>Zhang, Zhenjiang</name>
<email>zhenjiang.zhang@gehealthcare.com</email>
</author>
<published>2026-08-14T03:10:23Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=c950109bcef6404971c3609a6e4caeb0421120b8'/>
<id>urn:sha1:c950109bcef6404971c3609a6e4caeb0421120b8</id>
<content type='text'>
Provide a high-level audio streaming API over UAC 1.0 devices while
keeping the USB topology private: applications select supported
{format, sample_rate, channels} configurations per logical stream, and
the driver owns the mapping to AS interface, alternate setting, and
endpoint.

- One logical stream per direction per instance; multiple AS interfaces
  and alternate settings in a direction are merged into the stream's
  configuration list (discrete tuples; continuous ranges exposed as a
  single configuration at the top rate)
- Asynchronous tuh_audio_configure(): SET_INTERFACE to the selected
  alternate setting, open/reconfigure the endpoint, set the sampling
  frequency when supported, initialize the FIFO and packet scheduler,
  then invoke the completion callback
- Frame-based FIFO streaming: tuh_audio_read()/tuh_audio_write() queue
  whole frames; the driver owns transfer replenishment and fractional
  packet scheduling (44.1 kHz pays back the 0.1 frame/ms remainder via
  an accumulator for exact average pacing)
- tuh_audio_start()/tuh_audio_stop() activate/deactivate the stream
  interface through SET_INTERFACE (alt n / alt 0)

Driver correctness fixes:
- Parse only the AC header's interface collection; MIDI Streaming and
  other subclasses are skipped
- Keep every discrete format as a separate configuration; endpoints are
  opened only for the alternate setting selected by tuh_audio_configure()
- Check tuh_interface_set() return values and SET_INTERFACE transfer
  results instead of ignoring failures
- Validate instance state, direction, buffers, and frame counts in every
  transfer API
- Feature Unit requests use the control's real width (mute/AGC/loudness
  1 byte, others 2 bytes) and convert multibyte values to host order
- Failed/stalled/aborted isochronous transfers reach only the error
  callback, never the capture/playback callbacks

The audio_host example uses the new API: 48 kHz stereo by default,
automatic stream restart on error callbacks, a sine test tone on the
playback stream, and periodic mic-only / spk-only / echo phase switching.
</content>
</entry>
<entry>
<title>fix(class/audio): handle non-audio interface in enumeration and fix async control transfer buffer</title>
<updated>2026-07-17T02:40:44Z</updated>
<author>
<name>Zhang, Zhenjiang</name>
<email>zhenjiang.zhang@gehealthcare.com</email>
</author>
<published>2026-07-17T02:40:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=817807dc64ae3124a315f42d67eb00271c3846e0'/>
<id>urn:sha1:817807dc64ae3124a315f42d67eb00271c3846e0</id>
<content type='text'>
- Stop parsing at first non-Audio interface in audioh_open to avoid claiming unrelated interfaces
- Call usbh_driver_set_config_complete for AS and unknown interfaces to allow enumeration to continue
- Add global ctrl endpoint buffer to audioh_epbuf_t to fix use-after-return in feature_unit_set
- Add sampling_freq NULL check and initialize to 0 in tuh_audio_get_sampling_freq
- Change BOARD_TUH_RHPORT from 1 to 0 in audio_host example
- Add only.txt with supported MCU/family list for audio_host example
</content>
</entry>
<entry>
<title>feat(audio): add USB Audio Host (UAC 1.0) support</title>
<updated>2026-07-16T07:03:31Z</updated>
<author>
<name>Zhang, Zhenjiang</name>
<email>zhenjiang.zhang@gehealthcare.com</email>
</author>
<published>2026-07-16T07:03:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=439015377976bb51f6d9ae6c3101b72385ecfb1a'/>
<id>urn:sha1:439015377976bb51f6d9ae6c3101b72385ecfb1a</id>
<content type='text'>
Add TinyUSB Host Audio class driver supporting UAC 1.0 devices.

Features:
- Support multiple Audio Streaming (AS) interfaces with independent format storage
- Support both IN (Microphone) and OUT (Speaker) endpoints
- Per-AS interface format info: channels, sample rate, bit resolution
- Support Feature Unit volume control
- Support sampling frequency get/set
- Add host/audio_host example for STM32F407 discovery board
- Support mono-to-stereo conversion for loopback

Changes:
- Add src/class/audio/audio_host.c and audio_host.h
- Register AUDIO driver in usbh.c
- Add CFG_TUH_AUDIO macro in tusb_option.h
- Add host/audio_host example with CMake and Makefile build support

Tested with Jabra USB headset (stereo speaker + mono microphone) on STM32F407 disco.
</content>
</entry>
</feed>
