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

Player Timeline Mode Issue (Fails to play encrypted and un-encrypted asset within the same manifest for timeline mode) #2936

Closed
MoinPansare opened this issue Oct 23, 2020 · 3 comments
Labels
status: archived Archived and locked; will not be updated status: bad content Caused by invalid, broken, or unsupported content

Comments

@MoinPansare
Copy link

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

What version of Shaka Player are you using?
2.5.13

Can you reproduce the issue with our latest release version?
yes (sticking to 2.5.X versions though)

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

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

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

What browser and OS are you using?
Browser : CHrome Version 86.0.4240.80 (Official Build) (x86_64)
OS : MacOS 10.15.5

For embedded devices (smart TVs, etc.), what model and firmware version are you using?

What are the manifest and license server URIs?
Have mentioned in description

What did you do?
Load Player With DASH + DRM

What did you expect to happen?
To play asset across milti-periods

What actually happened?
Fails to load content across encrypted and un-encrypted asset

Summarizing the issues that we have faced while trying to play timeline mode asset with shaka player version 2.5.13.
The asset is encrypted but the ad's are not
Link To Asset : https://ae-dash.s3.amazonaws.com/manifest/deluxe_vod_tl.mpd
LA-Url : Shared By mail to shaka-player-issues@google.com if unable to reach to it can get back to me using moin.pansare@charter.com

The expected behavior of the player is to play through multi-period across content and ad’s regardless of the underlying segment being encrypted or not. But the current behavior of the player fails to do this.
In order to figure out the cause of the problem we had modified the manifest and split them into various use-cases as follows
Single Period Manifest With Content (test_timeline_1.mpd) : Works without any issues
Single Period Manifest With Ad (test_timeline_2.mpd) : Works without any issue
Multiperiod Manifest With Only Add (test_timeline_3.mpd) : Works without any issue
MultiPeriod Manifest With Only Content (test_timeline_4.mpd): Works without any issue
MultiPeriod Manifest With Ad and Content (test_timeline_5.mpd): Fails To Load

FIles :
test_timeline_1 : https://moinbucket.s3-us-west-2.amazonaws.com/ShakaPlayer_Issues_Manifest/test_timeline_1.mpd
test_timeline_2 : https://moinbucket.s3-us-west-2.amazonaws.com/ShakaPlayer_Issues_Manifest/test_timeline_2.mpd
test_timeline_3 : https://moinbucket.s3-us-west-2.amazonaws.com/ShakaPlayer_Issues_Manifest/test_timeline_3.mpd
test_timeline_4 : https://moinbucket.s3-us-west-2.amazonaws.com/ShakaPlayer_Issues_Manifest/test_timeline_4.mpd
test_timeline_5 : https://moinbucket.s3-us-west-2.amazonaws.com/ShakaPlayer_Issues_Manifest/test_timeline_5.mpd

The error Log being displayed is as follows
{severity: 2, category: 4, code: 4011, data: Array(0), handled: false}

The reason being suspected over here is that the player fails to switch between encrypted and un-encrypted content. This prevents the stream from being loaded at-all.
One other thing of note over here is we were not able to find this error code when we checked the error codes for shaka player at the link https://shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html

You can get back to me at Moin.Pansare@charter.com

@TheModMaker
Copy link
Contributor

The problem with the non-working content is that the first Period is encoded with variants of avc3 whereas the second Period is encoded with avc1. Apparently these are both kinds of H.264, but we detect them as different codecs. There's also the problem that the browser may not support switching between the two and without codec-switching support (#1528), we have no way to know. If the pieces of content use different codec strings (ignoring the profile part), then we assume they are incompatible and we can't switch between them. Since there is nothing in the second Period with the same codec as the first, we throw the error.

The error is UNPLAYABLE_PERIOD. The main site is using v3.0, where that code has been removed. You can see it under the old docs at https://v2-5-13-dot-shaka-player-demo.appspot.com/docs/api/shaka.util.Error.html.

@joeyparrish
Copy link
Member

@MoinPansare, does the explanation from @TheModMaker resolve this for you? Or do you still need us to support content which uses avc1 and avc3 interchangeably?

@joeyparrish joeyparrish added status: bad content Caused by invalid, broken, or unsupported content status: waiting on response Waiting on a response from the reporter(s) of the issue and removed needs triage labels Feb 16, 2021
@shaka-bot
Copy link
Collaborator

Closing due to inactivity. If this is still an issue for you or if you have further questions, you can ask us to reopen or have the bot reopen it by including @shaka-bot reopen in a comment.

@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Feb 23, 2021
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 24, 2021
@shaka-project shaka-project locked and limited conversation to collaborators Apr 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated status: bad content Caused by invalid, broken, or unsupported content
Projects
None yet
Development

No branches or pull requests

4 participants