|
dxd - dynax driver framework 3.0.0f222
cross platform open source driver development framework
|
coreaudio::server::device::io_start(): starts every pin unconditionally; not yet rate-aware for devices with multiple alternate settings per stream
coreaudio::device::io_start(): check stream state while waiting for cycle switch
coreaudio::server::device::property(): property::device::clients: replace cf::array by cf::dictionary with PIDs as keys
kAudioSelectorControlPropertyAvailableItems: calc clock # settings offset for multiple clock support
RT-unsafe: this branch logs (std::clog: heap alloc + os_log) on the coreaudiod IO thread
whenever a dropout/discontinuity occurs at the default log level. Needs a lock-free
counter/flag incremented here and drained + logged by a non-RT thread instead, so the
diagnostic survives at production log levels without doing unsafe work on this thread.
RT-unsafe: same as the ReadInput branch above (std::clog on the IO thread on dropout).
evaluate kAudioStreamPropertyIsActive: seems to never get requested
remove operator=(::MIDIDriverRef)
coremidi::server::pin::send(): support fractional MIDI package commit
coremidi::server::pin::send(): multi port support utilizing split stream this->index mask
dx::coremidi::server::pin::receive: make MIDI flow control threshold accessible
evaluate non-transaction size transmit handling
evaluate transaction size vs. ring buffer read size
USB HW clock support: hardcoded to USB/out - needs to be handled by clock class
: check and refuse IRQL; handle completion
:for asynchronous IRP request: move buffered copy into completion!