summaryrefslogtreecommitdiff
path: root/src/class/video/video_device.c
AgeCommit message (Collapse)Author
2026-07-02license: use SPDX identifiers for src/ headers (#3749)Ha Thach
* 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.
2026-06-19video: assert usbd_edpt_iso_activate() result in _open_vs_itf()hathach
The isochronous streaming endpoint was activated with the usbd_edpt_iso_activate() return value ignored, unlike every neighbouring open in the same function (usbd_edpt_open() is wrapped in TU_ASSERT on both the non-ISO-alloc fallback and the bulk branch). When a DCD refuses the iso endpoint -- e.g. it has no isochronous support, or the requested packet size does not fit its endpoint buffers -- that failure was silently swallowed and the alternate setting was reported as opened, leaving the host streaming to an endpoint the device never armed. Wrap it in TU_ASSERT so the open fails cleanly and the refusal propagates, matching the adjacent endpoint-open calls. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-03-09revert _end_of_control_descriptor to Revision: ↵YixingShen
0a45308a296251e4376815b21f89f0038c75a60e
2026-03-09extend video control parsing to include class-specific VC endpoint descriptorhathach
2026-03-07fixed _end_of_control_descriptor logic. wTotalLength does not include ↵YixingShen
Standard Endpoint Descriptor and Class-specific VC Interrupt Endpoint Descriptor, so fix that _end_of_control_descriptor include Standard Endpoint Descriptor and Class-specific VC Interrupt Endpoint Descriptor. It will also fix _close_vc_itf, _open_vc_itf. _find_desc_entity parsing.
2026-03-07Update src/class/video/video_device.c沈玴興
Co-authored-by: Copilot <[email protected]>
2026-03-07cleanupYixingShen
2026-03-07fixed _open_vc_itf parsingYixingShen
Standard Interface Descriptor (Video Control) Video Control Header Descriptor Video Control Camera Terminal Descriptor Video Control Output Terminal Descriptor Standard Endpoint Descriptor Class-Specific VC Interrupt Endpoint Descriptor Video Control Header Descriptor's wTotalLength = Header Descriptor + Camera Terminal Descriptor + Output Terminal Descriptor _end_of_control_descriptor is Output Terminal Descriptor End the "end" should +7 for _find_desc searchig Standard Endpoint Descriptor
2025-11-19Merge remote-tracking branch 'tinyusb/master' into ↵HiFiPhile
copilot/fix-dcd-edpt-xfer-issue Signed-off-by: HiFiPhile <[email protected]>
2025-11-14Merge remote-tracking branch 'tinyusb/master' into embedded-ideas/masterMengsk
Signed-off-by: Mengsk <[email protected]>
2025-11-11Merge remote-tracking branch 'tinyusb/master' into ↵HiFiPhile
copilot/fix-dcd-edpt-xfer-issue Signed-off-by: HiFiPhile <[email protected]>
2025-11-04Fixed more alert found by PVS-Studiohathach
2025-11-03fix more warnings/alertshathach
2025-10-31Fixed trailing whitespaces in files (used wrong editor)Tobi
2025-10-30Video class: Changed pararameters of payload request to a dedicated ↵Tobi
structure in order to meet coding guideliness
2025-10-30Video Class: New callback function added which allows to generate frame data ↵Tobi
on the fly - If buffer is set to NULL, the callback will request payload data from a user function. This allows to work with dynamic content on platforms which are not able to hold a whole frame in memory. - Callback uses the same "weak" linking as other callbacks for this class.
2025-10-22Add is_isr parameter to usbd_edpt_xfer and usbd_edpt_xfer_fifocopilot-swe-agent[bot]
- Added bool is_isr parameter to usbd_edpt_xfer() and usbd_edpt_xfer_fifo() wrapper functions - These are called by class drivers to queue USB transfers - Updated all callers to pass false by default (non-ISR context) - Updated audiod_rx_xfer_isr() and audiod_tx_xfer_isr() to pass true (ISR context) - All 21 unit tests pass Co-authored-by: HiFiPhile <[email protected]>
2025-09-17Update weak callbacks to new syntaxHiFiPhile
Signed-off-by: HiFiPhile <[email protected]>
2024-12-06Merge pull request #2656 from lijunru-hub/feat/uvc_support_frame_basedHa Thach
feat(uvc): support format frame based
2024-11-28Merge branch 'master' into fork/pschatzmann/rp2040-isohathach
2024-11-22TUD_EPBUF_TYPE_DEF video_device.chathach
2024-10-15RP2040 New ISO APIpschatzmann
2024-10-14change the tusb_rhport_init_t struct, exclude the rhport to make API more ↵hathach
consistent
2024-07-18fixed _find_desc_formatYixingShen
2024-05-22feat(uvc): support format frame basedLi Junru
2024-04-09Fix tud_video_n_streaming checkHiFiPhile
2024-04-08Merge pull request #1835 from MasterQ32/otg_bringupHa Thach
Implements deinit functions for host/device mode switch
2024-04-08add class driver deinithathach
2024-04-06Move TUP_DCD_EDPT_ISO_ALLOC outside usbd_edpt_close() loop.HiFiPhile
2024-04-02Add endpoint ISO allocation to video class.HiFiPhile
2024-03-20added dedicate buffer for probe commit payloadhathach
2024-03-20improve uvc debug messagehathach
2024-03-18fix: uvc multiple interface supportLi Junru
1. fix next interface may have IAD_DESC 2. fix vs_itf can't be open on bulk mode.
2024-02-20video_device: fix uninitialized warningBob Abeles
2024-01-26rename and add more video descriptorshathach
use struct to define uvc descriptor for video_capture since uvc is rather too complicated to use macro templates
2024-01-25minor update to video capture examplehathach
2023-08-04Merge branch 'master' into masterHa Thach
2023-08-02default class driver log level to CFG_TUH/TUD_LOG_LEVEL allow application to ↵hathach
selectively disable usbd/usbh or driver log
2023-07-24rename CFG_TUSB_MEM_SECTION to CFG_TUD_MEM_SECTION in device stackhathach
CFG_TUD_MEM_SECTION is default to CFG_TUSB_MEM_SECTION
2023-07-02made line ends consistent.Lars Pötter
2023-03-26Add state variablekkitayam
2023-03-25Update handle streaming interfacekkitayam
2023-03-25Fix streaming interface handlingkkitayam
2023-03-25Add handling for bulk EPskkitayam
2023-03-17fix trailing space and new linehathach
temporarily disable codespell
2023-02-22use tu_static instead of static _fuzz_threadhathach
2023-02-22Merge pull request #1867 from silvergasp/thread_local_globalsHa Thach
fix: Change all static variables to thread when fuzzing
2023-02-22rename maros from FUZZ to _FUZZ, change TU_STATIC to static _fuzz_threadhathach
2023-01-20fix: Change all static variables to thread when fuzzingNathaniel Brough
2023-01-20fix warnings with arithmetic on void* pointerhathach