I'm developing a low-latency USB audio-MIDI driver using AudioDriverKit and USBDriverKit for macOS and iPadOS.
I've observed occasional delays in USB completion callbacks. The manufacturer's official macOS driver uses IOUSBHost to queue longer isochronous transfers and update their mapped OUT buffers as audio samples become available.
I've reviewed the relevant IOKit and IOUSBHost documentation, but haven't established whether USBDriverKit supports an equivalent approach.
Does USBDriverKit permit modifying portions of a CreateIOBuffer OUT buffer while an IsochIO request is still pending, specifically to supply audio for future USB frames?
If so, what synchronization requirements and controller-prefetch guarantees determine the latest safe time to update those regions?
If this isn't supported, is there a recommended alternative for maintaining low-latency isochronous audio despite delayed completion callbacks?
Thanks.
Topic:
App & System Services
SubTopic:
Drivers
Tags:
AudioDriverKit
DriverKit
Core Audio
USBDriverKit
5
0
216