Closed apolunar closed 3 weeks ago
What's even stranger is that Symphonia plays it without issue. Looking into this atm.
Seems like a duplicate of #577 I now realize, however, I'll continue to add updates here as upstream seems to be working? Unsure if the referenced codec is the same, as I'm not very familiar with audio codecs.
My panic seems to be a result of this line:
let mut probed = get_probe().format(&hint, mss, &format_opts, &metadata_opts)?;
I've done the "scientific" process of adding breakpoints on the surrounding lines and it always panics on that line. Currently working on a fix for this.
Currently working on a fix for this.
Thank you very very much :+1:
What I remember from #577 the issue there was seek being very inaccurate, not the decoder crashing. The seek was off for a few seconds.
Unsure if the referenced codec is the same, as I'm not very familiar with audio codecs.
I investigated the difference as part of #577, eliminating any difference didnt fix the seek inaccuracy. Did you try updating the rodio symphonia dependency to the latest version? Maybe that fixes it?
Ok, so it turned out to be really dumb, but still took a stupid long time to debug :pensive: (as most things of this nature do)
symphonia-play
breaks out of the decode loop when it encounters IoError(Custom { kind: UnexpectedEof, error: "end of stream" })
THAT'S IT. Well, in addition to selecting a track Symphonia can actually decode!
If I had to do this again in the future, I would start by adding the debug statements in the working example and non-working example to find the difference (though I'm not sure that would've made it any faster), but this was a helpful experience as I don't have much experience in rust or audio codecs :+1:
I've created a pull request #582 where we can continue looking into this. This is my first(!) contribution to open source, so any guidance is much appreciated!
closed by #582
Audio streams downloaded from YouTube fail to play in rodio, likely as a result of the codec, although it plays fine in VLC.
Here's the panic:
This is the result of
ffprobe
:The
main.rs
contains the "play audio" example.