Persistent licenses for Android

Persistent license in Encrypted Media Extensions (EME) means the license can
be persisted on the device so that applications can load the license into
memory without sending another license request to the server. This is how
offline playback is supported in EME.

Until now, Chrome OS was the only platform to support persistent licenses. It
is not true anymore. Playing protected content through EME while the device is
offline is now possible on Android as well.

Click "Make available offline" and wait for the video to be downloaded.

Turn airplane mode on.

Click the "Play" button and enjoy the video!

Note: Widevine support is disabled in Incognito mode in Android. That way
users do not inadvertently lose paid licenses when closing Incognito tabs.

Widevine L1 for Android

As you may already know, all Android devices are required to support Widevine
Security Level 3 (Widevine L3). However there are many devices out there
that also support the highest security level: Widevine Security Level 1
(Widevine L1) where all content processing, cryptography, and control is
performed within the Trusted Execution Environment (TEE).

Good news! Widevine L1 is now supported in Chrome for Android so that media can
be played in the most secure way. Note that it was supported already on Chrome
OS.

Customize seekable range on live MSE streams

As you may already know, the seekable attribute contains the ranges
of the media resource to which the browser can seek. Typically, it contains a
single time range which starts at 0 and ends at the media resource duration. If
the duration is not available though, such as a live stream, the time range may
continuously change.

The good news is that you can now more effectively customize the
seekable range logic with Media Source Extensions (MSE) by
providing or removing a single seekable range that is union'ed with the current
buffered ranges. It results in a single seekable range which fits both, when
the media source duration is +Infinity.

In the code below, the media source has already been attached to a media
element and contains only its init segment:

FLAC in MP4 for MSE

The lossless audio coding format FLAC has been supported in regular media
playback since Chrome 56. FLAC in ISO-BMFF support (aka FLAC in MP4) was added
shortly after. And now FLAC in MP4 is available in Chrome 62 for Media Source
Extensions (MSE).

Automatic video goes to fullscreen when the device is rotated

If you rotate a device to landscape while a video is playing in the viewport,
playback will automatically switch to fullscreen mode. Rotating the device to
portrait puts the video back to windowed mode. Check out our past article for
more details.