Skip to content
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

detect and raise version if specified too low #220

Open
thenewguy opened this issue Jul 10, 2020 · 3 comments
Open

detect and raise version if specified too low #220

thenewguy opened this issue Jul 10, 2020 · 3 comments

Comments

@thenewguy
Copy link
Contributor

If the version is specified in a playlist that is too low, it should be raised when converted back to a string.

The following features aren't backward compatible. Older clients may fail to play the content if you use these features but don't specify the protocol version where they were introduced:

You must use at least protocol version 2 if you have IV in EXT-X-KEY.

You must use at least protocol version 3 if you have floating point EXTINF duration values.

You must use at least protocol version 4 if you have EXT-X-BYTERANGE or EXT-X-IFRAME-ONLY.

You must use at least protocol version 5 if you specify the SAMPLE-AES encryption method in EXT-X-KEY, or if you have KEYFORMAT and KEYFORMATVERSIONS attributes in EXT-X-KEY, or if you have EXT-X-MAP.

You must use at least protocol version 6 if you have EXT-X-MAP in a Media Playlist that does not contain EXT-X-I-FRAMES-ONLY.

You must use at least protocol version 7 if you specify "SERVICE" values for the INSTREAM-ID attribute of EXT-X-MEDIA.

You must use at least protocol version 8 if you use variable substitution.

Ref:

@thenewguy
Copy link
Contributor Author

I see there is an expected failure for this - is that because it will not be fixed or that it is waiting implementation?

@leandromoreira
Copy link
Contributor

I don't know @thenewguy it seems very reasonable that m3u8 would check the version matching featuress... but I'm afraid it can broken current usages?!... maybe we could do that but let it off and only turn on when strict is True, what do you think?

cc @mauricioabreu @flavioribeiro @igorsobreira

PS: also maybe this VersionMatching thing should be placed into a self component (like a class...) instead of within the currrent parser, it can be used by the parser but not developed there.

@mauricioabreu
Copy link
Member

I think it is ok to make it work when strict is on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants