Released 2023-09-25.
Compatibility:
Changes:
mem::MaybeUninit
. The unsoundness was present in all versions since 0.2.0. There is no evidence that rustc took advantage of the unsoundness to compile programs in a problematic way.Thanks to Cam Lloyd for originally contributing these changes, and thanks to Maxwell McKinnon for rebasing them on top of 3.5.0.
Released 2022-09-09.
This is a maintenance release that includes most of the bugfixes and features that have been contributed since 3.4.0, which could be cherry-picked on top of 3.4.0. Some other contributions with more far-reaching changes remain unreleased as of yet.
Compatibility:
New features:
S24_LE
files, which store 24 bits in 4 bytes (#40, #41)WavWriter::new_with_spec_ex
(#42)WavSpec::into_header_for_infinite_file
(#33, #36)Bugfixes and compatibility improvements:
wValidBitsPerSample
field set to zero (#50, #51)Many thanks to Diffuse, Fletcher Woodruff, Matt Wilkinson, Vitaly Vi Shukela, and Tuckerrrrrrrrrr for contributing to this release.
Released 2018-04-07.
Breaking changes:
Release highlights:
read_wave_header()
, to quickly determine whether a file could be a wav file.WavWriter::append()
for constructing a writer that appends to a file, and WavWriter::new_append()
for the generic case.WavWriter::flush()
to flush the underlying writer and update the header. This can be used to minimize data loss when writing a large file.WavWriter::duration()
, WavWriter::len()
, and WavWriter::spec()
to obtain the duration and number of samples written so far, and the spec of the file being written. The latter is useful when appending.WavWriter::new()
will already return Error::Unsupported
. Previously this error was returned when writing a sample.WavWriter::finalize()
now performs a flush as its last operation, to be able to observe errors when using a buffered writer.Released 2018-02-18.
Breaking changes:
Release highlights:
Released 2017-12-02.
Breaking changes:
Release highlights:
WavReader::seek()
.Many thanks to Mitchell Nordine for contributing to this release.
Released 2017-10-14.
Breaking changes:
Release highlights:
Many thanks to Denis Kolodin for contributing to this release.
Released 2017-04-09.
Breaking changes:
Release highlights:
Many thanks to Alex Zywicki for contributing to this release.
Released 2017-04-01.
This release fixes a few bugs discovered through fuzzing.
Breaking changes:
Release highlights:
Released 2016-11-27.
This release focuses on improving write performance.
Breaking changes:
WavWriter
is constructed, the header is now written immediately, therefore the constructor now returns a Result
.Other changes:
WavWriter
no longer maintains a buffer internally. WavWriter::create()
does still wrap the file it opens in a buffered writer.SampleWriter16
for fast writing of 16-bit samples. Dedicated writers for other bit depths might be added in future releases.Upgrading requires dealing with the Result
in WavWriter::new()
and WavWriter::create()
. In many cases this should be as simple as wrapping the call in a try!()
, or appending a ?
on recent versions of Rust.
Released 2016-07-31.
Breaking changes:
WavSpec
struct gained a new sample_format
member. To upgrade, add sample_format: hound::SampleFormat::Int
to places where a WavSpec
is constructed.Release highlights:
Many thanks to Mitchell Nordine for his contributions to this release.
Released 2015-09-14.
Release highlights:
WavReader::into_inner
method for consistency with the standard library.WavReader::into_samples
method for ergonomics and consistency.Many thanks to Pierre Krieger for his contributions to this release.
Released 2015-07-21.
This is the first stable release of Hound. Only small changes have been made with respect to v0.4.0. Release highlights:
WavWriter::create
now wraps the writer in a BufWriter
.WavSamples
now implements ExactSizeIterator
.WavReader::spec
now returns the spec by value.Released 2015-05-16.
Release highlights:
Released 2015-05-05.
Release highlights:
WavReader
and WavWriter
.Released 2015-04-09.
This version adds support for decoding wav files in addition to writing them.
Released 2015-04-01.
Initial release with only write support.