-
Notifications
You must be signed in to change notification settings - Fork 247
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
replace current_span_length in favor of parameters_changed #706
Draft
dvdsk
wants to merge
17
commits into
master
Choose a base branch
from
parameters_changed
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4678bb1
to
8204220
Compare
Sure thing. Don't have much time this week, will look into it after. |
af46244
to
481eed9
Compare
dvdsk
added a commit
that referenced
this pull request
Feb 27, 2025
All other sources have been marked as TODO using `todo!()`. This is such that the test suite can run. New tests need to be made for all non trivial implementations (those that do not simply forward the call to `parameters_changed`) - trivial implementations: TestSource, SamplesBuffer, chirp, delay, empty, empty_callback, mix, sawtooth, signal_generator, sine, square, triangle, zero, static_buffer - implemented: blt, buffered, position, repeat, skip, take_duration, uniform - marked as todo: all decoders, Mixer, Queue, source/from_iter Added some sources to make the implementation easier: - TakeSpan, takes up to a span of samples - TakeSamples, takes n samples or slightly less. Always ends frame aligned - Peekable, similar to Iterator::peekable.
also adds a new mod test support with a special test source that can be used to test span boundary/parameters_changed handling. adds two extra tests for `skip_duration` testing - parameters_changing during skip - ending on frame boundary
The removal of factories (like `source::amplify(unamplified, 1.2)` -> `unamplified.amplify(1.2)`) was already planned and is tracked in issue 622. Its not done now. I am working through it as I add tests for all the non-trivial source's.
This also improves the `TestSpan` in tests/test_support to prevent expected total duration not matching `sample_rate` * `channels` * `sample_count`
fix peekable & peekable tests + improve TestSource performance: remove `if` from PeekableSource::next
add tests for buffered, fix buffered `parameters_changed`
f1cf00e
to
8c8df80
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
implements #694
currently draft, due to high number of non trivial changes this PR also aims to dramatically extend the test suite of rodio. Hopefully that will catch most bugs.
@roderickvd I could use some help fixing the decoders, they now just have
todo!()
asparameters_changed
implementation. Let me know if you want to work on that. The branch is under the rodio repo so you can just pull it down and push your work to it.status (ill edit this along the way)