mirror of
https://github.com/RustAudio/rodio
synced 2024-12-05 01:39:15 +00:00
6.2 KiB
6.2 KiB
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]
Version 0.20.1 (2024-11-08)
Fixed
- Builds without the
symphonia
feature did not compile
Version 0.20.0 (2024-11-08)
Added
- Support for ALAC/AIFF
- Add
automatic_gain_control
source for dynamic audio level adjustment. - New test signal generator sources:
SignalGenerator
source generates a sine, triangle, square wave or sawtooth of a given frequency and sample rate.Chirp
source generates a sine wave with a linearly-increasing frequency over a given frequency range and duration.white
andpink
generate white or pink noise, respectively. These sources depend on therand
crate and are guarded with the "noise" feature.- Documentation for the "noise" feature has been added to
lib.rs
.
- New Fade and Crossfade sources:
fade_out
fades an input out using a linear gain fade.linear_gain_ramp
applies a linear gain change to a sound over a given duration.fade_out
is implemented as alinear_gain_ramp
andfade_in
has been refactored to use thelinear_gain_ramp
implementation.
Fixed
Sink.try_seek
now updatescontrols.position
before returning. Calls toSink.get_pos
done immediately after a seek will now return the correct value.
Changed
SamplesBuffer
is nowClone
Version 0.19.0 (2024-06-29)
Added
- Adds a new source
track_position
. It keeps track of duration since the beginning of the underlying source.
Fixed
- Mp4a with decodable tracks after undecodable tracks now play. This matches VLC's behaviour.
Version 0.18.1 (2024-05-23)
Fixed
- Seek no longer hangs if the sink is empty.
Version 0.18.0 (2024-05-05)
Changed
Source
trait is now also implemented forBox<dyn Source>
and&mut Source
fn new_vorbis
is now also available when thesymphonia-vorbis
feature is enabled
Added
- Adds a new method
try_seek
to all sources. It returns either an error or seeks to the given position. A few sources are "unsupported" they return the errorUnsupported
. - Adds
SpatialSink::clear()
bringing it in line withSink
Fixed
- channel upscaling now follows the 'WAVEFORMATEXTENSIBLE' format and no longer repeats the last source channel on all extra output channels. Stereo content playing on a 5.1 speaker set will now only use the front left and front right speaker instead of repeating the right sample on all speakers except the front left one.
mp3::is_mp3()
no longer changes the position in the stream when the stream is mp3
Version 0.17.3 (2023-10-23)
- Build fix for
minimp3
backend.
Version 0.17.2 (2023-10-17)
- Add
EmptyCallback
source. - Fix index out of bounds bug.
- Use non-vulnerable
minimp3
fork. - Add filter functions with additional q parameter.
Version 0.17.1 (2023-02-25)
- Disable
symphonia
's default features.
Version 0.17.0 (2023-02-17)
- Update
cpal
to 0.15. - Default to
symphonia
for mp3 decoding.
Version 0.16.0 (2022-09-14)
Version 0.15.0 (2022-01-23)
- Remove requirement that the argument
Decoder::new
andLoopedDecoder::new
implementSend
. - Add optional symphonia backend.
WavDecoder
'stotal_duration
now returns the total duration of the sound rather than the remaining duration.- Add 32-bit signed in WAV decoding.
SineWave::new()
now takes af32
instead of au32
.- Add
len()
method toSpatialSink
.
Version 0.14.0 (2021-05-21)
- Re-export
cpal
in full. - Replace panics when calling
OutputStream::try_default
,OutputStream::try_from_device
with newStreamError
variants. OutputStream::try_default
will now fallback to non-default output devices if anOutputStream
cannot be created from the default device.
Version 0.13.1 (2021-03-28)
- Fix panic when no
pulseaudio-alsa
was installed.
Version 0.13.0 (2020-11-03)
- Update
cpal
to 0.13. - Add Android support.
Version 0.12.0 (2020-10-05)
- Breaking: Update
cpal
to 0.12. - Breaking: Rework API removing global "rodio audio processing" thread & adapting to the upstream cpal API changes.
- Add new_X format specific methods to Decoder.
- Fix resampler dependency on internal
Vec::capacity
behaviour.
Version 0.11.0 (2020-03-16)
Version 0.10.0 (2019-11-16)
- Removal of nalgebra in favour of own code.
- Fix a bug that switched channels when resuming after having paused.
- Attempt all supported output formats if the default format fails in
Sink::new
. - Breaking: Update
cpal
to 0.10.
Version 0.9.0 (2019-06-08)
- Remove exclusive
&mut
borrow requirements inSink
&SpatialSink
setters. - Use
nalgebra
instead ofcgmath
forSpatial
source.
Version 0.8.1 (2018-09-18)
- Update
lewton
dependency to 0.9 - Change license from
Apache-2.0
only toApache-2.0 OR MIT
Version 0.8.0 (2018-06-22)
- Add mp3 decoding capabilities via
minimp3
Version 0.7.0 (2018-04-19)
- Update
cpal
dependency to 0.8, and adopt the new naming convention - BREAKING CHANGES:
- renamed
Endpoint
toDevice
- split
default_endpoint()
intodefault_output_device()
anddefault_input_device()
- renamed
endpoints()
todevices()
- introduced
output_devices()
andinput_devices()
- renamed