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

HLS manifest version 7 is not playing in Shaka Player #1730

Closed
asingla-ninja2 opened this issue Dec 17, 2018 · 6 comments
Closed

HLS manifest version 7 is not playing in Shaka Player #1730

asingla-ninja2 opened this issue Dec 17, 2018 · 6 comments
Labels
component: HLS The issue involves Apple's HLS manifest format status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@asingla-ninja2
Copy link

Have you read the FAQ and checked for duplicate open issues?: yes

What version of Shaka Player are you using?: latest

Can you reproduce the issue with our latest release version?: yes

Can you reproduce the issue with the latest code from master?: yes

Are you using the demo app or your own custom app?: demo

If custom app, can you reproduce the issue using our demo app?: yes

What browser and OS are you using?: Chrome

What are the manifest and license server URIs?:
https://timesmmdod-mmd-cust.lldns.net/v1/gaana/mp4/26/1836026/21206608/stream.ismd/master.m3u8?stream=21206608_128;21206608_16

What did you do?
I played this manifest under custom asset

What did you expect to happen?
Mp3 file should render and play the song

What actually happened?
Getting the below error:

main.js:695 Player error shaka.util.Error {severity: 2, category: 4, code: 4023, data: Array(1), handled: false, …}category: 4code: 4023data: ["URI"]handled: falsemessage: "Shaka Error MANIFEST.HLS_REQUIRED_ATTRIBUTE_MISSING (URI)"severity: 2stack: "Error: Shaka Error MANIFEST.HLS_REQUIRED_ATTRIBUTE_MISSING (URI)↵ at new shaka.util.Error (https://shaka-player-demo.appspot.com/lib/util/error.js:89:13)↵ at Function.shaka.hls.HlsParser.getRequiredAttributeValue_ (https://shaka-player-demo.appspot.com/lib/hls/hls_parser.js:1781:11)↵ at shaka.hls.HlsParser.createStreamInfoFromMediaTag_ (https://shaka-player-demo.appspot.com/lib/hls/hls_parser.js:808:23)↵ at shaka.hls.HlsParser. (https://shaka-player-demo.appspot.com/lib/hls/hls_parser.js:545:17)↵ at Array.map ()↵ at shaka.hls.HlsParser.createVariantsForTag_ (https://shaka-player-demo.appspot.com/lib/hls/hls_parser.js:544:28)↵ at shaka.hls.HlsParser. (https://shaka-player-demo.appspot.com/lib/hls/hls_parser.js:452:19)↵ at Array.map ()↵ at shaka.hls.HlsParser. (https://shaka-player-demo.appspot.com/lib/hls/hls_parser.js:451:40)"__proto__: Object
shakaDemo.onError_ @ main.js:695
(anonymous) @ asset_section.js:370
Promise.then (async)
shakaDemo.load @ asset_section.js:339

Error Code : 4023

HLS_REQUIRED_ATTRIBUTE_MISSING 4023 number One of the required attributes was not provided, so the HLS manifest is invalid. error.data[0] is the missing attribute's name.
@ismena ismena added type: bug Something isn't working correctly component: HLS The issue involves Apple's HLS manifest format and removed needs triage labels Dec 17, 2018
@ismena
Copy link
Contributor

ismena commented Dec 17, 2018

Looks like we are treating uri attribute of the media tag as required, which is wrong unless the tag describes subtitles.
From the HLS spec:

The URI attribute of the EXT-X-MEDIA tag is REQUIRED if the media
type is SUBTITLES, but OPTIONAL if the media type is VIDEO or AUDIO.
If the media type is VIDEO or AUDIO, a missing URI attribute
indicates that the media data for this Rendition is included in the
Media Playlist of any EXT-X-STREAM-INF tag referencing this
EXT-X-MEDIA tag. If the media TYPE is AUDIO and the URI attribute is
missing, clients MUST assume that the audio data for this Rendition
is present in every video Rendition specified by the EXT-X-STREAM-INF
tag.

Thanks for the report, we will work on it.

@shaka-bot shaka-bot added this to the v2.5 milestone Dec 17, 2018
@rgc
Copy link
Contributor

rgc commented Dec 17, 2018

@ismena - I have a fix for this, which branch label should I use in my pull request?

Thanks,

Rob

@ismena
Copy link
Contributor

ismena commented Dec 17, 2018

@rgc feel free to use master.

@rgc
Copy link
Contributor

rgc commented Dec 17, 2018

@ismena See: #1732

Thanks,

Rob

@joeyparrish
Copy link
Member

The commit message in adde0bd is malformed, but this issue was fixed by that commit.

joeyparrish pushed a commit that referenced this issue Jan 19, 2019
If an X-EXT-MEDIA asset does not contain URI, ignore when building stream list.
URI attribute should only be required on subtitles, according to the spec.

Fixes #1086
Fixes #1730

Backported to v2.4.x
@joeyparrish
Copy link
Member

Fix cherry-picked for v2.4.6.

@shaka-project shaka-project locked and limited conversation to collaborators Mar 19, 2019
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

5 participants