mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
RetroFW's jz4760 OSS driver moves a node to the codec in 16-byte DMA units: it drops a write's remainder, and a write under one unit starts a transfer of none. The threaded pipeline writes any number of frames, so most writes lost one to three frames - static at its rate of writes - and a short one could leave the device playing nothing it was given. On RetroFW a write now goes out in whole units, its remainder held to lead the next one. samples/audio/oss_report models that DMA; built with RETROFW=1, which CI now does, it checks every node is whole units and plays in order. Fixes #20006