ExoPlayer v2
Upgrades to ExoPlayer2 and redesigns the public Api.
Notable api changes:
Players
are created viaPlayerBuilder
instead ofPlayerFactory
- Listeners are attached via
Player.getListeners().add...
instead ofPlayer.add...
Player.reset
is removed in favour ofPlayer.stop
PRs:
#17 Barebones ExoPlayer2 migration (without drm/subtitles)
#21 Refactoring exoplayer facade listeners
#23 Refactoring exoplayer forwarders
#24 Refactoring media player listens
#25 Adding audio tracks to exoplayer
#26 Avoid leaking exoplayer classes to public api
#27 ExoplayerImpl
and ExoPlayerAudioTrackSelector
unit tests
#29 Demo audio track selection
#30 Adds ListenerHolder collaborator
#33 MediaPlayer facade tests
#37 AndroidMediaSelector tests
#38 Mediaplayer facade refactor/tests
#39 Consistent reset logic
#41 MediaPlayer state exceptions
#42 Reducing listeners scope
#43 MediaPlayerImpl creation refactoring
#44 decouple exoplayer constructor listeners
#45 Removing notils
#47 Readding subtitles
#48 Widevine modular streaming support
#50 Widevine modular download support
#51 Drm error propagation
#52 Exposing non secure decoder usage as client api
#54 Asserting Drm is supported when attempting to use drm
#55 Package restructuring
#56 Wrapping exoplayer TextCues to avoid leaking
#57 Replacing PlayerFactory
with PlayerBuilder
#58 Javadoc supported public api
#59 Introducing internal
package for all non support public classes
#61 Fixing NPE in subitles
#62 No longer exposing PlayerChecker
in favour of more information on PlayerInformation
#63 Removing leaking Player from error listeners
#64 Removing Typed player errors and instead providing a ErrorType
#65 Delegating SurfaceHolder lifecycle to exoplayer
#66 Decouple error messages
#67 Fixing exoplayer surfaceholder usage