github TheWidlarzGroup/react-native-video v6.0.0

latest releases: v6.8.0-rc.0, v6.7.0, v6.7.0-rc.0...
5 months ago

Stable 6.0.0 (2024-05-14)

Main Changes

🚀 Features

General

  • Add typescript (#3266)
  • Add notification controls (#3723)
  • Add support of subtitles style configuration
  • Implement startPosition (#3355)
  • Add full screen support
  • RN 0.73 support
  • Add playback functions to ref
  • Update isCodecSupported to return enum
  • Add onVolumeChange event (#3322)
  • Add AdEvent enum to have an exhaustive list of all possible AdEvent values (#3374)
  • Move require (local files) to source.uri (#3535)
  • Implement opacity to control visibility of subtitles (#3583)

Android

  • Replace deprecated ExoPlayer2 with AndroidX media3 (#3337)
  • Add new apis to query device capabilities
  • Add new events for audioTrack, textTracks and videoTracks
  • Add prop to control debug log level (#3277)
  • Add subtitle event (#3566)
  • Allow to disable selected functionalities (#3681)
  • Cache (#3514)
  • Implement asset folder playback (#3733)
  • Make buffering strategy dynamic (#3756)
  • Add support of square video format
  • Add support for AGP 8

iOS

  • Implement onPlaybackStateChanged callback (#3307)
  • Add onBandwidthUpdate event (#3331)
  • Add visionOS support (#3425)
  • Implement onAudioTracks and onTextTracks (#3503)
  • Add support for accessing WebVTT Subtitle Content (#3541)
  • Add support for ios camera roll
  • Swift Conversion

tvOS

  • Add custom image metadata option for tvos and add missing types for custom metadata properties (#3280)

🐛 Bug Fixes

General

  • Improve initial test for checking url validity
  • Add accessibility & testID in typing (#3434)
  • Fix crash with interop layer (#3509)
  • Add missing shutterColor type (#3561)
  • Fix getLicense function's type definition (#3606)
  • Remove setNativeProps usage (#3605)
  • Fix codegen types (#3636)
  • Ensure poster works as expected and add it to the sample (#3643)
  • Ensure tracks are available in sample (#3660)
  • Prevents crash from occurring when using the selected video track with resolution type (#3664)
  • Avoid crash when setting index to 0 to tracks selection (#3721)

Android

  • Ensure playback progress is reported even if paused
  • Fix the play button no shown after pausing video at the very first time
  • Fix the hardware back button
  • Ensure player is stopped when invalid uri is configured
  • Add stub for IMA and option to enable it on demand
  • Remove kotlin-android-extensions (#3299)
  • Ensure audio volume is changed in UI thread (#3292)
  • Fix leak caused by removing lifecycle listener too early (#3380)
  • Ensure save doesn't crash on android (#3415)
  • Support opacity properly (#3464)
  • Fix Re-layout controls after fullscreen dismiss (#3490)
  • Check disableFocus when state is ready (#3494)
  • EnableDecoderFallback to decrease DECODER_ERROR issue (#3416)
  • Ensure rate is never set to 0 (#3593)
  • Track selection parameter has change in last release. (#3594)
  • Keep screen on on fullscreen (#3563)
  • Set title for external subtitles (#3676)
  • Fixed bug where video would not be visible after remount and change of drm source (#3668)
  • Seek callback with controls (#3694)
  • Prevent changing video track when video load (#3683)

iOS

  • Fix Unable to disable sideloaded texttracks in the AVPlayer
  • Fix memory leaks for iOS
  • Fix the kvo compliance crash when rapidly switching source
  • Ensure controls are not displayed when disabled by user
  • Ensure audio and subtitle tracks are well reported
  • Fix Memory leak due to [weak self] and delegate not being weak
  • Fix Fairplay different key per asset (#3261)
  • Fix Resuming video ad after closing the in-app browser on iOS (#3275)
  • Remove false calls at onPlaybackRateChange (#3306)
  • Fix Player is frozen after re-focusing on the app (#3326)
  • Fix external text tracks crashes with m3u8 files (#3330)
  • Fix pip when player doesn't fill screen (#3363)
  • Check for ios url query encoding (#3384)
  • Do not crash when accessLog return nil (#3549)
  • Fix missing bridge in bridgeless mode (#3570)
  • Don't crop video when in repeat mode (#3575)
  • Split licenseUrl and loadedLicenseUrl (#3578)
  • Ensure playback stopped in background (#3587)
  • Fix iOS DRM header parser (#3609)
  • Fix PiP callback (#3601)
  • Call PictureInPicture callbacks with native controls (#3603)
  • Apply PictureInPicture state on start (#3655)
  • Do not save pause state before seeking (#3650)
  • Workaround for rate change (#3657)
  • Add workaround for TouchableWithoutFeedback (#3688)
  • Fix sideloading external subtitles (#3690)
  • Ensure duration available when playing live (#3710)
  • Ensure orientation is correct on iOS (#3719)
  • Destroy adsManager when player detach from super view (#3716) (#3722)
  • Restore caching feature (#3341)
  • Fix real time issue when fast zapping (#3582)

tvOS

  • Fix Compile issues with tvOS linked to earpiece & pip (#3276)

🚜 Refactor

  • (ios) Remove type assertion within setupPipController (#3493)
  • Refactor resize prop handler (#3286)
  • Refactor fullScreenPlayerView creation

⚡ Performance

  • Ensure we do not provide callback to native if no callback provided from app (#3735)
  • (ios) Add early returns (#3741)
  • (android) Refactor side loaded text tracks (#3754)

Full History

This changelog only includes the changes that are relevant to the end user. 5.2.1 is +900 commits behind new stable version.
For a full list of changes, please refer to the commit history.
Full Changelog: v5.2.1...v6.0.0

Don't miss a new react-native-video release

NewReleases is sending notifications on new releases.