Add support for CMCD v2 in Media3
@rohitjoins is already working on this.
Since Aug 19, 2025.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 955
- Avg merge
- 12d 14h
- Merged PRs (30d)
- 2
Description
[REQUIRED] Use case description
The current version of Android Media3 does not support CMCD v2 (Common Media Client Data version 2).
CMCD v2 was published by CTA in 2024 and brings important enhancements to the CMCD specification, including extended signaling, new data fields, and improved consistency for real-time streaming analytics.
For services that rely on CMCD to monitor playback quality, optimize CDN performance, and interoperate with industry-standard analytics platforms, the lack of CMCD v2 support in Media3 makes adoption challenging. As CMCD v2 is becoming the standard across major players and CDNs, having native support in Media3 is critical for compatibility and long-term adoption.
Proposed solution
Introduce CMCD v2 support in Media3, including:
Updating the CMCD implementation to align with the latest CTA specification.
Ensuring new CMCD v2 fields and semantics are included in outgoing requests.
Providing configuration options for developers to enable/disable CMCD v2, or to fall back to v1 if required.
Alternatives considered
Custom implementation: Manually implementing CMCD v2 injection through request interceptors or custom data collectors. However, this adds complexity, duplicates effort across projects, and risks divergence from the standard.
Relying on ExoPlayer extensions: Currently, ExoPlayer also does not provide CMCD v2 support, so waiting on both projects without a roadmap introduces uncertainty.
Native CMCD v2 support in Media3 would provide a standardized, reliable, and future-proof solution for developers.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.