Key-per-track content
A key-per-track content stream consists of multiple tracks, where some tracks use different keys than others. It can be played in one of two ways, depending on how the licence server is configured.
Licence server responds with all keys for the content
The licence server is configured so that when it receives a request for one key, it responds with all keys for the content. The player handles this without any special configuration.
Licence server responds with the requested key only
In this case, the licence server is configured to respond with only the key specified in the request. To play streams like this, multisession must be enabled (see Enabling multisession below).
Enabling multisession
When using custom DRM callbacks with theOTVMediaDrmCallback
interface, this is done in the implementation of the isMultiSession()
method.
import nagra.otv.sdk.drm.OTVMediaDrmCallback;
public class CustomDrmCallback implements OTVMediaDrmCallback {
…
public boolean isMultisession() {
return true;
}
…
}
If using the convenience callbacks that have OTVCommonMediaDrmCallback
as a parent, it can be set with setMultiSession()
.
import nagra.otv.sdk.drm.OTVCommonMediaDrmCallback;
import nagra.otv.sdk.drm.OTVHttpMediaDrmCallback;
public class MediaPlayer {
…
public MediaPlayer() {
…
OTVCommonMediaDrmCallback callback = new OTVHttpMediaDrmCallback();
callback.setMultiSession(true);
…
}
…
}
Offline playback
As only one licence is stored for offline playback, key-per-track content configured for the licence server responds with the requested key only is currently unsupported.