Skip to content
This repository has been archived by the owner on Feb 11, 2022. It is now read-only.

Releases: novoda/no-player

v2.0.2

13 Jul 15:45
Compare
Choose a tag to compare

onVideoPlaying gets called multiple times when calling play() when MediaPlayer is already playing.
Add a flag and only call onVideoPlaying when the MediaPlayer is not already playing.

onError does not reset state in MediaPlayer and ExoPlayer.
Reset when an error occurs.

Prepared state

11 Jul 14:51
Compare
Choose a tag to compare

PreparedListeners.resetPreparedState was called for ExoPlayer but ignored in MediaPlayer when switching assets leading to the Player to be prepared but never auto-playing content.

ExoPlayer v2

07 Jul 10:04
Compare
Choose a tag to compare

Upgrades to ExoPlayer2 and redesigns the public Api.

Notable api changes:

  • Players are created via PlayerBuilder instead of PlayerFactory
  • Listeners are attached via Player.getListeners().add... instead of Player.add...
  • Player.reset is removed in favour of Player.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

Audio Null Checks

13 Apr 08:03
Compare
Choose a tag to compare

This release patches an issue in v1.0.2 which introduced a NullPointerException when a client tried to retrieve or set audio tracks. We now throw a more appropriate message for the client to action against.

Add audio track selection

07 Apr 09:57
Compare
Choose a tag to compare

Release notes

  • This release adds ability to change audio tracks for a video. It exposes two new methods in the Player interface.
  • void selectAudioTrack(int audioTrackIndex) which selects AudioTrack with given Index.
  • List<PlayerAudioTrack> getAudioTracks() which returns List of all available PlayerAudioTrack items.
  • Updated minSdkVersion to be 16.

Improved error reporting

06 Mar 11:51
Compare
Choose a tag to compare

Release notes

  • This release adds a new error DrmDecryptionError reported as PlayerError. This error will be thrown when exoPlayer is unable to decrypt the drm content.
  • Updated gradle plugin to com.android.tools.build:gradle:2.2.3

1.0.0

05 Jan 10:49
Compare
Choose a tag to compare

First release

Unified playback interface and event listeners
MediaPlayer buffering
ExoPlayer local, streaming and provisioning widevine modular DRM
Aspect ratio maintaining
Player selection based on ContentType and DRM