Skip to content

Clearkey multi session problem #4834

@TadejZupancic

Description

@TadejZupancic

Before filing an issue:

  • Search existing issues, including issues that are closed.
  • Consult our FAQs, supported devices and supported formats pages. These can be
    found at https://google.github.io/ExoPlayer/.
  • Rule out issues in your own code. A good way to do this is to try and
    reproduce the issue in the ExoPlayer demo app.
  • This issue tracker is intended for bugs, feature requests and ExoPlayer
    specific questions. If you're asking a general Android development question,
    please do so on Stack Overflow.

When reporting a bug:

Fill out the sections below, leaving the headers but replacing the content. If
you're unable to provide certain information, please explain why in the relevant
section. We may close issues if they do not include sufficient information.

Issue description

I was trying to create a playlist of clearkey videos. I have my own local drm callback, that provides the right key. Single videos played fine. After creating a playlist, I noticed, that local drm callback is called only for the first video and the next ones try to use the same key, which does not work.

Then I've enabled multisession and the application crashed (android.media.MediaDrm$MediaDrmStateException: Failed to set property: Unsupported scheme or data format) at line:
mediaDrm.setPropertyString("sessionSharing", "enable"); in DefaultDrmSessionManager.java

If I comment that line out, everything works fine (drm callback is called for every video in the playlist).

Reproduction steps

Add this to the demo player medialist:
{
"name": "Clearkey",
"uri": "https://dileque.si/test/stream.mpd",
"drm_scheme": "clearkey",
"drm_multi_session": true
}

and set the drmCallback to:

LocalMediaDrmCallback drmCallback = new LocalMediaDrmCallback(
            ("{\"keys\":[{\"kty\":\"oct\",\"k\":\"kUymJmQI24JtIPh1R9qk1A\",\"kid\":\"QUxNQUVTTE9WRU5BMDAwMQ\"}],\"type\":\"temporary\"}").getBytes());

in PlayerActivity's buildDrmSessionManagerV18

Link to test content

Look above.

Version of ExoPlayer being used

2.8.4

Device(s) and version(s) of Android being used

Xiaomi Mi A1 (Android One), Android 8.1

A full bug report captured from the device

Will send it to email.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions