-
Notifications
You must be signed in to change notification settings - Fork 23
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
alternatives does not contain audio playlist after upgrading from 3.0.0 to 5.0.3 #62
Comments
The
|
Thank you for your help. Is there no room for lenient parsing? What if new attributes are added to the HLS spec, will those playlists be rejected too, even if they could be played? I would be happy if m3u8-rs could follow the robustness principle - be conservative in what you send, be liberal in what you accept. |
I am stuck on Since this issue isn't making any progress, and since you're not patching Should I do a first pass over the playlist and remove things myself? Seems brittle and error-prone :( (Unfortunately my software receives bad playlists, and there's not much I can do about that) EDIT: |
Yeah, a parameter like that would probably be the way to go. I'm honestly kind of surprised the spec is this strict about some property belonging to a specific type. |
Ok, let's go with that then. I'll look into adding this some time this week.
... and on the other hand the HLS spec is extremely loose about things that actually matter. It's one of the worst specs I ever worked with. |
Sorry, I was a bit busy. @bes, to clarify - what would be the desired behavior? Did you want to ignore |
@vagetman Hi! My thinking is that there are a lot of playlists out there that are plain wrong and it might be any attribute, not just FORCED. My dream would be if m3u8-rs could parse as liniently as possible, for any attributes and any items, not just limited to FORCED. But when it came to producing playlists itself, it would be according to spec without the possibility to introduce errors. But how far you take it is obviously your decision. Basically as I wrote in a message above: follow the robustness principle - be conservative in what you do, be liberal in what you accept from others Thank you 🙏 |
@vagetman Please feel free to take over here. I'm extremely busy with work-related tasks currently and this keeps getting behind on my todo list. Sorry for that.
FWIW this is exactly the reason why we're in this situation now. Because the parsers are very forgiving, most of the HLS streams are complete garbage and hard to handle. It's the same with various other formats. At this point it's the only valid approach for HLS though, that ship has sailed. And additional attributes that have no valid meaning is the least of the problems in that regard :) |
Thanks, both. I'll poke around. I'm busy with Super Bowl prep and delivery this week and the weekend, but the following week should be easier. I have a different experience with playlists though. I actually didn't see any HLS deviations around here.. But that could be because I'm usually working with big broadcasters and streamers and their playlists come from places like Elementals or Wowza. Further, customers normally want to validate their streams with Safari and QuickTime and those are not exactly forgiving ones. They simply stop playing if something is wrong without much of verbosity. I'm not sure what happens with extra attributes, they could be ignored. Also, generally, because something is working despite the standard it's not a good example to follow. BUT I was advocating on another ticket we should support unknown attributes to support experiments or future standard revisions without having a necessity to update the library. |
@bes so, where does it actually break for you? I tried ingesting the manifest with this and it reads and prints it just fine:
I can see some checks on |
My original claim is that an audio playlist that has |
Ah, thank you @bes |
Hello everyone, I was wondering if any progress was made on this issue? Thanks 🤗 |
Hi, I recently upgraded from
3.0.0
to5.0.3
and now my audio playlist ends up inunknown_tags
instead of inalternatives
.What am I doing wrong?
Here is the master playlist, slightly anonymized
The text was updated successfully, but these errors were encountered: