ExoPlayerDemo build is based on the demo-debug.apk built from: google3/third_party/java_src/android_libs/exoplayer Supporting cl in google3: cl/97176187 Bug: 19571315 Change-Id: I611e9e5f363ecfeb66e4813c1f6939abbf855d09
41 lines
2.0 KiB
Plaintext
41 lines
2.0 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)
|
|
WV: Secure VP9 (Requires a secure VP9 decoder. Only shows on devices that support VP9 content.)
|
|
|
|
Notes:
|
|
|
|
- The demo app shows up in the launcher as "ExoPlayer"
|
|
|
|
- The demo app contains a crude adaptive algorithm. It starts at 480p 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 or later, 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 or later, the player will attempt to hook into the
|
|
AudioTrack.getTimestamp API to do A/V sync. It will fall back to a legacy approach 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.
|