OEMs testing Widevine/DASH playback have requested additional test content. This updated demo apk provides it. bug: 12789209 Change-Id: Idba85a1569bc59e43cfcb15b762d0d5da74c91aa
40 lines
1.9 KiB
Plaintext
40 lines
1.9 KiB
Plaintext
ExoPlayerDemo.apk can be used to do end-to-end verification of Modular DRM.
|
|
|
|
To install, side load ExoPlayerDemo.apk app to your device:
|
|
|
|
adb install ExoPlayerDemo.apk
|
|
|
|
To run, launch ExoPlayer, then choose the clip to play. The
|
|
Widevine-encrypted DASH CENC assets are in the "WIDEVINE DASH GTS"
|
|
section.
|
|
|
|
These assets test various configurations of the Key Control Block (KCB)
|
|
with various protections and expirations:
|
|
|
|
WV: HDCP not specified (KCB: Observe_HDCP=false)
|
|
WV: HDCP not required (KCB: Observe_HDCP=true && HDCP=not required && DataPath=normal)
|
|
WV: HDCP required (KCB: Observe_HDCP=true && HDCP=required && DataPath=normal)
|
|
WV: Secure video path required (KCB: Observe_HDCP=true && HDCP=not required && DataPath=secure)
|
|
WV: HDCP + secure video path required (KCB: Observe_HDCP=true && HDCP=required && DataPath=secure)
|
|
WV: 30s license duration (KCB: test timer expiration)
|
|
|
|
Notes:
|
|
|
|
- The demo app shows up in the launcher as "ExoPlayer"
|
|
|
|
- The demo app contains a crude adaptive algorithm. It starts at 144p and will not switch up for 15
|
|
seconds. This is expected (and has the benefit of more or less guaranteeing there's at least one
|
|
switch during any playback beyond this length).
|
|
|
|
- If your device is running KLP, and the decoder claims to support adaptive, then ExoPlayer will
|
|
do seamless resolution switching. If the decoder doesn't claim this then you'll still get the
|
|
old nearly-seamless-switch (codec release/re-acquire) behavior.
|
|
|
|
- If your device is running KLP, the player will attempt to hook into the new
|
|
AudioTrack.getTimestamp API to do A/V sync. It will fall back to how it used to do things if
|
|
the API isn't available.
|
|
|
|
- Exoplayer will retrieve a new license when playing "WV: 30s license duration",
|
|
after the license duration has expired. Integrators should verify by means
|
|
other than visual inspection that license duration is being enforced.
|