DRM-protected media

If you prepare the player using a FlowplayerMedia and the media that is defined in the Flowplayer config is DRM-protected, then the player will automatically take care of the DRM.

If, however, you wish to prepare the player with an ExternalMedia that has DRM-protected content, then you should provide a DrmConfig when you initialize your media instance:

val drmConfig = DrmConfig(DrmConfig.Scheme.WIDEVINE, "https://link.to.a.drm.license")
val externalMedia = ExternalMedia("https://link.to.a.media.file", drmConfig)
flowplayerView.prepare(externalMedia, true)

The Flowplayer Android SDK is based on ExoPlayer which in turn uses Android's MediaDrm API to support DRM-protected playbacks. The minimum Android versions required for different supported DRM schemes, along with the streaming formats for which they're supported, are listed below.

    • DRM scheme
    • Android version number
    • Android API leveAndroid API level
    • Supported formats
    • Widevine "cenc"
    • 4.4
    • 19
    • DASH, HLS (FMP4 only)
    • Widevine "cbcs", "cbc1" and "cens"
    • 7.1
    • 25
    • DASH, HLS (FMP4 only)
    • ClearKey
    • 5.0
    • 21
    • DASH
    • PlayReady SL2000
    • AndroidTV
    • AndroidTV
    • DASH, SmoothStreaming, HLS (FMP4 only)