-
Notifications
You must be signed in to change notification settings - Fork 263
Improve seeking behavior and error handling #745
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
Improve seeking behavior and error handling #745
Conversation
@dvdsk if you have time, I feel we should slip this one into v0.21 as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like it! It clearly documents why things have to be (as complicated) as they are while simultaneously setting the defaults so that the average user will get a good result without looking at the docs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one suggestion, feel free to ignore it though.
We will, documentation made this an easy review :) If you made the branch on the rodio repo I would have solved that merge conflict for you 😝 |
- Automatically enable is_seekable when byte_len is set - Add specific error for random access seeking without byte_len - Clarify documentation for builder methods with default states - Test forward-only vs random access seeking scenarios Fixes RustAudio#740 Supersedes RustAudio#744
82cfccc
to
a32fe7f
Compare
What's the policy, you want me to do that (branch on the repo) instead going forward? |
I branch on the repo for three reasons:
There are probably just as many reasons to branch on a fork. We could formulate a policy, I don't think Semi-related: governance of Rodio. I think of us as a flat organization, none one has more say then anyone else. I would not know who Of course on my CV I am Project lead of Rodio 😄 |
Thanks, I'll just branch here then. No need for any formalities at this point. |
I think I've found the compromise I like best:
is_seekable
whenbyte_len
is setbyte_len
is_seekable
I also tried setting
is_seekable
totrue
by default, but that only increases random access seeking weirdness withoutbyte_len
set. Which is why I think this is the sweet spot of compromises.Mostly fixes #740
Supersedes #744
I say "mostly" fixes because
symphonia-isomp4
can still report it's successfully seeked backwards, when in fact it hasn't withoutbyte_len
set. In Symphonia v0.5 the MP4 support is working, but with a number of bugs that are targeted for some v0.6 release. In the meantime, I propose we regard MP4 as a "second tier" target and we don't go too far out of a way to fix upstream issues here.