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

Tizen 2017 misreports support for persistent licenses #894

Closed
joeyparrish opened this issue Jun 16, 2017 · 6 comments
Closed

Tizen 2017 misreports support for persistent licenses #894

joeyparrish opened this issue Jun 16, 2017 · 6 comments
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms status: archived Archived and locked; will not be updated type: external An issue with an external dependency; not our issue; sometimes kept open for tracking

Comments

@joeyparrish
Copy link
Member

Safari 3.0.0 (Tizen 3.0.0) Offline stores, plays, and deletes protected content FAILED
	Failed: Shaka Error DRM.LICENSE_RESPONSE_REJECTED (Updating session failed. (99999))
	Error: Shaka Error DRM.LICENSE_RESPONSE_REJECTED (Updating session failed. (99999))
	    at new shaka.util.Error (lib/util/error.js:65:13)
	    at null.<anonymous> (lib/media/drm_engine.js:1106:24)

It would appear that Tizen TVs claim support for persistent licenses, but do not actually support them. We should:

  1. File a bug on Samsung to fix the platform to report accurately
  2. Work around the bug by detecting this lack of support in DrmEngine.probeSupport
@joeyparrish joeyparrish added type: bug Something isn't working correctly type: external An issue with an external dependency; not our issue; sometimes kept open for tracking labels Jun 16, 2017
@joeyparrish joeyparrish added this to the v2.2.0 milestone Jun 16, 2017
@joeyparrish joeyparrish self-assigned this Jun 21, 2017
@joeyparrish
Copy link
Member Author

Tizen 3.0 web app user agent string, for reference:

Mozilla/5.0 (SMART-TV; LINUX; Tizen 3.0) AppleWebKit/538.1 (KHTML, like Gecko) Version/3.0 TV Safari/538.1

@joeyparrish
Copy link
Member Author

In the original failing test ("Offline stores, plays, and deletes protected content"), the platform doesn't fail the persistent license flow until the license response is given to the CDM.

We now have an additional failing test (new test added in #878):

Offline
    ✗ stores, plays, and deletes protected content with a temporary license
	Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

Safari 3.0.0 (Tizen 3.0.0): Executed 1 of 1221 (1 FAILED) (skipped 1220) ERROR (2 mins 4.54 secs / 2 mins 0.032 secs)

With logging turned on, the new failure shows the error "Must not be destroyed", which is ambiguous.

@joeyparrish
Copy link
Member Author

The new test is failing because DrmEngine.prototype.createOrLoad returns a Promise that is never resolved. this.allSessionsLoaded_ for temporary sessions is only resolved through key status events. We don't have those on 2017 Tizen TVs. (#891)

@joeyparrish joeyparrish changed the title Offline license tests fail on Tizen 2017 Tizen 2017 misreports support for persistent licenses Jun 22, 2017
shaka-bot pushed a commit that referenced this issue Jun 22, 2017
This works around Tizen 3.0's misreporting of its support for
persistent licenses, which prevents us from running persistent
license tests on that platform.

There is still one more failing test on this platform.

Issue #894

Change-Id: I81ebb80a831c753e3af4851efcbd7e97211e6890
shaka-bot pushed a commit that referenced this issue Jun 22, 2017
Discovered while working on #894

Change-Id: Icf74cd4bf804df0b055033f9c1113971e1644202
shaka-bot pushed a commit that referenced this issue Jun 22, 2017
If we haven't gotten a key status within 5 seconds of updating a
session, consider the session "loaded".  This fixes a hung Promise
in DrmEngine for offline use-cases.

Issue #891
Issue #894

Change-Id: Ic4c7478198a0db4b3a3df8842d5f8cd1f6f3e8bd
@joeyparrish
Copy link
Member Author

Work-arounds are in place now, but we still have not been able to file bugs against Samsung/Tizen. Having trouble getting an account on their JIRA instance.

@joeyparrish joeyparrish modified the milestone: v2.2.0 Jun 22, 2017
joeyparrish added a commit that referenced this issue Jul 17, 2017
This works around Tizen 3.0's misreporting of its support for
persistent licenses, which prevents us from running persistent
license tests on that platform.

There is still one more failing test on this platform.

Issue #894

Change-Id: I81ebb80a831c753e3af4851efcbd7e97211e6890
joeyparrish added a commit that referenced this issue Jul 17, 2017
Discovered while working on #894

Change-Id: Icf74cd4bf804df0b055033f9c1113971e1644202
joeyparrish added a commit that referenced this issue Jul 17, 2017
If we haven't gotten a key status within 5 seconds of updating a
session, consider the session "loaded".  This fixes a hung Promise
in DrmEngine for offline use-cases.

Issue #891
Issue #894

Change-Id: Ic4c7478198a0db4b3a3df8842d5f8cd1f6f3e8bd
@joeyparrish
Copy link
Member Author

Work-arounds have been cherry-picked and will be released in v2.1.5.

@joeyparrish joeyparrish removed type: bug Something isn't working correctly type: enhancement New feature or request labels Aug 24, 2017
@joeyparrish joeyparrish removed their assignment Nov 22, 2017
@joeyparrish joeyparrish added the platform: TV/STB Issues affecting smart TV or set-top box platforms label Jul 17, 2018
@joeyparrish
Copy link
Member Author

Samsung will never fix this, so there's no need for us to continue tracking it. I'm closing it now.

@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Jul 23, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms status: archived Archived and locked; will not be updated type: external An issue with an external dependency; not our issue; sometimes kept open for tracking
Projects
None yet
Development

No branches or pull requests

1 participant