diff --git a/libwvdrmengine/test/demo/ExoPlayerDemo.apk b/libwvdrmengine/test/demo/ExoPlayerDemo.apk index e91141b2..85a1cf91 100644 Binary files a/libwvdrmengine/test/demo/ExoPlayerDemo.apk and b/libwvdrmengine/test/demo/ExoPlayerDemo.apk differ diff --git a/libwvdrmengine/test/demo/readme.txt b/libwvdrmengine/test/demo/readme.txt index 186820da..0ed7279c 100644 --- a/libwvdrmengine/test/demo/readme.txt +++ b/libwvdrmengine/test/demo/readme.txt @@ -4,20 +4,37 @@ 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" +To run, launch ExoPlayer, then choose the clip to play. + The Widevine-encrypted DASH CENC assets are in the "WIDEVINE DASH (policy tests)" 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.) + Security Level Checks: + SW secure crypto (SW crypto required) + SW secure decode (SW crypto and decode required) + HW secure crypto (HW crypto required) + HW secure decode (HW crypto and decode required) + HW secure all (HW secure video path required (L1)) + + License Timer Policy: + 30s license (timer stops at 30 seconds, playback should stop) + + HDCP Policies + HDCP not required (KCB: Observe_HDCP=true && HDCP=not required && DataPath=normal) + HDCP 1.0 required (KCB: Observe_HDCP=true && HDCP=required && DataPath=normal) + HDCP 2.0 required (Requires HDCP 2.0+ to play) + HDCP 2.1 required (Requires HDCP 2.1+ to play) + HDCP 2.2 required (Requires HDCP 2.2+ to play) + HDCP no digital output (Output to connected devices not allowed) + + There are also Widevine-encrypted DASH CENC assets for various container + formats as well. + Widevine DASH (MP4, H264): Contains cenc and cbcs encryption samples + Widevine DASH (WebM, VP9): Contains full-sample and sub-sample cenc + samples + Widevine DASH (MP4, H265): Contains cenc samples only Notes: @@ -31,10 +48,6 @@ Notes: 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 +- 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.