Specifically cpal changed `SupportedStreamConfigRange` and made it Copy.
As that relaxes the requirements on it its a non breaking change. Rodio was
then refactored to remove the now no longer needed `.clone()` in 77c5c54. That
clone however is still needed for Rodio users with a lower cpal version. This
commit fixes that by requiring a higher cpal version.
More readable, prep for using the same lines in new refine_position fn.
Since that is already pretty complex this needed to be made simpler.
This code retries on all errors not only decode errors. Retries will not
work on anything else then a decode error however they also wont cause
any problems. Not checking the result does however make the code
simpler.
This adds two dependencies, they are only needed for the test suite.
Compile time will not increase for users. The extra overhead when
running the test suite is worth it imho. The test file is significantly
shorter and there is less code duplication. A run time solution would
decrease the test interface (you would have to manually find out which
params caused the test).
seek is broken, https://github.com/RustAudio/lewton/issues/73.
We could work around it by:
- using unsafe to create an instance of Self
- use mem::swap to turn the &mut self into a mut self
- take out the underlying Read+Seek
- make a new self and seek
If this issue is fixed use the implementation in
commit: 3bafe32388
Mainly because it means we get an unreleased section.his will save
maintainers time when releasing lowering the barrier to cut a release
which in turn helps out users waiting for fixes/new features. I decided
not to change the old entries to the keepachangelog format, simply
because it is a lot of work and I do not see an advantage.
I would like to also automate checking if the changelog was edited.
Since this would further lower the workload on maintainers. The
responsibility of editing the changelog will then squarly fall on the
Contributor of the PR. That should give maintainers more time to review
PR's.