Skip to main content



  • Added support to conserve player config across session.
  • Reduce watermark text size proportionately for a smaller screen.
  • Bug fixes -
    • Releasing media session when player stops.
    • Showing "Tap to retry" only when error message is retry-able with the built-in player ui.
    • Going to PiP closes the bottom sheet and dialogs with the built-in player ui.


  • Upgraded exoplayer dependency to 2.18.5
  • Added view overlay for fullscreen and picture in picture.
  • Bug fixes


  • Bug fix - Incorrect MediaInfo.duration with DownloadStatus.


  • Changed exoplayer data source configurations.


  • VdoPlayerUIFragment now has an option to disable default controls.
  • Pinch to zoom is now supported with VdoPlayerUIFragment default controls.
  • The player resize mode can now be modified.
  • Added support for downloading media without audio.
  • Upgraded exoplayer dependency to 2.18.2
  • Bug fixes.


  • Minor Improvements


  • Added support for Chromecast.


  • Added support for picture in picture mode.
  • Added callback for persistent OTP with save offline.
  • Updated CompileSdkVersion from API level 31 to 33.
  • Updated TargetSdkVersion from API level 30 to 32.
  • Vdocipher cast module moved into core module. Cast module dependency no longer needs to be specified separately.
  • Removed jcenter due to deprecation.
  • Fixed memory leaks.


  • Fixed audio issues with offline playback.

  • Changed signature of OptionsDownloader. Context is now required for the instantiation of OptionDownloader.

     OptionsDownloader optionsDownloader = new OptionsDownloader(context); //Pass context here.
  • Fixed VdoDlService memory leak.


  • Code optimisation and refactoring


  • Bug fixes related to HLS playback

  • First call to onBackPressed() is handled by VdoPlayerUIFragment to manage player orientation and state then subsequent calls are passed to attached activity.

  • Option to disable initital handling of onBackPressed() in VdoPlayerUIFragment by setting app:handleBackPress="false". This can be used to handle all back press action in activity.

    app:handleBackPress="false" //by default it's true


  • Added support for TV applications in VdoPlayerUIFragment


  • Fixed issue with caption selection
  • Increased gesture area for double tap in VdoPlayerUIFragment
  • Added migrations for database changes across SDK


  • Player UI enhancements
  • Fixed issue with clear storage option in VdoPlayerUIFragment


  • Player UI enhancements
  • Multiple download issue fixed
  • Upgraded exoplayer dependency to 2.18.1
  • Bug fixes


  • New VdoPlayerUIFragment with built-in player controls
    • Option to enable or disable player controls
    • Media can be saved and streamed locally
  • Bug fixes


  • Adaptive playback bug fix


  • Upgraded exoplayer dependency to 2.18.0
  • Added caption support for offline playback
  • Added option in VdoInitParams to resume video from last playback position
  • Added callback to provide an event to resume from saved seek position
  • Bug fixes


  • Upgraded exoplayer dependency to 2.17.1
  • Implemented offline downloads using exoplayer
    • Added feature to download content in external storage
    • Use VdoDownloadManager.getInstance(@NonNull Context context, @Nullable String downloadLocation) with DownloadRequest.Builder(@NonNull DownloadSelections selections) and vdoDownloadManager.enqueueV2(@NonNull DownloadRequest downloadRequest) to use new download implementation
  • Provided option for customising download notification helper
  • Added feature to search using selected caption
  • Added feature to set default caption
  • Enhanced watermark feature
  • Bug Fixes

Note -

- If video download is paused and download location is changed, the half downloaded content needs to be removed manually from device storage and download should be restarted.
- In case of re-downloading a video, existing file is removed and downloaded again with new selected tracks


  • Fix Track class equals() and hashCode()
  • Bug fixes


  • Update minSdkVersion to 18. Apps depending on this version will need to set a minSdkVersion of 18 or above
  • Fix PlaybackEventListener#onBufferUpdate callback not being called
  • Move VdoInitParams, PlayerHost and related classes to top level classes
  • Class name changes are:
    • VdoPlayer.PlayerHost --> PlayerHost
    • VdoPlayer.InitializationListener --> PlayerHost.InitializationListener
    • VdoPlayer.PlayerHostNotReadyException --> PlayerHost.PlayerHostNotReadyException
    • VdoPlayer.VdoInitParams --> VdoInitParams


  • Upgrade exoplayer dependency to 2.14.2
  • Restore track selections on player restore
  • Bug fixes


  • Option to block devices with ABD debugging on
  • Bug fixes


  • Upgrade exoplayer dependency to 2.12.3
  • Regular security and bug fix updates


  • Upgrade exoplayer dependency to 2.11.8
  • Add api to get device's analytics ID on vdocipher logs for error handling
  • Bug fixes.


  • Add option in VdoInitParams to turn off playback analytics collection.
  • Disable auto backup of downloaded offline video index.
  • Add error code for the case when a requested offline video is not found on the device.
  • Bug fixes.


  • SafetyNet Implementation for security enhancements


  • Offline Download Video Watermark addition


  • Bug fixes
  • Added Cast plugin dependencies


  • Further classify generic errors so they are easier to debug.
  • Bug fixes


  • Implemented Watermark Skip Behaviour
  • Bug fixes


  • Some generic error codes have been replaced with more informative specific ones.
  • Bug fixes.


  • New sdk available for Google Cast support; integration instructions and demo provided in sample app on github
  • Added support to specify resume time and autoplay behavior in VdoInitParams
  • Added support-library based player fragment
  • Improved offline playback compatibility
  • Bug fixes.


  • Fixed delayed query results for offline downloads.
  • Fixed unreliable deletion for offline downloads.
  • Updated to new gradle dependency configurations.
  • Bug fixes.


  • Added api to specify start and end time for playback in VdoInitParams.
  • Additional error information, when applicable, is available in DownloadStatus#reasonDescription, which can be parsed as a json to obtain details.
  • Bug fixes.


  • Added api to easily set and query adaptive mode.
  • Finer permission denial error codes and messages.
  • Bug fixes.