Skip to main content
Version: 8.14.0

Getting started with CMCD on Android

Media player clients can transmit useful information to Content Delivery Networks (CDNs) with each object request. This implementation supports Common Media Client Data (CMCD) as defined in CTA-5004, published in September 2020.

Usage

To enable CMCD, developers can add a CMCDTransmissionMode inside a SourceDescription.

val typedSource = TypedSource.Builder("<HLS_STREAM_URL>")
.cmcdTransmissionMode(CMCDTransmissionMode.HTTP_HEADER)
.build()

val sourceDescription = SourceDescription.Builder(typedSource)
.build()

theoPlayerView.player.source = sourceDescription

The preferred mode of transmission for HTTP requests is to use custom headers, but you can configure the transmission mode when creating the CMCD source. For example, to transmit via query arguments:

val typedSource = TypedSource.Builder("<HLS_STREAM_URL>")
.cmcdTransmissionMode(CMCDTransmissionMode.QUERY_ARGUMENT)
.build()

val sourceDescription = SourceDescription.Builder(typedSource)
.build()

theoPlayerView.player.source = sourceDescription

Remarks

Note that CMCD is only supported with the Media3 integration.