This is a tracking issue with design goals for v0.19:
Migrate to Rust 2024
Work out extension traits
Native DSD on WASAPI
Normalize stream lifecycle: play/pause → start/pause/stop with draining stop (feat: rename StreamTrait::play to start, add draining stop #1258 )
Software pause on ALSA (feat: rename StreamTrait::play to start, add draining stop #1258 )
Input streams on WASM (Add support for input streams to webaudio host #412 , What would it take to make WebAssembly audio inputs happen? #813 , In Wasm, Only Output Can be Used ? #868 )
Refactor SupportedConfig types (SupportedStreamConfig(Range) API inconsistencies - can we have a SupportedStreamConfig.try_with_fixed_buffer_size? #956 )
Refactor BufferSize with range support (Consider adding a BufferSize::Near variant (alternative to Default and Fixed) #447 , Reviewing and deciding upon a default buffer size strategy for ALSA #446 , [WASAPI] Using fixed buffer size when the only available output config shows 'Unknown' buffer size ? #534 )
Device across thread boundaries (Send + Sync) (Provide the tools to pass devices (and the rest) around across Send/Sync boundaries #435 )
Duplex stream API (Duplex Stream Support #349 , Plan for implementing an ALSA duplex API #628 , feat: add duplex stream API (interface only; backends to follow) #1229 , feat: duplex support for pipewire #1272 )
Target date: when it's done; feature set may change at any time.
This is a tracking issue with design goals for v0.19:
play/pause→start/pause/stopwith drainingstop(feat: rename StreamTrait::play to start, add draining stop #1258)SupportedConfigtypes (SupportedStreamConfig(Range) API inconsistencies - can we have aSupportedStreamConfig.try_with_fixed_buffer_size? #956)SupportedStreamConfig? #676)BufferSizewith range support (Consider adding aBufferSize::Nearvariant (alternative toDefaultandFixed) #447, Reviewing and deciding upon a default buffer size strategy for ALSA #446, [WASAPI] Using fixed buffer size when the only available output config shows 'Unknown' buffer size ? #534)Deviceacross thread boundaries (Send + Sync) (Provide the tools to pass devices (and the rest) around across Send/Sync boundaries #435)Target date: when it's done; feature set may change at any time.