Swap MuxPlayer to implement ExoPlayer #85
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
The
MuxPlayerused to implementExoPlayer, but was changed to implementPlayer.I raised a support request asking if the team could revert the change, and was informed by
Benthat it should be possible.I'm raising this PR as an external contributor because:
I couldn't find any contributor documentation, so let me know if I've missed anything
What prompted the change request?
We're currently trying to integrate the Mux Android player with the IPSOS Dotmetrics SDK.
IPSOS Dotmetrics is the industry standard for measuring user engagement with features, and is integrated by many businesses to drive decisioning and prove value. It already integrates with a number of possible Android players such as
YoutubeandExoPlayer.To integrate, we need to pass an instance of
ExoPlayer into a Dotmetrics function to register the player.Unfortunately, the Mux Android player (
MuxPlayer) doesn't implement theExoPlayer child class.Instead, it implements the
Player class. Dotmetrics requires anExoPlayerinstance because it requires access to the following functions fromExoPlayer:getVideoFormatandgetAudioFormat.These functions differentiate what kind of content is being shown in the player, which feeds into their metrics.
Testing