This is a tracking issue with design goals for v0.19: - [x] Migrate to Rust 2024 - [ ] Work out extension traits - [ ] RAW mode on WASAPI (#1173) - [ ] Control panel on ASIO (#1074) - [ ] Set identifying stream properties on PipeWire (#1186) - [ ] Exclusive mode on CoreAudio & WASAPI (#106) - [ ] Force / passthrough mode on PipeWire - [ ] Native DSD on WASAPI - [ ] Normalize stream lifecycle: `play/pause` → `start/pause/stop` with draining `stop` (#603) - [ ] Software pause on ALSA (#785) - [ ] Input streams on WASM (#412, #813, #868) - [ ] Refactor `SupportedConfig` types (#956) - [ ] Consider merging various types (#676) - [ ] Consider distinguishing discrete & continuous sample rates - [ ] Refactor `BufferSize` with range support (#447, #446, #534) - [x] `Device` across thread boundaries (`Send + Sync`) (#435) - [ ] Duplex stream API (#349, #628) 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(Inconsistent stream auto-play behavior #603)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.