Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Unreleased
Added
DeviceBusyerror variant toSupportedStreamConfigsError,DefaultStreamConfigError, and
BuildStreamErrorfor retryable device access errors (EBUSY, EAGAIN).StreamConfignow implementsCopy.StreamTrait::buffer_size()to query the stream's current buffer size in frames per callback.device_by_idis now dispatched to each backend's implementation, allowing to override it.- ALSA:
device_by_idnow accepts PCM shorthand names such ashw:0,0andplughw:foo. - PipeWire: New host for Linux and some BSDs using the PipeWire API.
- PulseAudio: New host for Linux and some BSDs using the PulseAudio API.
Changed
- Public error enums are now marked
#[non_exhaustive]to allow adding variants without
SemVer-breaking changes. DeviceTrait::build_*_streamnow takesStreamConfigby value instead of&StreamConfig- AAudio: Device names now include the device type suffix (e.g. "Speaker (Builtin Speaker)")
for easier identification when enumerating devices. - AAudio:
supported_input_configsandsupported_output_configsnow return an error for
direction-mismatched devices (e.g. querying input configs on an output-only device) instead of
silently returning an empty list. - AAudio: Bump MSRV to 1.85.
- AAudio: Buffers with default sizes are now dynamically tuned.
- ALSA: Device disconnection now stops the stream with
StreamError::DeviceNotAvailableinstead of looping. - ALSA: Polling errors trigger underrun recovery instead of looping.
- ALSA: Try to resume from hardware after a system suspend.
- ALSA: Loop partial reads and writes to completion.
- ALSA: Prevent reentrancy issues with non-reentrant plugins and devices.
- ASIO:
Device::driver,asio_streams, andcurrent_callback_flagare no longerpub. - ASIO: Timestamps now include driver-reported hardware latency.
- ASIO: Hardware latency is now re-queried when the driver reports
kAsioLatenciesChanged. - ASIO: Stream error callback now receives
StreamError::BufferUnderrunonkAsioResyncRequest. - ASIO: Stream error callback now receives
StreamError::StreamInvalidatedwhen the driver reports a sample rate change (sampleRateDidChange) of 1 Hz or more from the configured rate. - CoreAudio: Timestamps now include device latency and safety offset.
- JACK: Timestamps now use the precise hardware deadline.
- Linux/BSD: Default host in order from first to last available now is: PipeWire, PulseAudio, ALSA.
- WASAPI: Timestamps now include hardware pipeline latency.
- WebAudio: Bump MSRV to 1.85.
- WebAudio: Timestamps now include base and output latency.
- WebAudio: Initial buffer scheduling offset now scales with buffer duration.
Fixed
- Reintroduce
audio_thread_priorityfeature. - Fix numeric overflows in calls to create
StreamInstantin ASIO, CoreAudio and JACK. - AAudio: Fix thread lock when a stream is dropped before it fully starts.
- AAudio: Fix invalid capture and playback timestamps.
- ALSA: Fix capture stream hanging or spinning on overruns.
- ALSA: Fix non-monotonic
StreamInstantduring stream startup. - ALSA: Fix spurious timestamp errors during stream startup.
- ALSA: Fix spurious timeout errors during polling.
- ALSA: Fix rare panics when dropping the stream is interrupted.
- ALSA: Fix timestamp overflows on 32-bit platforms.
- ASIO: Fix enumeration returning only the first device when using
collect. - ASIO: Fix device enumeration and stream creation failing when called from spawned threads.
- ASIO: Fix buffer size not resizing when the driver reports
kAsioBufferSizeChange. - ASIO: Fix latency not updating when the driver reports
kAsioLatenciesChanged. - ASIO: Fix distortion when buggy drivers fire the buffer callback multiple times per cycle.
- CoreAudio: Fix undefined behaviour and silent failure in loopback device creation.
- Emscripten: Fix build failure introduced by newer
wasm-bindgenversions. - JACK: Fix input capture timestamp using callback execution time instead of cycle start.
0.17.3 - 2026-02-18
Changed
- Reverted SemVer-breaking
DeviceBusyerror variant addition.
Fixed
- ASIO: Fix linker errors.
0.17.2 - 2026-02-08 [YANKED]
Added
DeviceBusyerror variant for retriable device access errors (EBUSY, EAGAIN).- ALSA:
Debugimplementations forHost,Device,Stream, and internal types. - ALSA: Example demonstrating ALSA error suppression during enumeration.
- ALSA: Support for native DSD playback.
- WASAPI: Enable as-necessary resampling in the WASAPI server process.
Changed
- Bump overall MSRV to 1.78.
- ALSA: Update
alsadependency to 0.11. - ALSA: Bump MSRV to 1.82.
- CoreAudio: Update
core-audio-rsdependency to 0.14.
Fixed
- ALSA: Enumerating input and output devices no longer interferes with each other.
- ALSA: Device handles are no longer exclusively held between operations.
- ALSA: Reduce Valgrind memory leak reports from ALSA global configuration cache.
- ALSA: Fix possible race condition on drop.
- ALSA: Fix audio callback stalling when start threshold is not met.
0.17.1 - 2026-01-04
Added
- ALSA:
Defaultimplementation forDevice(returns the ALSA "default" device). - CI: Checks default/no-default/all feature sets with platform-dependent MSRV for JACK.
Changed
- ALSA: Devices now report direction from hint metadata and physical hardware probing.
Fixed
- ALSA: Device enumeration now includes both hints and physical cards.
- JACK: No longer builds on iOS.
- WASM: WasmBindgen no longer crashes (regression from 0.17.0).
0.17.0 - 2025-12-20
Added
DeviceTrait::idmethod that returns a stable audio device ID.HostTrait::device_by_idto select a device by its stable ID.DisplayandFromStrimplementations forHostId.- Support for custom
Hosts,Devices, andStreams. Sample::bits_per_samplemethod.Copyimplementation toInputCallbackInfoandOutputCallbackInfo.StreamError::StreamInvalidatedvariant for when stream must be rebuilt.StreamError::BufferUnderrunvariant for buffer underrun/overrun notifications.Hashimplementation toDevicefor all backends.- AAudio:
SendandSyncimplementations toStream. - AAudio: Support for 12 and 24 kHz sample rates.
- ALSA:
I24andU24sample format support (24-bit samples stored in 4 bytes). - ALSA: Support for 12, 24, 352.8, 384, 705.6, and 768 kHz sample rates.
- ALSA:
EqandPartialEqimplementations toDevice. - CI: Native ARM64 Linux support in GitHub Actions.
- CoreAudio:
i8,i32andI24sample format support (24-bit samples stored in 4 bytes). - CoreAudio: Support for loopback recording (recording system audio output) on macOS > 14.6.
- CoreAudio:
Sendimplementation toStream. - Emscripten:
BufferSize::Fixedvalidation against supported range. - iOS: Complete AVAudioSession integration for device enumeration and buffer size control.
- JACK: Support for macOS and Windows platforms.
- JACK:
BufferSize::Fixedvalidation to reject requests that don't match server buffer size. - WASAPI: Expose
IMMDevicefrom WASAPI host Device. - WASAPI:
I24andU24sample format support (24-bit samples stored in 4 bytes). - WASAPI:
SendandSyncimplementations toStream. - WebAudio:
SendandSyncimplementations toStream. - WebAudio:
BufferSize::Fixedvalidation against supported range.
Changed
- MSRV depends on the platform and at minimum 1.77.
- Set examples to Rust 2021.
SampleRatefrom struct tou32type alias.- Update
audio_thread_priorityto 0.34. - Migrate CHANGELOG to Keep a Changelog format.
- AAudio: Configure buffer to ensure consistent callback buffer sizes.
- AAudio: Buffer size range detection to query the AudioService property correctly.
- ALSA: Improve
BufferSize::Fixedprecision and audio callback performance. - ALSA:
BufferSize::Defaultto use the device defaults. - ALSA: Card enumeration to work like
aplay -Ldoes. - ALSA: Update
alsato 0.10. - ALSA: Pass
silent=truetoPCM.try_recover, so it doesn't write to stderr. - ALSA: Report buffer underruns/overruns via
StreamError::BufferUnderrun. - ASIO: Share
sys::Asioinstance across allHostinstances. - CI: Fix cargo publish to trigger on GitHub releases instead of every master commit.
- CI: Replace cargo install commands with cached tool installation for faster builds.
- CI: Update actions to latest versions (checkout@v5, rust-cache@v2).
- CI: Verify compatibility with windows crates since v0.59.
- CI: Test platforms on appropriate MSRV per backend.
- CI: Fix
cargo updatesyntax for compatibility with Cargo 1.70 (use-pflag instead of positional argument). - CoreAudio:
Device::supported_configsto return a single element containing the available sample rate range when all elements have the samemMinimumandmMaximumvalues. - CoreAudio: Default audio device detection to be lazy when building a stream, instead of during device enumeration.
- CoreAudio: Configure device buffer to ensure predictable callback buffer sizes.
- CoreAudio: Remove
Cloneimplementation fromStream. - JACK: Use
StreamError::StreamInvalidatedfor JACK server sample rate changes. - JACK: Report buffer underruns/overruns via
StreamError::BufferUnderrun. - WASAPI: Update
windowsto >= 0.59, <= 0.62.
Fixed
- ALSA: Format selection to probe hardware endianness instead of assuming native byte order.
- ALSA: Data race in stream shutdown.
- ASIO: Handling for
kAsioResetRequestmessage to prevent driver UI becoming unresponsive. - ASIO: Buffer silencing logic to work with non-conformant drivers (e.g., FL Studio ASIO).
- CoreAudio: Timestamp accuracy.
- CoreAudio: Segfaults when enumerating devices.
- CoreAudio: Undefined behavior related to null pointers and aligned reads.
- CoreAudio: Unnecessary microphone permission requests when using output devices only.
- iOS: Example by properly activating audio session.
Removed
- WebAudio: Optional
wee-allocfeature for security reasons.
0.16.0 - 2025-06-07
Added
- Optional
supports_input/outputmethods toDeviceTrait. - 384000Hz to
COMMON_SAMPLE_RATES. - Constructors for
InputCallbackInfo,OutputCallbackInfoandStreamInstant. Defaultimpl forHost.PartialOrd,OrdandHashimplementations forSampleFormat.Clone,PartialEq,EqandHashimplementations for all error enums.- ASIO: Support for int24.
Changed
- AAudio: Migrate from
oboetondk::audio. NOTE: This raises the minimum Android API version to 26 (Android 8/Oreo). - AAudio: Improve device names.
- ALSA: Set realtime priority for stream threads.
- ALSA: Improved card enumeration.
- CoreAudio: Update
coreaudio-rsdependency to 0.13. - JACK: Update
jackdependency to 0.13. - WASAPI: Set realtime priority for stream threads.
Fixed
- ALSA: Don't panic when handling invalid stream timestamps.
- ALSA: Fix infinite loop on broken pipes.
- ASIO: Fix build failure on Windows.
- CoreAudio: Fix callback being called after dropping the stream.
- CoreAudio: Fix non-default audio output.
- CoreAudio: Fix handling of integer input formats.
- WASAPI: Fixed memory leak.
- WASAPI: Remove usage of
eval.
0.15.3 - 2024-03-04
Added
try_with_sample_rate, a non-panicking variant ofwith_sample_rate.#[must_use]attribute to structplatform::Stream.Copyimplementation to enumSupportedBufferSizeand structSupportedStreamConfigRange.Cloneimplementation toplatform::Device.
Changed
- AAudio: Update
jnidependency to 0.21. - AAudio: Update
oboedependency to 0.6. - AAudio: Update
ndkdependency to 0.8 and disabledefault-features. - ALSA: Update
alsadependency to 0.9. - CI: Update actions, use Android 30 API level in CI, remove
asmjs-unknown-emscriptentarget. - Examples: Migrate wasm example to
trunk, improve syth-thones example. - WASAPI: Update
windowsdependency to v0.54. - WebAudio: Update
wasm-bindgento 0.2.89.
Fixed
- WebAudio: Crash on web/wasm when
atomicsflag is enabled.
Removed
parking_lotdependency in favor of the std library.
0.15.2 - 2023-03-30
Added
- WebAudio: Support for multichannel output streams.
Changed
- WASAPI: Update
windowsdependency.
Fixed
- WASAPI: Fix some thread panics.
0.15.1 - 2023-03-14
Added
- AAudio: Feature
oboe-shared-stdcxxto enableshared-stdcxxonoboefor Android support.
Changed
- CoreAudio: Switch
machdependency tomach2.
Removed
thiserrordependency.
0.15.0 - 2023-01-29
Added
- CoreAudio: Disconnection detection on Mac OS.
Changed
- Switch to the
dasp_samplecrate for the sample trait. - Adopt edition 2021.
- AAudio: Update
oboedependency. - AAudio: Update
alsadependency. - CoreAudio: Update
coreaudio-sysdependency. - Emscripten: Switch to
web-syson the emscripten target. - JACK: Update
jackdependency. - WASAPI: Update
windows-rsdependency.
0.14.2 - 2022-12-02
Removed
nixdependency.
0.14.1 - 2022-10-23
Added
- ALSA: Support for the 0.6.1 release of
alsa-rs. - NetBSD: Platform support.
Changed
- CI: Various improvements.
Fixed
- ASIO: Feature broken in 0.14.0.
0.14.0 - 2022-08-22
Changed
- Update
parking_lotandonce_celldependencies. - AAudio: Turn
ndk-glueinto a dev-dependency and usendk-contextinstead. - AAudio: Update
ndkandndk-gluedependencies. - JACK: Update
jackdependency. - WASAPI: Switch to
windows-rscrate.
0.13.5 - 2022-01-28
Changed
- Faster sample format conversion.
- AAudio: Update
ndk,oboe, andndk-gluedependencies. - ALSA: Update
alsaandnixdependencies. - JACK: Update
jackdependency.
0.13.4 - 2021-08-08
Changed
- AAudio: Update
jnidependency. - ALSA: Improve stream setup parameters.
- CoreAudio: Update
core-foundation-sysdependency. - JACK: Update
rust-jackdependency. - WASAPI: Allow both threading models and switch the default to STA.
0.13.3 - 2021-03-29
Added
- Give each thread a unique name.
Fixed
- ALSA: Fix distortion regression on some configs.
0.13.2 - 2021-03-16
Changed
- AAudio: Update
ndk,nix,oboe, andjnidependencies.
0.13.1 - 2020-11-08
Changed
- Update
parking_lotdependency.
Fixed
- WASAPI: Don't panic when device is plugged out on Windows.
0.13.0 - 2020-10-28
Added
- AAudio: Android support via
oboe-rs. - CI: Android APK build and CI job.
0.12.1 - 2020-07-23
Fixed
- ASIO: Bugfix release to get the asio feature working again.
0.12.0 - 2020-07-09
Added
build_input/output_stream_rawmethods allowing for dynamically handling sample format type.InputCallbackInfoandOutputCallbackInfotypes and update expected user data callback function signature to provide these.- DragonFly BSD: Platform support.
Changed
- Large refactor removing the blocking EventLoop API.
- Rename many
Formattypes toStreamConfig:Formattype'sdata_typefield renamed tosample_format.Shape->StreamConfig- The configuration input required to build a stream.Format->SupportedStreamConfig- Describes a single supported stream configuration.SupportedFormat->SupportedStreamConfigRange- Describes a range of supported configurations.Device::default_input/output_format->Device::default_input/output_config.Device::supported_input/output_formats->Device::supported_input/output_configs.Device::SupportedInput/OutputFormats->Device::SupportedInput/OutputConfigs.SupportedFormatsError->SupportedStreamConfigsError.DefaultFormatError->DefaultStreamConfigError.BuildStreamError::FormatNotSupported->BuildStreamError::StreamConfigNotSupported.
- WASAPI: Address deprecated use of
mem::uninitialized.
Removed
UnknownTypeBufferin favour of specifying sample type.
0.11.0 - 2019-12-11
Added
- Name to
HostId. - WASAPI:
winbasewinapi feature to solve windows compile error issues.
Changed
- Remove many uses of
std::mem::uninitialized. - Panic on stream ID overflow rather than returning an error.
- Move errors into a separate module.
- Switch from
failuretothiserrorfor error handling. - ALSA: Use
snd_pcm_hw_params_set_buffer_time_nearrather thanset_buffer_time_max. - CI: Lots of improvements.
- Examples: Use
ringbuffercrate in feedback example.
Fixed
- ALSA: Fix some underruns that could occur.
- WASAPI: Fix capture logic.
0.10.0 - 2019-07-05
Added
- New Host API, adding support for alternative audio APIs.
StreamEventtype to allow users to handle stream callback errors.- ASIO: ASIO host, available under Windows.
Changed
- Remove sleep loop on macOS in favour of using a
Condvar. - Overhaul error handling throughout the crate.
- Remove
panic!from OutputBuffer Deref impl as it is no longer necessary. - ALSA: Remove unnecessary Mutex in favour of channels.
- CoreAudio: Update
core-foundation-sysandcoreaudio-rsdependencies. - WASAPI: Remove unnecessary Mutex in favour of channels.
0.9.0 - 2019-06-06
Added
- ALSA: Error handling for unknown device errors.
- Emscripten:
default_output_formatimplementation.
Changed
- Better buffer handling.
Fixed
- Logic error in frame/sample size.
- WASAPI: Fix resuming a paused stream.
0.8.2 - 2018-07-03
Added
DisplayandErrorimplementations forDefaultFormatError.
Changed
- Upgrade
lazy_staticdependency.
0.8.1 - 2018-04-01
Fixed
- CoreAudio: Handling of non-default sample rates for input streams.
0.8.0 - 2018-02-15
Added
Device::supported_{input/output}_formatsmethods.Device::default_{input/output}_formatmethods.default_{input/output}_devicefunctions.StreamDatatype for handling either input or output streams inEventLoop::runcallback.- ALSA: Input stream support.
- CoreAudio: Input stream support.
- Examples:
record_wav.rsexample that records 3 seconds to$CARGO_MANIFEST_DIR/recorded.wavusing default input device. - WASAPI: Input stream support.
Changed
- Replace usage of
VoicewithStreamthroughout the crate. - Examples: Update
enumerate.rsexample to display default input/output devices and formats.
Removed
Endpointin favour ofDevicefor supporting both input and output streams.
0.7.0 - 2018-02-04
Added
- CoreAudio:
EndpointandFormatenumeration for macOS. - CoreAudio: Format handling for
build_voicemethod.
Changed
- Rename
ChannelsCounttoChannelCount. - Rename
SamplesRatetoSampleRate. - Rename the
min_samples_ratefield ofSupportedFormattomin_sample_rate. - Rename the
with_max_samples_rate()method ofSupportedFormattowith_max_sample_rate(). - Rename the
samples_ratefield ofFormattosample_rate. - Changed the type of the
channelsfield of theSupportedFormatstruct fromVec<ChannelPosition>toChannelCount(an alias tou16).
Removed
- Unused ChannelPosition API.
0.6.0 - 2017-12-11
Added
- Improvements to the crate documentation.
- ALSA:
pauseandplaysupport.
Changed
- CoreAudio: Reduced the number of allocations.
- Emscripten: Backend to consume less CPU.
Fixed
- CoreAudio: Fixes for macOS build (#186, #189).
0.5.1 - 2017-10-21
Added
Sample::to_i16(),Sample::to_u16()andSample::frommethods.
0.5.0 - 2017-10-21
Added
EventLoop::build_voice,EventLoop::destroy_voice,EventLoop::play, andEventLoop::pausemethods.VoiceIdstruct that is now used to identify a voice owned by anEventLoop.
Changed
EventLoop::run()to take a callback that is called whenever a voice requires sound data.supported_formats()to produce a list ofSupportedFormatinstead ofFormat. ASupportedFormatmust then be turned into aFormatin order to build a voice.
Removed
- Dependency on the
futureslibrary. VoiceandSamplesStreamtypes.
0.4.6 - 2017-10-11
Added
- iOS: Minimal support.
Changed
- Run rustfmt on the code.
Fixed
- BSD: Fixes for *BSDs.
Removed
get_prefix of methods.
0.4.5 - 2017-04-29
Changed
- Simplify the Cargo.toml.
- ALSA: Bump alsa-sys version number.
- ALSA: Mark alsa-sys as linking to alsa.
Fixed
- CoreAudio: SampleStream also holds on to the AudioUnit so it is not dropped.
- CoreAudio: Fix for loop in EventLoop::run being optimised out in a release build on macOS.
Removed
- Stop publishing on gh-pages.
0.4.4 - 2017-02-04
Fixed
- ALSA: Pass period instead of buffer to snd_pcm_sw_params_set_avail_min.
0.4.3 - 2017-02-01
Fixed
- ALSA: Set sw_params_set_avail_min based on get_params buffer size.
0.4.2 - 2017-01-19
Added
- CoreAudio: coreaudio-rs dependency for i686-apple-darwin.
Deprecated
- Mark deprecated functions as deprecated.
0.4.1 - 2016-11-16
Added
- ALSA: Implement play and pause.
- CoreAudio: Implement play/pause.
Fixed
- WASAPI: Fix compilation on windows.
0.4.0 - 2016-10-01
Changed
- ALSA: Update to futures 0.1.1.
- WASAPI: Update to futures 0.1.1.
Fixed
- CoreAudio: Do not lock inner twice. Fixes bug in osx futures 0.1.1 update.
- CoreAudio: Try fix the OSX code with futures.
0.3.1 - 2016-08-20
Added
- WASAPI: Some documentation to the winapi implementation.
Changed
- ALSA: Bump alsa-sys to 0.1.
Fixed
- Fix #126.
- Fix most warnings.
0.3.0 - 2016-08-12
Added
- CoreAudio: Update backend to new futures-rs oriented design.
Changed
- Update documentation.
- Use a max buffer size in order to avoid problems.
- Update deps.
- ALSA: Make it work on Linux.
- Null: Update the null implementation.
0.2.12 - 2016-07-10
Added
- CoreAudio: Add get_period to Voice.
Changed
- CoreAudio: Update to coreaudio-rs 0.5.0.
Fixed
- CoreAudio: Correct implementation of get_pending_samples.
- CoreAudio: Return correct Voice period.
0.2.11 - 2016-04-25
Fixed
- Be more relaxed with c_void.
0.2.10 - 2016-04-22
Added
- ALSA: Add pollfd.
Fixed
- ALSA: Fix underflow detection.
- Android: Fix the android build.
- Android: Add ARM target.
0.2.9 - 2016-01-28
Added
- CoreAudio: Add support for U16/I16 PCM formats.
- CoreAudio: Implement some missing functions.
Changed
- Handle channels positionning.
- Update Cargo.toml after the previous changes.
- Allow for building for mipsel targets.
- ALSA: Use correct ALSA channels.
- CoreAudio: Implementation cleanup.
- CoreAudio: Make Voice Send/Sync.
- CoreAudio: Set sample rate to 44100.
- Examples: Update the beep example.
Fixed
- ALSA: Fix underflow bug on linux.
- CI: Fix for travis build.
- CoreAudio: Fix compilation on OSX with the new API for coreaudio-rs.
- CoreAudio: Return correct length of buffer, stub unimpl funcs.
- CoreAudio: Restore CoreAudio support after API overhaul.
- Examples: Add some sane error messages.
- Examples: Improve error reporting in beep example.
Removed
- Do not use a wildcard version number.
- CoreAudio: Revert "Add support for U16/I16 PCM formats" (was causing issues).
0.2.8 - 2015-11-10
Changed
- Libc 0.2.
- WASAPI: Update winapi.
Fixed
- WASAPI: Catch another 'device not found' error code.
0.2.7 - 2015-09-27
Added
Voice::get_period()method.
0.2.6 - 2015-09-22
Fixed
- ALSA: Make sure that all writes succeed.
- ALSA: Make the implementation more robust by recovering from underruns.
0.2.5 - 2015-09-22
Added
Voice::get_pending_samplesmethod.
0.2.4 - 2015-09-22
Added
endpoint::get_name()method.- Examples: An enumerate example.
- WASAPI: Device name support.
Changed
- ALSA: Correctly enumerate supported formats.
Fixed
- ALSA: Various fixes.
- ALSA: Use the correct format.
- ALSA: Use the correct device name when enumerating formats.
- WASAPI: Fix bug and filter out devices that are not "Output".
0.2.3 - 2015-09-22
Added
#[inline]attributes.underflow()method to Voice.
Changed
- Store the format in the public
Voicestruct. - WASAPI: General cleanup.
- WASAPI: Update winapi dependency.
Fixed
- WASAPI: Fix the hack in the implementation.
Removed
- Unused extern crate libc.
0.2.2 - 2015-09-11
Added
UnknownBufferType::len()method.
Fixed
- Null: Restore the null implementation and compile it every time.
0.2.1 - 2015-09-10
Changed
- Handle channels positionning.
- Update Cargo.toml after the previous changes.
- Examples: Update the beep example.
Fixed
- ALSA: Fix compilation.
0.2.0 - 2015-09-01
Added
- Proper error handling.
- Supported formats enumeration.
endpoint::get_name()method.
Changed
- ALSA: Make it compile again.
- WASAPI: Enable 32bits samples.
- WASAPI: Better error handling in format detection.
- WASAPI: Now decoding the format from the WAVEFORMAT returned by the winapi.
- WASAPI: Handle F32 formats in Voice::new.
- WASAPI: Use the format passed as parameter in Voice::new.
- WASAPI: Correctly enumerate audio devices (core + wasapi).
Fixed
- Fix doctests.
- Add more detailed message to panic.
Removed
- Conversion system.
- Use of box syntax.
0.1.2 - 2015-07-22
Fixed
- ALSA: Correct reported sample format.
- WASAPI: Fix samples signs on win32.
0.1.1 - 2015-07-20
Fixed
- Fix the version in the README.
- WASAPI: Fix the win32 build.
0.1.0 - 2015-07-11
Added
- Bump to 0.1.0.
0.0.23 - 2015-07-04
Fixed
- WASAPI: Fix platform-specific dependencies with MSVC.
0.0.22 - 2015-06-24
Fixed
- ALSA: Calls to a single ALSA channel are not thread safe.
0.0.21 - 2015-06-05
Changed
- Examples: Simplify beep example.
- WASAPI: Use shiny new COM.
0.0.20 - 2015-04-20
Changed
- Rustup and version bumps.
- ALSA: Remove integer suffixes in alsa-sys.
0.0.19 - 2015-04-04
Changed
- Update for Rustc 1.0.0 beta.
0.0.18 - 2015-03-30
Changed
- Update for change in rustc and winapi.
0.0.17 - 2015-03-26
Changed
- Rustup.
- ALSA: Publish alsa-sys before cpal.
0.0.16 - 2015-03-25
Added
- CoreAudio: OSX support via the Apple Core Audio, Audio Unit C API. Only supports f32 so far.
- CoreAudio: Coreaudio bindings.
Changed
- Rustup.
Fixed
- CI: Fix travis build.
- CoreAudio: Fixed callback to send proper buffersize, removed code in lib where sampleformat affected buffersize.
- CoreAudio: Properly shutdown the AudioUnit on drop.
Removed
- CoreAudio: Removed core_audio-sys local bindings in favour of new coreaudio-rs crate.
0.0.15 - 2015-02-22
Changed
- Bump version.
- Update for rustc.
0.0.14 - 2015-02-19
Changed
- Update for rustc.
- ALSA: Bump alsa-sys version.
- ALSA: Clean up alsa-sys.
- CI: Automatically publish on crates.io on successful builds.
- CI: Publish alsa-sys too.
0.0.13 - 2015-02-12
Changed
- Update with libc version.
0.0.12 - 2015-01-29
Changed
- Bump version number.
0.0.11 - 2015-01-29
Changed
- Update for rustc.
0.0.10 - 2015-01-20
Added
- Null: "null" implementation for platforms that aren't supported.
Changed
- Changed integer suffix from 'u' to 'us'.
- Bump version number (multiple times).
- Update for rust-1.0 alpha.
- WASAPI: Update for winapi.
0.0.8 - 2015-01-08
Changed
- Bump version number.
- Update for Rustc.
0.0.7 - 2015-01-05
Changed
- Update for rustc.
0.0.6 - 2014-12-30
Added
#[must_use]marker for Buffer.
Changed
- Bump version number.
- Update for changes in rustc.
0.0.5 - 2014-12-23
Added
play()andpause()functions.- Implement f32 to i16 and f32 to u16 conversions.
- Tests for convert_samples_rate.
- Tests for convert_channels.
Changed
- Cleanup convert_samples_rate.
- Cleanup convert_channels.
Fixed
- CI: Fix the appveyor build.
0.0.4 - 2014-12-20
Changed
- Update for rustc.
0.0.3 - 2014-12-17
Added
- Link to documentation.
- Some documentation.
- Fixes and tests for samples conversions.
- All samples formats.
- Samples formats conversions.
- CI: Automatic gh-pages deployment in travis.
Changed
- Bump version number.
- Improve documentation.
- Use Cow for formats conversions to avoid an allocation and copy.
Fixed
- Minor README update.
- CI: Remove old section from travis.yml.
- CI: Fix travis.yml.
Removed
- Rename
ChanneltoVoice.
0.0.2 - 2014-12-17
Added
- Basic API.
- Some documentation.
- Keywords.
- Some formats-related functions.
- Some basic data conversion.
- Some samples rate conversions.
- Variable input format system.
- Samples iterator.
- ALSA: Basic implementation.
- ALSA: alsa-sys library.
- CI: Appveyor file.
- CI: Config for rust-ci in travis.
- Examples: Draft for example music playing.
- Examples: Semi-working WASAPI example.
- WASAPI: Destructor for wasapi::Channel.
Changed
- Bump version number.
- Buffer now always has the u8 format.
- Modify API to use a "samples" iterator.
- Change player architecture to avoid data losses.
- Minor nitpicking.
- Update for rustc.
- ALSA: Use the official winapi crate.
- ALSA: More tweaks for alsa-sys.
- ALSA: Minor tweaks in Cargo.toml files.
- Examples: Replace example by a smaller one.
- Examples: Replace example by a sinusoid generator.
- Examples: Rename example to "beep".
Fixed
- Fix warnings.
- Fix PCM formats conversions not working.
- Fix issue when calling
buffer.samples()multiple times with the same buffer. - Sound output now works correctly.
- Minor fixes.
- WASAPI: Revert "Switch to retep998/winapi".
Removed
- Switch back to using buffers.
- Remove old code.
0.0.1 - 2014-12-11
Added
- Initial commit.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 |
|