diff --git a/CHANGELOG.md b/CHANGELOG.md index 63faa80..1bcc2ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 `fade_in` has been refactored to use the `linear_gain_ramp` implementation. +### Fixed +- `Sink.try_seek` now updates `controls.position` before returning. Calls to `Sink.get_pos` + done immediately after a seek will now return the correct value. + ### Changed - `SamplesBuffer` is now `Clone` diff --git a/src/sink.rs b/src/sink.rs index 2de077d..71e278d 100644 --- a/src/sink.rs +++ b/src/sink.rs @@ -238,7 +238,10 @@ impl Sink { } match feedback.recv() { - Ok(seek_res) => seek_res, + Ok(seek_res) => { + *self.controls.position.lock().unwrap() = pos; + seek_res + } // The feedback channel closed. Probably another seekorder was set // invalidating this one and closing the feedback channel // ... or the audio thread panicked.