-
Notifications
You must be signed in to change notification settings - Fork 315
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
Issues related to iframe playlist and bytes ranges #46
Comments
Thanks @AyliD can you show me the broken and working playlist? Just so I better understand the issue |
The first issue: #EXTM3U For Second issue, this is the manifest (the begining of it), but i have byte ranges and duration to each segment: #EXTM3U |
See #50 for your first issue. |
See #51 for your second issue. |
decodeLineOfMasterPlaylist is process a I-Frame line expecting the URI to be located on the next line, however, the EXT-X-I-FRAME-STREAM-INF attribute contains the URI as a tag (unlike EXT-X-STREAM-INF. This changes produces a test which reproduces the issue and also removes the state tracking for this attribute as it's not required.
decodeLineOfMasterPlaylist is process a I-Frame line expecting the URI to be located on the next line, however, the EXT-X-I-FRAME-STREAM-INF attribute contains the URI as a tag (unlike EXT-X-STREAM-INF. This changes produces a test which reproduces the issue and also removes the state tracking for this attribute as it's not required.
In Reader.Go:
in the following line:
case !state.tagIframeStreamInf && strings.HasPrefix(line, "#EXT-X-I-FRAME-STREAM-INF:"):
you use only the first iframe manifest found and not all.
also, the playlist iframe segments has no offset and linit due to lin "} else if state.tagRange { " in:
case !strings.HasPrefix(line, "#"):
if state.tagInf {
p.Append(line, state.duration, title)
state.tagInf = false
} else if state.tagRange {
because i have state.tagInf and state.tagRange so "else if " isnt good enough and should be:
if state.tagInf {
p.Append(line, state.duration, title)
state.tagInf = false
}
if state.tagRange {
The text was updated successfully, but these errors were encountered: