google/ExoPlayer
This system is a comprehensive media playback and processing library for Android, designed to handle a wide variety of audio, video, and container formats. It provides core playback capabilities including streaming, offline downloads, and ad insertion, while also supporting advanced features like video post-processing, 360-degree video stabilization, and hardware-accelerated decoding for codecs such as AV1, VP9, and Opus. The codebase has been significantly refactored to migrate from the legacy ExoPlayer API to the modern AndroidX Media3 namespace, emphasizing modularity, testability, and robust session management.
48.9
Weak · 6 August 2026
301k
lines of production code
Java
with JavaScript
5
bus factor · 390 authors in all
2
measurements over time
How it got here
2014–2016 · ExoPlayer V2 cleanup and Media3 migration
This period focused on stripping out legacy ExoPlayer V2 components, including the old chunk-based architecture, deprecated utilities, and Eclipse build files, while simultaneously introducing native C++ extensions for VP9, Opus, and FLAC. The work also involved migrating the codebase to the AndroidX Media3 namespace and updating the Gradle build system, signaling a transition toward a more modular and modern API structure.
38 changes
2017–2018 · ExoPlayer 2 refactoring and modularization
This period focused on a comprehensive architectural refactoring of the ExoPlayer 2 codebase, introducing new interfaces and base classes for core components like the player, audio, video, and DRM systems. The team also modularized the library by splitting out UI, HLS, and DASH support into separate artifacts, while simultaneously laying the groundwork for the eventual migration to AndroidX Media3.
41 changes
2019–2020 · Media3 migration and test coverage
This period focused on preparing the codebase for the androidx.media3 migration by deprecating legacy packages and introducing new utility classes and interfaces. Significant effort was dedicated to expanding unit and instrumentation test coverage across core components, extensions, and utility modules. Additionally, new features such as AV1 decoding, WorkManager integration, and GL demo applications were added.
38 changes
2021–2023 · Media3 migration and feature expansion
This period focused on expanding ExoPlayer's capabilities with new modules for RTSP playback, video effects, and MP4 muxing, while simultaneously introducing the foundational classes for the Media3 migration. The work also included significant additions of test coverage across these new and existing components to ensure stability.
30 changes
Survey your own repository
google/ExoPlayer was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit dd430f7053 — the exact code this score is about.
- Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.