Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix crash when the source is a cameraroll #2639

Merged
merged 6 commits into from
Aug 6, 2022
Merged

Fix crash when the source is a cameraroll #2639

merged 6 commits into from
Aug 6, 2022

Conversation

virgil1996
Copy link
Contributor

@virgil1996 virgil1996 commented Apr 15, 2022

This PR support load iOS cameraroll

Closes #2652

@hueniverse
Copy link
Contributor

Thank you for the contribution!

Can you please provide a working app sample that I can verify this fix with? Ideally use https://github.com/hueniverse/react-native-video-test and fork it with the changes needed to use the new feature.

@virgil1996
Copy link
Contributor Author

Thank you for the contribution!

Can you please provide a working app sample that I can verify this fix with? Ideally use https://github.com/hueniverse/react-native-video-test and fork it with the changes needed to use the new feature.

@hueniverse Thank you! I was tested my PR. You can see this https://github.com/virgil1996/react-native-video-test

@hueniverse hueniverse self-assigned this Apr 19, 2022
@hueniverse hueniverse added this to the 5.2.1 milestone Apr 19, 2022
Copy link
Contributor

@hueniverse hueniverse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk 2

@hueniverse
Copy link
Contributor

@virgil1996 Thank you. I tested it and it worked as expected. I would like one more reviewer to approve. Hopefully someone will volunteer.

@EmmanuelSkapple
Copy link

I have the same problem, it is still not possible to download this update?

@virgil1996
Copy link
Contributor Author

It should be other reviewer to approve

@hueniverse hueniverse modified the milestones: 6.0.0-alpha1, 6.0.0-alpha2 Jun 15, 2022
@armands-malejevs
Copy link
Collaborator

The Obj-c implementation looks OK to me, but it will need to be converted to Swift to be mergeable.

@hueniverse
Copy link
Contributor

@nickfujita Is this something you can take care of?

@hueniverse hueniverse removed this from the 6.0.0-alpha.1 milestone Jun 22, 2022
@hueniverse hueniverse added the 1 label Jun 23, 2022
@hueniverse hueniverse added help wanted The issue has been reviewed and is valid, and is waiting for someone to work on it. pending rebase and removed review requested help wanted The issue has been reviewed and is valid, and is waiting for someone to work on it. labels Jun 23, 2022
@virgil1996
Copy link
Contributor Author

@hueniverse Hello, I was converted to Swift version. But I'm not familiar with this way of writing, you can see if you have any suggestions

@hueniverse
Copy link
Contributor

@freeboub should be back from vacation soon and will review again. Thanks @virgil1996

CHANGELOG.md Outdated Show resolved Hide resolved
@freeboub freeboub merged commit bb6b347 into TheWidlarzGroup:master Aug 6, 2022
@virgil1996 virgil1996 deleted the fix/support-cameraroll branch August 8, 2022 03:03
renovate bot referenced this pull request in valora-inc/wallet Nov 22, 2023
…4499)

[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[react-native-video](https://github.com/react-native-community/react-native-video)
| [`^6.0.0-alpha.7` ->
`^6.0.0-alpha.11`](https://renovatebot.com/diffs/npm/react-native-video/6.0.0-alpha.7/6.0.0-alpha.11)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-video/6.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-video/6.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-video/6.0.0-alpha.7/6.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-video/6.0.0-alpha.7/6.0.0-alpha.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>react-native-community/react-native-video
(react-native-video)</summary>

###
[`v6.0.0-alpha.11`](https://github.com/react-native-community/react-native-video/blob/HEAD/CHANGELOG.md#600-alpha11-2023-11-15)

[Compare
Source](https://github.com/react-native-community/react-native-video/compare/v6.0.0-alpha.10...v6.0.0-alpha.11)

##### Bug Fixes

- fix bad package release process
([#&#8203;3347](https://github.com/react-native-video/react-native-video/issues/3347))
([f961f95](https://github.com/react-native-video/react-native-video/commit/f961f952a483192ee3de1f7bae59419ec6ddc5b7))

###
[`v6.0.0-alpha.10`](https://github.com/react-native-community/react-native-video/blob/HEAD/CHANGELOG.md#600-alpha10-2023-11-13)

[Compare
Source](https://github.com/react-native-community/react-native-video/compare/v6.0.0-alpha.9...v6.0.0-alpha.10)

##### Bug Fixes

- fixes where Android's muted prop behavior differs from iOS
([#&#8203;3339](https://github.com/react-native-video/react-native-video/issues/3339))
([8fbdc28](https://github.com/react-native-video/react-native-video/commit/8fbdc28a73a0b3ffd3691ef0c8cf523c760ae288))
- **ios:** fix wrong fullscreen method definition
([#&#8203;3338](https://github.com/react-native-video/react-native-video/issues/3338))
([7f49b56](https://github.com/react-native-video/react-native-video/commit/7f49b560278262fb4276f931404c70672a6445c8))
- **ios:** player is frozen after re-focusing on the app
([#&#8203;3326](https://github.com/react-native-video/react-native-video/issues/3326))
([722ae34](https://github.com/react-native-video/react-native-video/commit/722ae3477a68aecb812b26d71ea22a17dda71f50))

##### Features

- add `onVolumeChange` event
([#&#8203;3322](https://github.com/react-native-video/react-native-video/issues/3322))
([cdbc856](https://github.com/react-native-video/react-native-video/commit/cdbc85638789da0002cdadb13190963d4c1332c2))
- add release-it
([#&#8203;3342](https://github.com/react-native-video/react-native-video/issues/3342))
([da27089](https://github.com/react-native-video/react-native-video/commit/da270891fbce485bb132825a336638f2af98408d))
- **ios:** add onBandwidthUpdate event
([#&#8203;3331](https://github.com/react-native-video/react-native-video/issues/3331))
([9054db3](https://github.com/react-native-video/react-native-video/commit/9054db35d7d5e4e6d54739fc9349576c03522d7c))

#### Changelog

#### Next

- Android, iOS: add onVolumeChange event
[#&#8203;3322](https://github.com/react-native-community/react-native-video/issues/3322)

##### Version 6.0.0-alpha.9

- All: add built-in typescript support
[#&#8203;3266](https://github.com/react-native-video/react-native-video/pull/3266)
- All: update documentation generation
[#&#8203;3296](https://github.com/react-native-video/react-native-video/pull/3296)
- **BREAKING CHANGE**❗️Android: update isCodecSupported to return enum
[#&#8203;3254](https://github.com/react-native-video/react-native-video/pull/3254)
- Android: use explicit not-exported flag for AudioBecomingNoisyReceiver
[#&#8203;3327](https://github.com/react-native-video/react-native-video/pull/3327)
- Android: remove kotlin-android-extensions
[#&#8203;3299](https://github.com/react-native-video/react-native-video/pull/3299)
- Android: ensure audio volume is changed in UI thread
[3292](https://github.com/react-native-video/react-native-video/pull/3292)
-   Android: multiple internal refactor and switch to kotlin
- Android: refactor log management and add an option to increase log
verbosity
[#&#8203;3277](https://github.com/react-native-video/react-native-video/pull/3277)
-   iOS: Fix audio session category when not using the audioOutput prop
- iOS: implement onPlaybackStateChanged callback
[#&#8203;3307](https://github.com/react-native-video/react-native-video/pull/3307)
- iOS: remove false calls at onPlaybackRateChange
[#&#8203;3306](https://github.com/react-native-video/react-native-video/pull/3306)
- iOS: audio does not work with headphones
[#&#8203;3284](https://github.com/react-native-video/react-native-video/pull/3284)
- iOS: Resuming video ad after closing the in-app browser on iOS
[#&#8203;3275](https://github.com/react-native-video/react-native-video/pull/3275)
- iOS, Android: expose playback functions to ref
[#&#8203;3245](https://github.com/react-native-video/react-native-video/pull/3245)
- tvOS: fix build:
[#&#8203;3276](https://github.com/react-native-video/react-native-video/pull/3276)
- Windows: fix build error from over-specified SDK version
[#&#8203;3246](https://github.com/react-native-video/react-native-video/pull/3246)
- Windows: fix `onError` not being raised
[#&#8203;3247](https://github.com/react-native-video/react-native-video/pull/3247)

##### Version 6.0.0-alpha.8

- All: Playing audio over earpiece
[#&#8203;2887](https://github.com/react-native-video/react-native-video/issues/2887)
- All: Prepare for fabric
[#&#8203;3175](https://github.com/react-native-video/react-native-video/pull/3175)
[#]()
- iOS: Fix Pip
[#&#8203;3221](https://github.com/react-native-video/react-native-video/pull/3221)
- iOS: Fix regression in presentFullscreenPlayer &
dismissFullscreenPlayer
[#&#8203;3230](https://github.com/react-native-video/react-native-video/pull/3230)
- tvOS: Fix build
[#&#8203;3207](https://github.com/react-native-video/react-native-video/pull/3207)
- tvOS: Add sample
[#&#8203;3208](https://github.com/react-native-video/react-native-video/pull/3208)
- tvOS: Allow chapter customization
[#&#8203;3216](https://github.com/react-native-video/react-native-video/pull/3216)
- doc: Fix internal links
[#&#8203;3229](https://github.com/react-native-video/react-native-video/pull/3229)

##### Version 6.0.0-alpha.7

- All: clean JS warnings
([https://github.com/react-native-video/react-native-video/pull/3183](https://github.com/react-native-video/react-native-video/pull/3183))
- Android: Add shutterView color configurtion
([https://github.com/react-native-video/react-native-video/pull/3179](https://github.com/react-native-video/react-native-video/pull/3179))
- Android: React native 0.73 support
([https://github.com/react-native-video/react-native-video/pull/3163](https://github.com/react-native-video/react-native-video/pull/3163))
- Android: Fix memory leaks from AudioManager
[#&#8203;3123](https://github.com/react-native-video/react-native-video/pull/3123)
- Android: Fixed syntax error
[#&#8203;3182](https://github.com/react-native-video/react-native-video/issues/3182)
- iOS: Fix freeze at playback startup
([https://github.com/react-native-video/react-native-video/pull/3173](https://github.com/react-native-video/react-native-video/pull/3173))
- iOS: Various safety checks
([https://github.com/react-native-video/react-native-video/pull/3168](https://github.com/react-native-video/react-native-video/pull/3168))

##### Version 6.0.0-alpha.6

- Feature: Video range support
[#&#8203;3030](https://github.com/react-native-video/react-native-video/pull/3030)
- iOS: remove undocumented `currentTime` property
[#&#8203;3064](https://github.com/react-native-video/react-native-video/pull/3064)
- iOS: make sure that the audio in ads is muted when the player is
muted.
[#&#8203;3068](https://github.com/react-native-video/react-native-video/pull/3077)
-   iOS: make IMA build optionnal

##### Version 6.0.0-alpha.5

- iOS: ensure controls are not displayed when disabled by user
[#&#8203;3017](https://github.com/react-native-video/react-native-video/pull/3017)
- iOS: app crashes on call to presentFullScreenPlayer
[#&#8203;2808](https://github.com/react-native-video/react-native-video/pull/2971)
- Android: Fix publicated progress handler causing duplicated progress
event
[#&#8203;2972](https://github.com/react-native-video/react-native-video/pull/2972)
- Android: Fix audio/Subtitle tracks selection
[#&#8203;2979](https://github.com/react-native-video/react-native-video/pull/2979)
- Android: add new events on tracks changed to be notified of
audio/text/video Tracks update during playback
[2806](https://github.com/react-native-video/react-native-video/pull/2806)
- Feature: Add VAST support for AVOD
[#&#8203;2923](https://github.com/react-native-video/react-native-video/pull/2923)
- Sample: Upgrade react-native version of basic sample
[#&#8203;2960](https://github.com/react-native-video/react-native-video/pull/2960)

##### Version 6.0.0-alpha.4

- ensure src is always provided to native player even if it is invalid
[#&#8203;2857](https://github.com/react-native-video/react-native-video/pull/2857)
- Sample: Add react-native-video controls support
[#&#8203;2852](https://github.com/react-native-video/react-native-video/pull/2852)
- Android: Switch Google's maven repository to default `google()`
[#&#8203;2860](https://github.com/react-native-video/react-native-video/pull/2860)
- Android: Implement focusable prop so the video view can toggle whether
it is focusable for non-touch devices
[#&#8203;2819](https://github.com/react-native-video/react-native-video/issues/2819)
- Android: fix linter warning
\[[#&#8203;2891](https://github.com/react-native-community/react-native-video/issues/2891)]
([https://github.com/react-native-video/react-native-video/pull/2891](https://github.com/react-native-video/react-native-video/pull/2891))
- Fix iOS RCTSwiftLog naming collision
[#&#8203;2868](https://github.com/react-native-video/react-native-video/issues/2868)
- Added "homepage" to package.json
[#&#8203;2882](https://github.com/react-native-video/react-native-video/pull/2882)
- Fix regression when fullscreen prop is used combined with controls
[#&#8203;2911](https://github.com/react-native-video/react-native-video/pull/2911)
- Fix: memory leak issue on iOS
[#&#8203;2907](https://github.com/react-native-video/react-native-video/pull/2907)
- Fix setting text tracks before player is initialized on iOS
[#&#8203;2935](https://github.com/react-native-video/react-native-video/pull/2935)

##### Version 6.0.0-alpha.3

- Fix ios build
[#&#8203;2854](https://github.com/react-native-video/react-native-video/pull/2854)

##### Version 6.0.0-alpha.2

- Upgrade ExoPlayer to 2.18.1
[#&#8203;2846](https://github.com/react-native-video/react-native-video/pull/2846)
- Feature add new APIs to query supported features of device decoder
(widevine level & codec capabilities) on android
[#&#8203;2740](https://github.com/react-native-video/react-native-video/pull/2740)
- Feature add support of subtitle styling on android
[#&#8203;2759](https://github.com/react-native-video/react-native-video/pull/2759)
- Fix Android
[#&#8203;2690](https://github.com/react-native-community/react-native-video/issues/2690)
ensure onEnd is not sent twice
[#&#8203;2690](https://github.com/react-native-video/react-native-video/issues/2690)
- Fix Exoplayer progress not reported when paused
[#&#8203;2664](https://github.com/react-native-video/react-native-video/pull/2664)
- Call playbackRateChange onPlay and onPause
[#&#8203;1493](https://github.com/react-native-video/react-native-video/pull/1493)
- Fix being unable to disable sideloaded texttracks in the AVPlayer
[#&#8203;2679](https://github.com/react-native-video/react-native-video/pull/2679)
- Fixed crash when iOS seek method called reject on the promise
[#&#8203;2743](https://github.com/react-native-video/react-native-video/pull/2743)
- Fix maxBitRate property being ignored on Android
[#&#8203;2670](https://github.com/react-native-video/react-native-video/pull/2670)
- Fix crash when the source is a cameraroll
\[[#&#8203;2639](https://github.com/react-native-community/react-native-video/issues/2639)]
([https://github.com/react-native-video/react-native-video/pull/2639](https://github.com/react-native-video/react-native-video/pull/2639))
- Fix IOS UI frame drop on loading video
\[[#&#8203;2848](https://github.com/react-native-community/react-native-video/issues/2848)]
([https://github.com/react-native-video/react-native-video/pull/2848](https://github.com/react-native-video/react-native-video/pull/2848))

##### Version 6.0.0-alpha.1

- Remove Android MediaPlayer support
[#&#8203;2724](https://github.com/react-native-video/react-native-video/pull/2724)
**WARNING**: when switching from older version to V6, you need to remove
all refrerences of android-exoplayer. This android-exoplayer folder has
been renamed to android. Exoplayer is now the only player implementation
supported.

- Replace Image.propTypes with ImagePropTypes.
[#&#8203;2718](https://github.com/react-native-video/react-native-video/pull/2718)

- Fix iOS build caused by type mismatch
[#&#8203;2720](https://github.com/react-native-video/react-native-video/pull/2720)

- ERROR TypeError: undefined is not an object (evaluating
'\_reactNative.Image.propTypes.resizeMode')
[#&#8203;2714](https://github.com/react-native-video/react-native-video/pull/2714)

- Fix video endless loop when repeat set to false or not specified.
[#&#8203;2329](https://github.com/react-native-video/react-native-video/pull/2329)

##### Version 6.0.0-alpha.0

- Support disabling buffering
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Fix AudioFocus bug that could cause the player to stop responding to
play/pause in some instances.
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Fix player crashing when it is being cleared.
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Add support for customising back buffer duration and handle network
errors gracefully to prevent releasing the player when network is lost.
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Allow player to be init before source is provided, and later update
once a source is provided.
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Adds handling for providing a empty source in order to stop playback
and clear out any existing content
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Add support for detecting if format is supported and exclude
unsupported resolutions from auto quality selection and video track info
in RN.
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Improve error handling
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Add support for L1 to L3 Widevine fallback if playback fails
initially.
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Reduce buffer size based on available heap
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Force garbage collection when there is no available memory
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Improve memory usage
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Support disabling screen recording
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Improved error capturing
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Fix DRM init crashes
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Improve progress reporting
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Fix progress loss when network connection is regained
[#&#8203;2689](https://github.com/react-native-video/react-native-video/pull/2689)
- Add Google's maven repository to avoid build error
[#&#8203;2552](https://github.com/react-native-video/react-native-video/pull/2552)
- Fix iOS 15.4 HLS playback race condition
[#&#8203;2633](https://github.com/react-native-video/react-native-video/pull/2633)
- Fix app crash from NPE in Exoplayer error handler
[#&#8203;2575](https://github.com/react-native-video/react-native-video/pull/2575)
- Fix default closed captioning behavior for Android ExoPlayer
[#&#8203;2181](https://github.com/react-native-video/react-native-video/pull/2181)
- Disable pipController init if pictureInPicture is false
[#&#8203;2645](https://github.com/react-native-video/react-native-video/pull/2645)
- Make sure modifiers are applied before playing
[#&#8203;2395](https://github.com/react-native-video/react-native-video/pull/2395)
- Better support newer versions of RNW (64 and newer)
[#&#8203;2535](https://github.com/react-native-video/react-native-video/pull/2535)
- Fix nil string uri parameter error
[#&#8203;695](https://github.com/react-native-video/react-native-video/pull/695)
- (Breaking) Bump shaka-player to 3.3.2
[#&#8203;2587](https://github.com/react-native-video/react-native-video/pull/2587)
- Improve basic player example on android
[#&#8203;2662](https://github.com/react-native-video/react-native-video/pull/2662)
- Ensure we always use `hideShutterView` before showing the
`shutterView` on Android
[#&#8203;2609](https://github.com/react-native-video/react-native-video/pull/2609)
- Convert iOS implementation to Swift
[#&#8203;2527](https://github.com/react-native-video/react-native-video/pull/2527)
- Add iOS support for decoding offline sources
[#&#8203;2527](https://github.com/react-native-video/react-native-video/pull/2527)
- Update basic example applications (React Native 0.63.4)
[#&#8203;2527](https://github.com/react-native-video/react-native-video/pull/2527)
- Upgrade ExoPlayer to 2.17.1
[#&#8203;2498](https://github.com/react-native-video/react-native-video/pull/2498)
- Fix volume reset issue in exoPlayer
[#&#8203;2371](https://github.com/react-native-video/react-native-video/pull/2371)
- Change WindowsTargetPlatformVersion to 10.0
[#&#8203;2706](https://github.com/react-native-video/react-native-video/pull/2706)
- Fixed Android seeking bug
[#&#8203;2712](https://github.com/react-native-video/react-native-video/pull/2712)
- Fixed `onReadyForDisplay` not being called
[#&#8203;2721](https://github.com/react-native-video/react-native-video/pull/2721)
- Fix type of `_eventDispatcher` on iOS target to match
`bridge.eventDispatcher()`
[#&#8203;2720](https://github.com/react-native-video/react-native-video/pull/2720)

##### Version 5.2.0

-   Fix for tvOS native audio menu language selector
- Update ExoPlayer to allow pre-init and content clear
\[[#&#8203;2412](https://github.com/react-native-community/react-native-video/issues/2412)]
([https://github.com/react-native-video/react-native-video/pull/2412](https://github.com/react-native-video/react-native-video/pull/2412))
- iOS rate is reset to 1.0 after play/pause
\[[#&#8203;2167](https://github.com/react-native-community/react-native-video/issues/2167)]
([https://github.com/react-native-video/react-native-video/pull/2167](https://github.com/react-native-video/react-native-video/pull/2167))
- Upgrade ExoPlayer to 2.13.2
\[[#&#8203;2317](https://github.com/react-native-community/react-native-video/issues/2317)]
([https://github.com/react-native-video/react-native-video/pull/2317](https://github.com/react-native-video/react-native-video/pull/2317))
- Fix AudioFocus pausing video when attempting to play
\[[#&#8203;2311](https://github.com/react-native-community/react-native-video/issues/2311)]
([https://github.com/react-native-video/react-native-video/pull/2311](https://github.com/react-native-video/react-native-video/pull/2311))

##### Version 5.1.0-alpha9

- Add ARM64 support for windows
[#&#8203;2137](https://github.com/react-native-community/react-native-video/pull/2137)
- Fix deprecated API bug for windows
[#&#8203;2119](https://github.com/react-native-video/react-native-video/pull/2119)
- Added `rate` property and autolinking support for windows
[#&#8203;2206](https://github.com/react-native-video/react-native-video/pull/2206)

##### Version 5.1.0-alpha8

- Fixing ID3 Frame Error When Receiving EventMessage in TimedMetadata
[#&#8203;2116](https://github.com/react-native-community/react-native-video/pull/2116)

##### Version 5.1.0-alpha7

- Basic support for DRM on iOS and Android
[#&#8203;1445](https://github.com/react-native-community/react-native-video/pull/1445)

##### Version 5.1.0-alpha6

- Fix iOS bug which would break size of views when video is displayed
with controls on a non full-screen React view.
[#&#8203;1931](https://github.com/react-native-community/react-native-video/pull/1931)
- Fix video dimensions being undefined when playing HLS in ios.
[#&#8203;1992](https://github.com/react-native-community/react-native-video/pull/1992)
- Add support for audio mix with other apps for iOS.
[#&#8203;1978](https://github.com/react-native-community/react-native-video/pull/1978)
- Properly implement pending seek for iOS.
[#&#8203;1994](https://github.com/react-native-community/react-native-video/pull/1994)
- Added `preferredForwardBufferDuration` (iOS) - the duration the player
should buffer media from the network ahead of the playhead to guard
against playback disruption.
([#&#8203;1944](https://github.com/react-native-community/react-native-video/issues/1944))
- Added `currentPlaybackTime` (Android ExoPlayer, iOS) - when playing an
HLS live stream with a `EXT-X-PROGRAM-DATE-TIME` tag configured, then
this property will contain the epoch value in msec.
([#&#8203;1944](https://github.com/react-native-community/react-native-video/issues/1944))
- Added `trackId` (Android ExoPlayer) - Configure an identifier for the
video stream to link the playback context to the events emitted.
([#&#8203;1944](https://github.com/react-native-community/react-native-video/issues/1944))
- Added preventsDisplaySleepDuringVideoPlayback
([#&#8203;2019](https://github.com/react-native-community/react-native-video/issues/2019))
- Reverted the JS fullscreening for Android.
[#&#8203;2013](https://github.com/react-native-community/react-native-video/pull/2013)
- Set iOS request headers without needing to edit RCTVideo.m.
[#&#8203;2014](https://github.com/react-native-community/react-native-video/pull/2014)
- Fix exoplayer aspect ratio update on source changes
[#&#8203;2053](https://github.com/react-native-community/react-native-video/pull/2053)

##### Version 5.1.0-alpha5

- Add support for react-native Windows
Cpp/WinRT(https://github.com/react-native-community/react-native-video/pull/1893)-video/pull/1893\))

##### Version 5.1.0-alpha4

- Fix android play/pause bug related to full-screen mode
[#&#8203;1916](https://github.com/react-native-community/react-native-video/pull/1916)

##### Version 5.1.0-alpha3

- Improve Android Audio Focus
[#&#8203;1897](https://github.com/react-native-community/react-native-video/pull/1897)

##### Version 5.1.0-alpha2

- Added support for full-screen functionality in Android Exoplayer
[#&#8203;1730](https://github.com/react-native-community/react-native-video/pull/1730)

##### Version 5.1.0-alpha1

- Fixed Exoplayer doesn't work with mute=true (Android).
[#&#8203;1696](https://github.com/react-native-community/react-native-video/pull/1696)
- Added support for automaticallyWaitsToMinimizeStalling property (iOS)
[#&#8203;1723](https://github.com/react-native-community/react-native-video/pull/1723)
- Bump Exoplayer to 2.10.4, remove deprecated usages of Exoplayer
methods (Android).
[#&#8203;1753](https://github.com/react-native-community/react-native-video/pull/1753)
- Preserve Exoplayer BandwidthMeter instance across video plays, this
should noticeably improve streaming bandwidth detection (Android).

##### Version 5.0.2

- Fix crash when RCTVideo's superclass doesn't observe the keyPath
'frame' (iOS)
[#&#8203;1720](https://github.com/react-native-community/react-native-video/pull/1720)

##### Version 5.0.1

-   Fix AndroidX Support bad merge

##### Version 5.0.0 \[Deprecated]

-   AndroidX Support

##### Version 4.4.4

-   Handle racing conditions when props are settled on Exoplayer

##### Version 4.4.3

- Fix mute/unmute when controls are present (iOS)
[#&#8203;1654](https://github.com/react-native-community/react-native-video/pull/1654)
- Fix Android videos being able to play with background music/audio from
other apps.
- Fixed memory leak on iOS when using `controls`
[#&#8203;1647](https://github.com/react-native-community/react-native-video/pull/1647)
- (Android) Update gradle and target SDK
[#&#8203;1629](https://github.com/react-native-community/react-native-video/pull/1629)
- Fix iOS stressed mount/unmount crash
[#&#8203;1646](https://github.com/react-native-community/react-native-video/pull/1646)

##### Version 4.4.2

- Change compileOnly to implementation on gradle (for newer gradle
versions and react-native 0.59 support)
[#&#8203;1592](https://github.com/react-native-community/react-native-video/pull/1592)
- Replaced RCTBubblingEventBlock events by RCTDirectEventBlock to avoid
event name collisions
[#&#8203;1625](https://github.com/react-native-community/react-native-video/pull/1625)
- Added `onPlaybackRateChange` to README
[#&#8203;1578](https://github.com/react-native-community/react-native-video/pull/1578)
- Added `onReadyForDisplay` to README
[#&#8203;1627](https://github.com/react-native-community/react-native-video/pull/1627)
- Improved handling of poster image. Fixes bug with displaying video and
poster simultaneously.
[#&#8203;1627](https://github.com/react-native-community/react-native-video/pull/1627)
- Fix background audio stopping on iOS when using `controls`
[#&#8203;1614](https://github.com/react-native-community/react-native-video/pull/1614)

##### Version 4.4.1

- Fix tvOS picture-in-picture compilation regression
[#&#8203;1518](https://github.com/react-native-community/react-native-video/pull/1518)
- fullscreen rotation issues with iOS built-in controls
[#&#8203;1441](https://github.com/react-native-community/react-native-video/pull/1441)
- Fix player freeze when playing audio files on ExoPlayer
[#&#8203;1529](https://github.com/react-native-community/react-native-video/pull/1529)

##### Version 4.4.0

- Fix runtime warning by replacing `UIManager.RCTVideo` with
`UIManager.getViewManagerConfig('RCTVideo')` (and ensuring backwards
compat)
[#&#8203;1487](https://github.com/react-native-community/react-native-video/pull/1487)
- Fix loading package resolved videos when using video-caching
[#&#8203;1438](https://github.com/react-native-community/react-native-video/pull/1438)
- Fix "message sent to deallocated instance" crash on ios
[#&#8203;1482](https://github.com/react-native-community/react-native-video/pull/1482)
- Display a warning when source is empty
[#&#8203;1478](https://github.com/react-native-community/react-native-video/pull/1478)
- Don't crash on iOS for an empty source
[#&#8203;1246](https://github.com/react-native-community/react-native-video/pull/1246)
- Recover from from transient internet failures when loading on
ExoPlayer
[#&#8203;1448](https://github.com/react-native-community/react-native-video/pull/1448)
- Add controls support for ExoPlayer
[#&#8203;1414](https://github.com/react-native-community/react-native-video/pull/1414)
- Fix check for text tracks when iOS caching enabled
[#&#8203;1387](https://github.com/react-native-community/react-native-video/pull/1387)
- Add support for Picture in Picture on iOS
[#&#8203;1325](https://github.com/react-native-community/react-native-video/pull/1325)
- Fix UIManager undefined variable
[#&#8203;1488](https://github.com/react-native-community/react-native-video/pull/1488)

##### Version 4.3.0

- Fix iOS video not displaying after switching source
[#&#8203;1395](https://github.com/react-native-community/react-native-video/pull/1395)
- Add the filterEnabled flag, fixes iOS video start time regression
[#&#8203;1384](https://github.com/react-native-community/react-native-video/pull/1384)
- Fix text not appearing in release builds of Android apps
[#&#8203;1373](https://github.com/react-native-community/react-native-video/pull/1373)
- Update to ExoPlayer 2.9.3
[#&#8203;1406](https://github.com/react-native-community/react-native-video/pull/1406)
- Add video track selection & onBandwidthUpdate
[#&#8203;1199](https://github.com/react-native-community/react-native-video/pull/1199)
- Recovery from transient internet failures and props to configure the
custom retry count
[#&#8203;1448](https://github.com/react-native-community/react-native-video/pull/1448)

##### Version 4.2.0

- Don't initialize filters on iOS unless a filter is set. This was
causing a startup performance regression
[#&#8203;1360](https://github.com/react-native-community/react-native-video/pull/1360)
- Support setting the maxBitRate
[#&#8203;1310](https://github.com/react-native-community/react-native-video/pull/1310)
- Fix useTextureView not defaulting to true
[#&#8203;1383](https://github.com/react-native-community/react-native-video/pull/1383)
- Fix crash on MediaPlayer w/ Android 4.4 & avoid memory leak
[#&#8203;1328](https://github.com/react-native-community/react-native-video/pull/1328)

##### Version 4.1.0

- Generate onSeek on Android ExoPlayer & MediaPlayer after seek
completes
[#&#8203;1351](https://github.com/react-native-community/react-native-video/pull/1351)
- Remove unneeded onVideoSaved event
[#&#8203;1350](https://github.com/react-native-community/react-native-video/pull/1350)
- Disable AirPlay if sidecar text tracks are enabled
[#&#8203;1304](https://github.com/react-native-community/react-native-video/pull/1304)
- Add possibility to remove black screen while video is loading in
Exoplayer
[#&#8203;1355](https://github.com/react-native-community/react-native-video/pull/1355)

##### Version 4.0.1

- Add missing files to package.json
[#&#8203;1342](https://github.com/react-native-community/react-native-video/pull/1342)

##### Version 4.0.0

- Partial support for timed metadata on Android MediaPlayer
[#&#8203;707](https://github.com/react-native-community/react-native-video/pull/707)
- Support video caching for iOS
[#&#8203;955](https://github.com/react-native-community/react-native-video/pull/955)
- Video caching cleanups
[#&#8203;1172](https://github.com/react-native-community/react-native-video/pull/1172)
- Add ipod-library support
[#&#8203;926](https://github.com/react-native-community/react-native-video/pull/926/files)
- Fix crash on ExoPlayer when there are no audio tracks
[#&#8203;1233](https://github.com/react-native-community/react-native-video/pull/1233)
- Reduce package size
[#&#8203;1231](https://github.com/react-native-community/react-native-video/pull/1231)
- Remove unnecessary import in TextTrackType
[#&#8203;1229](https://github.com/react-native-community/react-native-video/pull/1229)
- Prevent flash between poster and video
[#&#8203;1167](https://github.com/react-native-community/react-native-video/pull/1167)
- Support react-native-dom
[#&#8203;1253](https://github.com/react-native-community/react-native-video/pull/1253)
- Update to ExoPlayer 2.8.2. Android SDK 26 now required
[#&#8203;1170](https://github.com/react-native-community/react-native-video/pull/1170)
- Update to ExoPlayer 2.8.4
[#&#8203;1266](https://github.com/react-native-community/react-native-video/pull/1266)
- Add fullscreenOrientation option for iOS
[#&#8203;1215](https://github.com/react-native-community/react-native-video/pull/1215)
- Update to ExoPlayer 2.9.0
[#&#8203;1285](https://github.com/react-native-community/react-native-video/pull/1285)
- Switch useTextureView to default to `true`
[#&#8203;1286](https://github.com/react-native-community/react-native-video/pull/1286)
- Re-add fullscreenAutorotate prop
[#&#8203;1303](https://github.com/react-native-community/react-native-video/pull/1303)
- Make seek throw a useful error for NaN values
[#&#8203;1283](https://github.com/react-native-community/react-native-video/pull/1283)
- Video Filters and Save Video
[#&#8203;1306](https://github.com/react-native-community/react-native-video/pull/1306)
- Fix: volume should not change on onAudioFocusChange event
[#&#8203;1327](https://github.com/react-native-community/react-native-video/pull/1327)
- Update ExoPlayer to 2.9.1 and OkHTTP to 3.12.0
[#&#8203;1338](https://github.com/react-native-community/react-native-video/pull/1338)

##### Version 3.2.0

- Basic fullscreen support for Android MediaPlayer
[#&#8203;1138](https://github.com/react-native-community/react-native-video/pull/1138)
- Simplify default Android SDK code
[#&#8203;1145](https://github.com/react-native-community/react-native-video/pull/1145)
[#&#8203;1146](https://github.com/react-native-community/react-native-video/pull/1146)
- Various iOS sideloaded text track fixes
[#&#8203;1157](https://github.com/react-native-community/react-native-video/pull/1157)
- Fix
[#&#8203;1150](https://github.com/react-native-community/react-native-video/issues/1150)
where assets with bundled assets don't work on iOS in release mode
[#&#8203;1162](https://github.com/react-native-community/react-native-video/pull/1162)
- Support configuring the buffer on Android ExoPlayer
[#&#8203;1160](https://github.com/react-native-community/react-native-video/pull/1160)
- Prevent sleep from sleeping while videos are playing on Android
MediaPlayer
[#&#8203;1117](https://github.com/react-native-community/react-native-video/pull/1117)
- Update NewtonSoft JSON to match react-native-windows version
[#&#8203;1169](https://github.com/react-native-community/react-native-video/pull/1169)

##### Version 3.1.0

- Support sidecar text tracks on iOS
[#&#8203;1109](https://github.com/react-native-community/react-native-video/pull/1109)
- Support onAudioBecomingNoisy on iOS
[#&#8203;1131](https://github.com/react-native-community/react-native-video/pull/1131)

##### Version 3.0

- Inherit Android buildtools and SDK version from the root project
[#&#8203;1081](https://github.com/react-native-community/react-native-video/pull/1081)
- Automatically play on ExoPlayer when the paused prop is not set
[#&#8203;1083](https://github.com/react-native-community/react-native-video/pull/1083)
- Preserve Android MediaPlayer paused prop when backgrounding
[#&#8203;1082](https://github.com/react-native-community/react-native-video/pull/1082)
- Support specifying headers on ExoPlayer as part of the source
[#&#8203;805](https://github.com/react-native-community/react-native-video/pull/805)
- Prevent iOS onLoad event during seeking
[#&#8203;1088](https://github.com/react-native-community/react-native-video/pull/1088)
- ExoPlayer playableDuration incorrect
[#&#8203;1089](https://github.com/react-native-community/react-native-video/pull/1089)

##### Version 2.3.1

- Revert PR to inherit Android SDK versions from root project. Re-add in
3.0
[#&#8203;1080](https://github.com/react-native-community/react-native-video/pull/1080)

##### Version 2.3.0

- Support allowsExternalPlayback on iOS
[#&#8203;1057](https://github.com/react-native-community/react-native-video/pull/1057)
- Inherit Android buildtools and SDK version from the root project
[#&#8203;999](https://github.com/react-native-community/react-native-video/pull/999)
- Fix bug that caused ExoPlayer to start paused if playInBackground was
set
[#&#8203;833](https://github.com/react-native-community/react-native-video/pull/833)
- Fix crash if clearing an observer on iOS that was already cleared
[#&#8203;1075](https://github.com/react-native-community/react-native-video/pull/1075)
- Add audioOnly prop for music files
[#&#8203;1039](https://github.com/react-native-community/react-native-video/pull/1039)
- Support seeking with more exact tolerance on iOS
[#&#8203;1076](https://github.com/react-native-community/react-native-video/pull/1076)

##### Version 2.2.0

- Text track selection support for iOS & ExoPlayer
[#&#8203;1049](https://github.com/react-native-community/react-native-video/pull/1049)
- Support outputting to a TextureView on Android ExoPlayer
[#&#8203;1058](https://github.com/react-native-community/react-native-video/pull/1058)
- Support changing the left/right balance on Android MediaPlayer
[#&#8203;1051](https://github.com/react-native-community/react-native-video/pull/1051)
- Prevent multiple onEnd notifications on iOS
[#&#8203;832](https://github.com/react-native-community/react-native-video/pull/832)
- Fix doing a partial swipe on iOS causing a black screen
[#&#8203;1048](https://github.com/react-native-community/react-native-video/pull/1048)
- Fix crash when switching to a new source on iOS
[#&#8203;974](https://github.com/react-native-community/react-native-video/pull/974)
- Add cookie support for ExoPlayer
[#&#8203;922](https://github.com/react-native-community/react-native-video/pull/922)
- Remove ExoPlayer onMetadata that wasn't being used
[#&#8203;1040](https://github.com/react-native-community/react-native-video/pull/1040)
- Fix bug where setting the progress interval on iOS didn't work
[#&#8203;800](https://github.com/react-native-community/react-native-video/pull/800)
- Support setting the poster resize mode
[#&#8203;595](https://github.com/react-native-community/react-native-video/pull/595)

###
[`v6.0.0-alpha.9`](https://github.com/react-native-community/react-native-video/blob/HEAD/CHANGELOG.md#Version-600-alpha9)

[Compare
Source](https://github.com/react-native-community/react-native-video/compare/v6.0.0-alpha.8...v6.0.0-alpha.9)

- All: add built-in typescript support
[#&#8203;3266](https://github.com/react-native-video/react-native-video/pull/3266)
- All: update documentation generation
[#&#8203;3296](https://github.com/react-native-video/react-native-video/pull/3296)
- **BREAKING CHANGE**❗️Android: update isCodecSupported to return enum
[#&#8203;3254](https://github.com/react-native-video/react-native-video/pull/3254)
- Android: use explicit not-exported flag for AudioBecomingNoisyReceiver
[#&#8203;3327](https://github.com/react-native-video/react-native-video/pull/3327)
- Android: remove kotlin-android-extensions
[#&#8203;3299](https://github.com/react-native-video/react-native-video/pull/3299)
- Android: ensure audio volume is changed in UI thread
[3292](https://github.com/react-native-video/react-native-video/pull/3292)
-   Android: multiple internal refactor and switch to kotlin
- Android: refactor log management and add an option to increase log
verbosity
[#&#8203;3277](https://github.com/react-native-video/react-native-video/pull/3277)
-   iOS: Fix audio session category when not using the audioOutput prop
- iOS: implement onPlaybackStateChanged callback
[#&#8203;3307](https://github.com/react-native-video/react-native-video/pull/3307)
- iOS: remove false calls at onPlaybackRateChange
[#&#8203;3306](https://github.com/react-native-video/react-native-video/pull/3306)
- iOS: audio does not work with headphones
[#&#8203;3284](https://github.com/react-native-video/react-native-video/pull/3284)
- iOS: Resuming video ad after closing the in-app browser on iOS
[#&#8203;3275](https://github.com/react-native-video/react-native-video/pull/3275)
- iOS, Android: expose playback functions to ref
[#&#8203;3245](https://github.com/react-native-video/react-native-video/pull/3245)
- tvOS: fix build:
[#&#8203;3276](https://github.com/react-native-video/react-native-video/pull/3276)
- Windows: fix build error from over-specified SDK version
[#&#8203;3246](https://github.com/react-native-video/react-native-video/pull/3246)
- Windows: fix `onError` not being raised
[#&#8203;3247](https://github.com/react-native-video/react-native-video/pull/3247)

###
[`v6.0.0-alpha.8`](https://github.com/react-native-community/react-native-video/blob/HEAD/CHANGELOG.md#Version-600-alpha8)

[Compare
Source](https://github.com/react-native-community/react-native-video/compare/v6.0.0-alpha.7...v6.0.0-alpha.8)

- All: Playing audio over earpiece
[#&#8203;2887](https://github.com/react-native-video/react-native-video/issues/2887)
- All: Prepare for fabric
[#&#8203;3175](https://github.com/react-native-video/react-native-video/pull/3175)
[#]()
- iOS: Fix Pip
[#&#8203;3221](https://github.com/react-native-video/react-native-video/pull/3221)
- iOS: Fix regression in presentFullscreenPlayer &
dismissFullscreenPlayer
[#&#8203;3230](https://github.com/react-native-video/react-native-video/pull/3230)
- tvOS: Fix build
[#&#8203;3207](https://github.com/react-native-video/react-native-video/pull/3207)
- tvOS: Add sample
[#&#8203;3208](https://github.com/react-native-video/react-native-video/pull/3208)
- tvOS: Allow chapter customization
[#&#8203;3216](https://github.com/react-native-video/react-native-video/pull/3216)
- doc: Fix internal links
[#&#8203;3229](https://github.com/react-native-video/react-native-video/pull/3229)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 5pm,every weekend" in timezone
America/Los_Angeles, Automerge - "after 5pm,every weekend" in timezone
America/Los_Angeles.

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/valora-inc/wallet).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Satish Ravi <satish.ravi@valoraapp.com>
Co-authored-by: valora-bot <valorabot@valoraapp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support camera roll and local assets on iOS
5 participants