<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/class/audio, branch update-sponsor</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/class/audio?h=update-sponsor</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/class/audio?h=update-sponsor'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-08-19T02:57:27Z</updated>
<entry>
<title>Fix audio terminal type typos</title>
<updated>2026-08-19T02:57:27Z</updated>
<author>
<name>HiFiPHile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-08-19T02:57:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=8c3b880735f11c37828d6c8b700170e6b6e405ce'/>
<id>urn:sha1:8c3b880735f11c37828d6c8b700170e6b6e405ce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>UAC2: Add more terminal types</title>
<updated>2026-08-18T13:37:37Z</updated>
<author>
<name>Jerzy Kasenberg</name>
<email>jerzy.kasenberg@codecoup.pl</email>
</author>
<published>2026-08-18T13:37:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=9b05c706272c5344284f7f8b4b53b1aefe082968'/>
<id>urn:sha1:9b05c706272c5344284f7f8b4b53b1aefe082968</id>
<content type='text'>
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 &lt;jerzy.kasenberg@codecoup.pl&gt;
</content>
</entry>
<entry>
<title>audio_device: enforce the documented FIFO minimum in the EP-IN flow-control guard</title>
<updated>2026-08-04T19:09:20Z</updated>
<author>
<name>rt-rtos</name>
<email>rasmus.tikkanen95@gmail.com</email>
</author>
<published>2026-08-04T19:09:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=b0738b5949130d5ab175835d72bb793830d09bc9'/>
<id>urn:sha1:b0738b5949130d5ab175835d72bb793830d09bc9</id>
<content type='text'>
The comment above audiod_tx_packet_size() states flow control needs a FIFO
of at least 4*Navg, but the guard tests nominal_size[1] &lt;= fifo_depth * 4 -
true for any FIFO larger than a quarter packet - instead of
nominal_size[1] * 4 &lt;= fifo_depth. As written, flow control engages on
FIFOs far below its own documented minimum, where the depth/2 setpoint sits
within one packet of empty and the packet_size = 0 branch (a zero-length
packet, i.e. an audible 1 ms dropout for audio-class hosts) is reachable
from ordinary scheduling jitter rather than only from gross clock
deviation. With the guard corrected, undersized FIFOs fall back to the
plain min(count, max) path as intended.
</content>
</entry>
<entry>
<title>audio: drop stale EP-busy note in audiod_set_interface</title>
<updated>2026-07-09T16:38:49Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-09T16:38:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=411fc4127f17afe81c5a443008e883dd58390238'/>
<id>urn:sha1:411fc4127f17afe81c5a443008e883dd58390238</id>
<content type='text'>
Co-Authored-By: Claude Fable 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg
</content>
</entry>
<entry>
<title>license: use SPDX identifiers for src/ headers (#3749)</title>
<updated>2026-07-02T14:55:45Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-02T14:55:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7a4111b96ef6279e75579f9a18443834f6a0871d'/>
<id>urn:sha1:7a4111b96ef6279e75579f9a18443834f6a0871d</id>
<content type='text'>
* license: use SPDX identifiers for src/ headers

Replace the full ~20-line MIT license boilerplate on every src/ file with a
two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following
the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500
lines of duplicated boilerplate.</content>
</entry>
<entry>
<title>class/audio: remove unused audio20_control_request_t</title>
<updated>2026-06-18T09:36:05Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-06-18T09:36:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=edf675f468a9ff7ac8c5e14d41d1060f3296fb2b'/>
<id>urn:sha1:edf675f468a9ff7ac8c5e14d41d1060f3296fb2b</id>
<content type='text'>
After the UAC2 examples switched to tusb_control_request_t with
TU_U16_HIGH/LOW() extraction, audio20_control_request_t is no longer
referenced anywhere in the tree. It is a byte-overlay of the setup
packet whose bChannelNumber/bControlSelector/bInterface/bEntityID
sub-byte fields silently misread on big-endian once wValue/wIndex are
converted to host order (tu_le16toh in dcd.h), so leaving it in the
public header is a latent BE trap; the BE bitfield guard previously
added to its bmRequestType_bit only masked that by guarding byte 0.

Drop the struct entirely. Callers should use tusb_control_request_t and
TU_U16_LOW/HIGH(wValue|wIndex), matching audio_device.c and the examples.

Co-Authored-By: Claude Opus 4.8 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: add BE bitfield guards for audio and fix UAC2 example endian-safe field extraction</title>
<updated>2026-04-25T18:09:55Z</updated>
<author>
<name>copilot-swe-agent[bot]</name>
<email>198982749+Copilot@users.noreply.github.com</email>
</author>
<published>2026-04-25T18:09:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4c5c346582e17c61986c6ee61e962d9738cd33fd'/>
<id>urn:sha1:4c5c346582e17c61986c6ee61e962d9738cd33fd</id>
<content type='text'>
- Add TU_BITFIELD_ORDER guards for audio10_desc_as_iso_data_ep_t.bmAttributes in audio.h
- Add TU_BITFIELD_ORDER guards for audio20_control_request_t.bmRequestType_bit in audio.h
- Fix cdc_uac2/src/uac2_app.c: replace alias cast with TU_U16_LOW/HIGH field extraction
- Fix uac2_headset/src/main.c: replace alias cast with TU_U16_LOW/HIGH field extraction
- Fix uac2_speaker_fb/src/main.c: replace alias cast with TU_U16_LOW/HIGH field extraction

Addresses review comment: https://github.com/hathach/tinyusb/pull/3597#issuecomment-4320042007

Agent-Logs-Url: https://github.com/hathach/tinyusb/sessions/8b695271-74b3-4a26-b3d8-c48ecdf2e481

Co-authored-by: HiFiPhile &lt;4375114+HiFiPhile@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>refactor(usbd): replace `_usbd_ctrl_epbuf` with `usbd_get_ctrl_buf()` for cleaner abstraction and consistency across modules</title>
<updated>2026-03-11T08:14:09Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-11T08:14:09Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2e29388051b2d92d2d254e3ce5967bfec2b9720f'/>
<id>urn:sha1:2e29388051b2d92d2d254e3ce5967bfec2b9720f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'tinyusb/master' into ep0_direct</title>
<updated>2026-01-06T17:42:58Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-01-06T17:42:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=60154a128795bcd6ca36042cac1b8bebf1a2764e'/>
<id>urn:sha1:60154a128795bcd6ca36042cac1b8bebf1a2764e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tusb_fifo remove item_size make it fifo of bytes</title>
<updated>2025-12-30T11:12:32Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-12-30T11:09:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4e4398898040118969421dc236ec8f453f9b503d'/>
<id>urn:sha1:4e4398898040118969421dc236ec8f453f9b503d</id>
<content type='text'>
</content>
</entry>
</feed>
