-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
feat: add isSeeking
to onPlaybackStateChanged
#3899
feat: add isSeeking
to onPlaybackStateChanged
#3899
Conversation
android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java
Outdated
Show resolved
Hide resolved
isSeeking
to onPlaybackStateChanged
`isSeeking
to onPlaybackStateChanged
Personally, I'd like to be able to track the state of the player rather than individual variables. |
android/src/main/java/com/brentvatne/common/react/VideoEventEmitter.java
Outdated
Show resolved
Hide resolved
|
||
eventEmitter.playbackStateChanged(isPlaying, isSeeking); | ||
|
||
if (isPlaying) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this test should be before eventEmitter.playbackStateChanged ?
becuase you are changing isSeeking, but not sending it to app ?! 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes that's correct the flow is:
- when seek "is detected"
onPositionDiscontinuity
is called and in it we are settingisSeeking
to true - after seeking is done (and we want to triger
onSeek
on JS side) two thing can happen:
A) If player was not paused when user seek ->onIsPlayingChanged
will be called
B) If player was paused when user seek -> we will catch that loading is finished inonBuffering
We are sending event with isSeeking=true
bcs we want to inform that onPlaybackStateChanged
was called bcs of seeking, and then we will set in back to false
This is needed to check if we should show spiner when user is seeking (custom controls) - otherwise we don't know if onPlaybackStateChanged
was called bcs of "pause/resume" or "seeking"
So I believe this is correct
@YangJonghun Good idea! But let's merge this one - then I will do it in next PR (as PR with this change will deprecate current API (isPlaying, isSeeking) |
@KrzysztofMoch this one conflict |
f4e4863
to
a2e56e6
Compare
e7ae643
to
6ea4d7b
Compare
@freeboub Done! |
* feat: add `isSeeking` to `onPlaybackStateChanged`` * refactor `onSeek` event emit logic * fix rebase
* feat: add `isSeeking` to `onPlaybackStateChanged`` * refactor `onSeek` event emit logic * fix rebase
@KrzysztofMoch I agree with @YangJonghun there, having the state would be better. I'd like to use Currently video buffer or seeking triggers this event. Seeking can be ignored reading the |
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [react-native-video](https://thewidlarzgroup.github.io/react-native-video/) ([source](https://redirect.github.com/TheWidlarzGroup/react-native-video)) | [`^6.1.2` -> `^6.5.0`](https://renovatebot.com/diffs/npm/react-native-video/6.1.2/6.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-native-video/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-native-video/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-native-video/6.1.2/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-native-video/6.1.2/6.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>TheWidlarzGroup/react-native-video (react-native-video)</summary> ### [`v6.5.0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/blob/HEAD/CHANGELOG.md#650-2024-09-04) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.5...v6.5.0) ##### Bug Fixes - **android:** show the status bar and navigation bar after exiting full-screen mode ([#​4112](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4112)) ([8b8ebe9](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/8b8ebe9410e95085e5602393c2ce3de814df4a96)) - **android:** add subtitleStyle.subtitlesFollowVideo prop to control subtitles positionning ([#​4133](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4133)) ([2fa6c43](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/2fa6c43615c1bc0a3bbcb5f472ffaeb8ae16a1af)) - **android:** hide surfaceView for loading time when shutter is hidden ([#​4060](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4060)) ([65faba3](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/65faba312d23de981972d2b6ffecefbc87ecac61)) - **expo-plugin:** adding bg mode if none exist yet ([#​4126](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4126)) ([451806c](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/451806c547591fbe5714b133e704ffac9efb05d8)) - **ios:** Add handler for Earpods play/pause command ([#​4116](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4116)) ([9c38d9f](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/9c38d9f4ef42c3e275ee39a08aa227e6b976fdb2)) - **ios:** build fail due to an unwrapped value ([#​4101](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4101)) ([0a1085c](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/0a1085ce03152d58d98da408dbe79e76fa5ebc1a)) - **ios:** ensure behavior is correct with empty text track list ([#​4123](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4123)) ([3a32d67](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3a32d67087c39bcf7904043d15a2fdba65307f4e)) - **ios:** ensure we don't disable tracks when not necessary (causes black screen) ([#​4130](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4130)) ([89df9d6](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/89df9d69ff96f7d6ff3d493bf1a3eb9c3da51c3c)) - **ios:** fix onBandwidth update event (old ios api is deprecated and doens't work) ([#​4140](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4140)) ([d6bae3c](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/d6bae3cd076018f07556ab27af2779479bc7ff7d)) - **sample:** update dependencies to fix local asset playback ([#​4121](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4121)) ([7a2b401](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7a2b4014f40758a025fcd6b388448d3559ec6a4a)) - set does not have `find` method ([#​4110](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4110)) ([7db7024](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7db7024cb36ea34289fddf5c7f66e7b4d7827146)) - **tvos:** fix build (and update sample) ([#​4134](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4134)) ([688d98d](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/688d98d68f888a59bde1ee33aa844ac63c9026a5)) - **VisionOS:** do not access to isExternalPlaybackActive on VisionOS ([#​4109](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4109)) ([0576eac](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/0576eacfddb32c4dcc072b6fd3cbf74cf25946a4)) ##### Features - add ads localize ([#​4113](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4113)) ([703ed43](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/703ed4399667e0142704d19686563dd62fb4883d)) - **android:** Support Common Media Client Data (CMCD) ([#​4034](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4034)) ([ca795f2](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ca795f298a99a183b81561ef7e09d8d1e8addaf5)) - **android:** support hiding Exoplayer video duration on android ([#​4090](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4090)) ([41e2bed](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/41e2bed6b36f74a28d7dd640414c6d5ccbec0399)) - Correct isBehindLiveWindow Error Handling ([#​4143](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4143)) ([22c21ad](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/22c21ad249879fe4ff8fb119384ebc82766106c3)) #### [6.4.5](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.4...v6.4.5) (2024-08-17) ##### Bug Fixes - **android:** resolve a release issue with DefaultDashChunkSource ([#​4097](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4097)) ([7e222e8](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7e222e8fc4f3c47a1c9cd2fbf5ff012bcbe98a7f)) - refactor(android): migrate DefaultDashChunkSource to Kotlin ([#​4078](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4078)) ([`b7d1cab`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/b7d1cabf)) - fix(ios): remove resume logic in notification seek closure ([#​4068](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4068)) ([`c6ae17e`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c6ae17e4)) - chore(doc): update document (props & method) ([#​4072](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4072)) ([`cd41a1b`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/cd41a1b2)) - fix(android): build warnings ([#​4058](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4058)) ([`899bb82`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/899bb822)) - infra: update feature request form ([#​4065](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4065)) ([`6c03d0a`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/6c03d0a7)) - fix(ios): override source metadata with custom metadata ([#​4050](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4050)) ([`38aa2b0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/38aa2b05)) - fix(android): return the value as a float for the getCurrentPosition function ([#​4054](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4054)) ([`af0302b`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/af0302b1)) - refactor(android): migrate ReactExoplayerViewManager to Kotlin ([#​4011](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4011)) ([`74c6dd6`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/74c6dd62)) - fix(android): viewType is ignored when its value is ViewType.TEXTURE ([#​4031](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4031)) ([`22cfd6c`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/22cfd6ce)) - fix(ios): metadata update race ([#​4033](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4033)) ([`08a57a3`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/08a57a3b)) - fix(ios): updated getLicense call to work with new syntax, and fixed spelling error ([#​4014](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4014)) ([#​4042](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4042)) ([`2348c5e`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/2348c5e4)) #### [6.4.3](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.2...v6.4.3) (2024-07-24) ##### Bug Fixes - **android:** app crash at boot with old arch ([#​4022](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4022)) ([1ee5811](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/1ee5811c8e0ecfc2486f5120b575b57c6396e0f8)), closes [#​3875](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3875) - **android:** fix backward compatibility ([#​4020](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4020)) ([ab7e02e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ab7e02e4538c97340f13fb052b1cad94408b48fa)) - **android:** resize mode cover calculation ([#​4010](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4010)) ([9f38216](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/9f382163d83c3331518e2784b335da28179ac91d)) - index of the selected track ([#​4012](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4012)) ([fb1d6bd](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/fb1d6bdef7210d43f9e34f673691a9a17b95424e)) - **sample:** boot failure on emulator ([#​4016](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4016)) ([ffbc977](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ffbc977ff90248aeb270626620f5c3553f955617)) ##### Features - add ability to define `poster` props as Image type and render poster as custom component ([#​3972](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3972)) ([adbd06e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/adbd06e2df557b22b8a3a19073a2de1cbb964833)) - **android:** add error handling for Kotlin version ([#​4018](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4018)) ([6189080](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/6189080c9aac89aa3d2a4e60049999d8880bc971)) - **android:** set originalFitsSystemWindows on fullscreen open ([#​4013](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4013)) ([2f70c02](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/2f70c02cdcf6488338df197feb61eeb10ed3281f)) #### [6.4.2](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.1...v6.4.2) (2024-07-15) ##### Bug Fixes - **android:** exit fullscreen mode after finishing video playback ([#​3978](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3978)) ([4b8d09e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/4b8d09e61f79a319ba5816dd342b5c0fd02d6e07)) - **android:** fix android notification controller order ([#​4002](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4002)) ([05623c9](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/05623c9f5447f67acb535487de8918210b5ffec7)) - **android:** fix onVideoLoad event field key ([#​4001](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4001)) ([f82268b](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/f82268be1bc33e5c61dbb031d7937197da0b67e5)) - **android:** handle aspect ratio for rotated videos ([#​4000](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4000)) ([0a55ace](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/0a55ace0ca92f56394235f7c651d3a160e6a3c90)) - **android:** resolve compatibility issue ([5cd5e5e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/5cd5e5efe70b49d76fb27e3220a1df12b32901a6)) - **example/basic:** select resizeMode ([#​3989](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3989)) ([39cf477](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/39cf477ceb37c6ecc38cbdd9077a556c81fd9c3d)) - **ts:** make multiDrm prop optional type ([#​3999](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3999)) ([79c3076](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/79c30767fcf67e75e70ceb64a17736b5e3de63c6)) #### [6.4.1](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.0...v6.4.1) (2024-07-12) ##### Bug Fixes - expo plugin export ([#​3992](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3992)) ([de8ade0](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/de8ade06202cfdb3dd7fec635b6e8c6cdfd04e47)) - fix(ios): remove pip check for other platforms ([#​3991](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3991)) ([`40a7282`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/40a72825)) - feat: add `isSeeking` to `onPlaybackStateChanged` ([#​3899](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3899)) ([`111a5d2`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/111a5d21)) - chore(android): migrate DataSourceUtil to Kotlin ([#​3984](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3984)) ([`b25e43e`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/b25e43ee)) - chore(android): migrate AspectRatioFrameLayout to Kotlin ([#​3985](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3985)) ([`452e42f`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/452e42f1)) - refactor: move view type and drm in source ([#​3867](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3867)) ([`66dcf32`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/66dcf32b)) - feat: add expo plugins ([#​3933](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3933)) ([`08f6caa`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/08f6caa6)) - docs: update deprecated tool ([#​3982](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3982)) ([`25c74e0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/25c74e05)) - chore(android): migrate DefaultReactExoplayerConfig to Kotlin ([#​3983](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3983)) ([`1728373`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/1728373d)) - fix(ios): don't pause playback when entering background ([#​3973](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3973)) ([`ccffcfd`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ccffcfd7)) - chore(example/basic): refactor state variable ([#​3949](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3949)) ([`a3ecc01`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/a3ecc010)) - feat(android): Bump default media3 version from v1.1.1 to v1.3.1 ([#​3977](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3977)) :warning: need targetSdkVersion 34 ([`7562669`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7562669f)) - feat: modified Fabric example android build.gradle for resolving build issue ([#​3976](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3976)) ([`1d6fb29`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/1d6fb297)) - chore: upgrade react-native & expo version in the basic example app ([#​3964](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3964)) ([`01a00b1`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/01a00b12)) - refactor(android): migrate VideoEventEmitter to Kotlin ([#​3962](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3962)) ([`3c9b1b5`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3c9b1b57)) - fix(ios): fix fullscreen view controller ANR ([#​3952](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3952)) ([`7def3ac`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7def3ac3)) - chore(example/fabric): bump up fabric example android deps ([#​3957](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3957)) ([`de6e719`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/de6e7196)) - refactor(ios): refactor NowPlayingInfoCenerManager.swift ([#​3968](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3968)) ([`76c6329`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/76c63291)) - fix(android): build issue on the latest react-native version ([#​3963](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3963)) ([`530686c`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/530686ca)) - feat(fabric): updated ios podspec for implementing new architecture ([#​3961](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3961)) ([`df29c23`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/df29c231)) - fix(android): fix wrong module name ([#​3959](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3959)) ([`3f11894`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3f11894c)) - refactor(android): migrate ReactVideoPackage to Kotlin ([#​3955](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3955)) ([`702a0d9`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/702a0d9d)) - refactor(android): migrate VideoDecoderPropertiesModule to Kotlin ([#​3954](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3954)) ([`9958598`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/99585987)) - feat: bump up fabric example react-native iOS ([#​3951](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3951)) ([`e5a2ee3`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/e5a2ee3b)) - fix(android): added setAllowChunklessPreparation to HlsMediaSource.Factory to allow build success on projects without HLS support ([#​3948](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3948)) ([#​3950](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3950)) ([`322d7e9`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/322d7e99)) - refactor: basic example from class component to functional component ([#​3934](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3934)) ([`d4f1648`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/d4f16486)) - chore(android): rework view type ([#​3940](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3940)) ([`b431d09`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/b431d09e)) - chore: update homepage field in package.json ([#​3945](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3945)) ([`6e13376`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/6e133768)) - feat(android): allow building exoplayer from source ([#​3932](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3932)) ([`a7d834a`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/a7d834a8)) - feat: add plugins management ([#​3909](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3909)) ([`91d27a6`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/91d27a60)) - Chore(docs): fix typo ([#​3938](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3938)) ([`3cfb96a`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3cfb96ad)) ### [`v6.4.5`](https://redirect.github.com/TheWidlarzGroup/react-native-video/blob/HEAD/CHANGELOG.md#645-2024-08-17) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.4...v6.4.5) ##### Bug Fixes - **android:** resolve a release issue with DefaultDashChunkSource ([#​4097](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4097)) ([7e222e8](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7e222e8fc4f3c47a1c9cd2fbf5ff012bcbe98a7f)) - refactor(android): migrate DefaultDashChunkSource to Kotlin ([#​4078](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4078)) ([`b7d1cab`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/b7d1cabf)) - fix(ios): remove resume logic in notification seek closure ([#​4068](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4068)) ([`c6ae17e`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c6ae17e4)) - chore(doc): update document (props & method) ([#​4072](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4072)) ([`cd41a1b`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/cd41a1b2)) - fix(android): build warnings ([#​4058](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4058)) ([`899bb82`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/899bb822)) - infra: update feature request form ([#​4065](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4065)) ([`6c03d0a`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/6c03d0a7)) - fix(ios): override source metadata with custom metadata ([#​4050](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4050)) ([`38aa2b0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/38aa2b05)) - fix(android): return the value as a float for the getCurrentPosition function ([#​4054](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4054)) ([`af0302b`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/af0302b1)) - refactor(android): migrate ReactExoplayerViewManager to Kotlin ([#​4011](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4011)) ([`74c6dd6`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/74c6dd62)) - fix(android): viewType is ignored when its value is ViewType.TEXTURE ([#​4031](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4031)) ([`22cfd6c`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/22cfd6ce)) - fix(ios): metadata update race ([#​4033](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4033)) ([`08a57a3`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/08a57a3b)) - fix(ios): updated getLicense call to work with new syntax, and fixed spelling error ([#​4014](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4014)) ([#​4042](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4042)) ([`2348c5e`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/2348c5e4)) ### [`v6.4.4`](https://redirect.github.com/TheWidlarzGroup/react-native-video/releases/tag/v6.4.4) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.3...v6.4.4) #### What's Changed ##### iOS - fix(ios): updated getLicense call to work with new syntax, and fixed spelling error ([#​4014](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4014)) by [@​EETVApps](https://redirect.github.com/EETVApps) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4042](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4042) - fix(ios): metadata update race by [@​blazlew](https://redirect.github.com/blazlew) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4033](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4033) - fix(ios): override source metadata with custom metadata by [@​KrzysztofMoch](https://redirect.github.com/KrzysztofMoch) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4050](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4050) ##### Android - fix(android): viewType is ignored when set to ViewType.TEXTURE by [@​mlecoq](https://redirect.github.com/mlecoq) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4031](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4031) - refactor(android): migrate ReactExoplayerViewManager to Kotlin by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4011](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4011) - fix(android): return the value as a float for the getCurrentPosition function by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4054](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4054) - fix(android): build warnings by [@​KrzysztofMoch](https://redirect.github.com/KrzysztofMoch) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4058](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4058) - Remove resume logic in notification seek closure by [@​paul-rinaldi](https://redirect.github.com/paul-rinaldi) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4068](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4068) - refactor(android): migrate DefaultDashChunkSource to Kotlin by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4078](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4078) ##### Other - chore(doc): update document (props & method) by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/4072](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4072) #### New Contributors - [@​blazlew](https://redirect.github.com/blazlew) made their first contribution in [https://github.com/TheWidlarzGroup/react-native-video/pull/4033](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4033) - [@​mlecoq](https://redirect.github.com/mlecoq) made their first contribution in [https://github.com/TheWidlarzGroup/react-native-video/pull/4031](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/4031) **Full Changelog**: https://github.com/TheWidlarzGroup/react-native-video/compare/v6.4.3...v6.4.4 ### [`v6.4.3`](https://redirect.github.com/TheWidlarzGroup/react-native-video/blob/HEAD/CHANGELOG.md#643-2024-07-24) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.2...v6.4.3) ##### Bug Fixes - **android:** app crash at boot with old arch ([#​4022](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4022)) ([1ee5811](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/1ee5811c8e0ecfc2486f5120b575b57c6396e0f8)), closes [#​3875](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3875) - **android:** fix backward compatibility ([#​4020](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4020)) ([ab7e02e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ab7e02e4538c97340f13fb052b1cad94408b48fa)) - **android:** resize mode cover calculation ([#​4010](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4010)) ([9f38216](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/9f382163d83c3331518e2784b335da28179ac91d)) - index of the selected track ([#​4012](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4012)) ([fb1d6bd](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/fb1d6bdef7210d43f9e34f673691a9a17b95424e)) - **sample:** boot failure on emulator ([#​4016](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4016)) ([ffbc977](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ffbc977ff90248aeb270626620f5c3553f955617)) ##### Features - add ability to define `poster` props as Image type and render poster as custom component ([#​3972](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3972)) ([adbd06e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/adbd06e2df557b22b8a3a19073a2de1cbb964833)) - **android:** add error handling for Kotlin version ([#​4018](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4018)) ([6189080](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/6189080c9aac89aa3d2a4e60049999d8880bc971)) - **android:** set originalFitsSystemWindows on fullscreen open ([#​4013](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4013)) ([2f70c02](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/2f70c02cdcf6488338df197feb61eeb10ed3281f)) ### [`v6.4.2`](https://redirect.github.com/TheWidlarzGroup/react-native-video/blob/HEAD/CHANGELOG.md#642-2024-07-15) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.1...v6.4.2) ##### Bug Fixes - **android:** exit fullscreen mode after finishing video playback ([#​3978](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3978)) ([4b8d09e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/4b8d09e61f79a319ba5816dd342b5c0fd02d6e07)) - **android:** fix android notification controller order ([#​4002](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4002)) ([05623c9](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/05623c9f5447f67acb535487de8918210b5ffec7)) - **android:** fix onVideoLoad event field key ([#​4001](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4001)) ([f82268b](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/f82268be1bc33e5c61dbb031d7937197da0b67e5)) - **android:** handle aspect ratio for rotated videos ([#​4000](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/4000)) ([0a55ace](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/0a55ace0ca92f56394235f7c651d3a160e6a3c90)) - **android:** resolve compatibility issue ([5cd5e5e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/5cd5e5efe70b49d76fb27e3220a1df12b32901a6)) - **example/basic:** select resizeMode ([#​3989](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3989)) ([39cf477](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/39cf477ceb37c6ecc38cbdd9077a556c81fd9c3d)) - **ts:** make multiDrm prop optional type ([#​3999](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3999)) ([79c3076](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/79c30767fcf67e75e70ceb64a17736b5e3de63c6)) ### [`v6.4.1`](https://redirect.github.com/TheWidlarzGroup/react-native-video/blob/HEAD/CHANGELOG.md#641-2024-07-12) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.4.0...v6.4.1) ##### Bug Fixes - expo plugin export ([#​3992](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3992)) ([de8ade0](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/de8ade06202cfdb3dd7fec635b6e8c6cdfd04e47)) - fix(ios): remove pip check for other platforms ([#​3991](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3991)) ([`40a7282`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/40a72825)) - feat: add `isSeeking` to `onPlaybackStateChanged` ([#​3899](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3899)) ([`111a5d2`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/111a5d21)) - chore(android): migrate DataSourceUtil to Kotlin ([#​3984](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3984)) ([`b25e43e`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/b25e43ee)) - chore(android): migrate AspectRatioFrameLayout to Kotlin ([#​3985](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3985)) ([`452e42f`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/452e42f1)) - refactor: move view type and drm in source ([#​3867](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3867)) ([`66dcf32`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/66dcf32b)) - feat: add expo plugins ([#​3933](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3933)) ([`08f6caa`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/08f6caa6)) - docs: update deprecated tool ([#​3982](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3982)) ([`25c74e0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/25c74e05)) - chore(android): migrate DefaultReactExoplayerConfig to Kotlin ([#​3983](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3983)) ([`1728373`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/1728373d)) - fix(ios): don't pause playback when entering background ([#​3973](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3973)) ([`ccffcfd`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ccffcfd7)) - chore(example/basic): refactor state variable ([#​3949](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3949)) ([`a3ecc01`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/a3ecc010)) - feat(android): Bump default media3 version from v1.1.1 to v1.3.1 ([#​3977](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3977)) :warning: need targetSdkVersion 34 ([`7562669`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7562669f)) - feat: modified Fabric example android build.gradle for resolving build issue ([#​3976](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3976)) ([`1d6fb29`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/1d6fb297)) - chore: upgrade react-native & expo version in the basic example app ([#​3964](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3964)) ([`01a00b1`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/01a00b12)) - refactor(android): migrate VideoEventEmitter to Kotlin ([#​3962](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3962)) ([`3c9b1b5`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3c9b1b57)) - fix(ios): fix fullscreen view controller ANR ([#​3952](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3952)) ([`7def3ac`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7def3ac3)) - chore(example/fabric): bump up fabric example android deps ([#​3957](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3957)) ([`de6e719`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/de6e7196)) - refactor(ios): refactor NowPlayingInfoCenerManager.swift ([#​3968](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3968)) ([`76c6329`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/76c63291)) - fix(android): build issue on the latest react-native version ([#​3963](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3963)) ([`530686c`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/530686ca)) - feat(fabric): updated ios podspec for implementing new architecture ([#​3961](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3961)) ([`df29c23`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/df29c231)) - fix(android): fix wrong module name ([#​3959](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3959)) ([`3f11894`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3f11894c)) - refactor(android): migrate ReactVideoPackage to Kotlin ([#​3955](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3955)) ([`702a0d9`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/702a0d9d)) - refactor(android): migrate VideoDecoderPropertiesModule to Kotlin ([#​3954](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3954)) ([`9958598`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/99585987)) - feat: bump up fabric example react-native iOS ([#​3951](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3951)) ([`e5a2ee3`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/e5a2ee3b)) - fix(android): added setAllowChunklessPreparation to HlsMediaSource.Factory to allow build success on projects without HLS support ([#​3948](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3948)) ([#​3950](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3950)) ([`322d7e9`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/322d7e99)) - refactor: basic example from class component to functional component ([#​3934](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3934)) ([`d4f1648`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/d4f16486)) - chore(android): rework view type ([#​3940](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3940)) ([`b431d09`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/b431d09e)) - chore: update homepage field in package.json ([#​3945](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3945)) ([`6e13376`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/6e133768)) - feat(android): allow building exoplayer from source ([#​3932](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3932)) ([`a7d834a`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/a7d834a8)) - feat: add plugins management ([#​3909](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3909)) ([`91d27a6`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/91d27a60)) - Chore(docs): fix typo ([#​3938](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3938)) ([`3cfb96a`](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3cfb96ad)) ### [`v6.4.0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/releases/tag/v6.4.0) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.3.0...v6.4.0) ##### What's Changed ##### General - feat: add plugins management by [@​freeboub](https://redirect.github.com/freeboub) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3909](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3909) - feat: add expo plugins by [@​KrzysztofMoch](https://redirect.github.com/KrzysztofMoch) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3933](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3933) - fix: build issue on the latest react-native version by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3963](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3963) - refactor: move view type and drm in source by [@​freeboub](https://redirect.github.com/freeboub) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3867](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3867) - feat: add `isSeeking` to `onPlaybackStateChanged` by [@​KrzysztofMoch](https://redirect.github.com/KrzysztofMoch) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3899](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3899) ##### Android - feat(android): Bump default media3 version from v1.1.1 to v1.3.1 by [@​YangJonghun](https://redirect.github.com/YangJonghun) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3977](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3977) - feat(android): allow building exoplayer from source by [@​freeboub](https://redirect.github.com/freeboub) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3932](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3932) - chore(android): rework view type by [@​freeboub](https://redirect.github.com/freeboub) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3940](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3940) - fix(android): added setAllowChunklessPreparation to HlsMediaSource.Factory stub by [@​EETVApps](https://redirect.github.com/EETVApps) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3950](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3950) - refactor(android): migrate VideoDecoderPropertiesModule to Kotlin by [@​YangJonghun](https://redirect.github.com/YangJonghun) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3954](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3954) - refactor(android): migrate ReactVideoPackage to Kotlin by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3955](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3955) - fix(android): fix VideoDecoderPropertiesModule module name by [@​YangJonghun](https://redirect.github.com/YangJonghun) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3959](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3959) - refactor(android): migrate VideoEventEmitter to Kotlin by [@​YangJonghun](https://redirect.github.com/YangJonghun) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3962](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3962) - chore(android): migrate DefaultReactExoplayerConfig to Kotlin by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3983](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3983) - chore(android): migrate AspectRatioFrameLayout to Kotlin by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3985](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3985) - chore(android): migrate DataSourceUtil to Kotlin by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3984](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3984) ##### iOS - refactor(ios): refactor `NowPlayingInfoCenerManager` by [@​YangJonghun](https://redirect.github.com/YangJonghun) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3968](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3968) - fix(ios): fix fullscreen view controller ANR by [@​YangJonghun](https://redirect.github.com/YangJonghun) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3952](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3952) - fix(ios): don't pause playback when entering background by [@​KrzysztofMoch](https://redirect.github.com/KrzysztofMoch) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3973](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3973) - fix(ios): remove pip check for other platforms by [@​KrzysztofMoch](https://redirect.github.com/KrzysztofMoch) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3991](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3991) ##### Other - chore(docs): fix typo by [@​freeboub](https://redirect.github.com/freeboub) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3938](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3938) - chore: update homepage field in package.json by [@​Simek](https://redirect.github.com/Simek) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3945](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3945) - chore(example/basic): refactor basic example from class component to functional component by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3934](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3934) - chore(example/basic): bump up fabric example react-native iOS by [@​yungblud](https://redirect.github.com/yungblud) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3951](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3951) - feat(fabric): updated ios podspec for implementing new architecture by [@​yungblud](https://redirect.github.com/yungblud) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3961](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3961) - chore: upgrade react-native & expo version in the basic example app by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3964](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3964) - feat: modified Fabric example android build.gradle for resolving build issue by [@​yungblud](https://redirect.github.com/yungblud) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3976](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3976) - chore(example/basic): refactor state variable by [@​seyedmostafahasani](https://redirect.github.com/seyedmostafahasani) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3949](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3949) - docs: update deprecated tool by [@​moskalakamil](https://redirect.github.com/moskalakamil) in [https://github.com/TheWidlarzGroup/react-native-video/pull/3982](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3982) ##### New Contributors - [@​Simek](https://redirect.github.com/Simek) made their first contribution in [https://github.com/TheWidlarzGroup/react-native-video/pull/3945](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3945) - [@​EETVApps](https://redirect.github.com/EETVApps) made their first contribution in [https://github.com/TheWidlarzGroup/react-native-video/pull/3950](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3950) - [@​moskalakamil](https://redirect.github.com/moskalakamil) made their first contribution in [https://github.com/TheWidlarzGroup/react-native-video/pull/3982](https://redirect.github.com/TheWidlarzGroup/react-native-video/pull/3982) **Full Changelog**: https://github.com/TheWidlarzGroup/react-native-video/compare/v6.3.0...v6.4.0 ### [`v6.3.0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/blob/HEAD/CHANGELOG.md#630-2024-06-22) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.2.0...v6.3.0) ##### Bug Fixes - **android:** allow chunk less preparation ([#​3913](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3913)) ([264b57a](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/264b57aa2ed01b52c09b2992d5ca61e33871315b)) - **android:** avoid crash multiplayer with notification ([#​3931](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3931)) ([104ee70](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/104ee703bac0f7d5fb162d17c30f65f8071d07a6)) - **android:** show controls in notification on older androids ([#​3886](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3886)) ([098a754](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/098a754110a2c58fc18062769f4dd83775d20de4)) - **android:** use UI thread to pause when lost audio focus ([#​3916](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3916)) ([856b1dd](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/856b1dd58ba9bb1832397ee0fc86f778f737798f)) - **ios:** crash on ads after leaving the app ([#​3911](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3911)) ([3d6bc94](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/3d6bc9409c2111760620a821466b0ea0f1970681)) - **ios:** missing notification controls when enabled from start ([#​3898](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3898)) ([2d793db](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/2d793dbde16cc140d1e7b873c40ff4dec285e253)) - **JS:** safety check on resolve uri ([#​3915](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3915)) ([84bb910](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/84bb910d10e3e3d70f9e92b57c17de829d73218a)) - **typescript:** type checks on selectedTextTrack, selectedAudioTrack, selectedVideoTrack ([#​3910](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3910)) ([dc2a2ab](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/dc2a2ab863dc53fb2da1c2cea99e59e6d8387803)) ##### Features - **android:** add `onControlsVisiblityChange` ([#​3925](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3925)) ([c2ce372](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c2ce372bcf21e21b97878e7efe77780168d09a79)) - **ios:** add live key to now playing dict to decorate when livestream playing ([#​3922](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3922)) ([91751ab](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/91751abc870109e0a2667dfffbd2baa2e4cf997b)) ### [`v6.2.0`](https://redirect.github.com/TheWidlarzGroup/react-native-video/blob/HEAD/CHANGELOG.md#620-2024-06-07) [Compare Source](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.1.2...v6.2.0) ##### Bug Fixes - **android:** allow notification tap to foreground app ([#​3831](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3831)) ([5c29b48](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/5c29b48747b4a30eb9911daa579baaa93402ba67)) - **android:** android cache header ([#​3832](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3832)) ([c2a1424](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c2a14240ada24cd7c816bcb1ac942986eb855792)) - **android:** fix null pointer exception at playback start with item metadata ([#​3879](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3879)) ([c2cd752](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c2cd7529fd9c9a3c8b1ae7b87d0b80e822ca400d)) - **android:** optimize lag on old android ([#​3860](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3860)) ([c2ce66e](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c2ce66ed26efb975335ee7b229744a9957b0621e)) - **android:** refactor source, fix random DRM issue and crop start on local asset ([#​3835](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3835)) ([bdf3e55](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/bdf3e556d802caa426d098d3f5fffe00dfb96660)) - **android:** video resolution orientation android ([#​3862](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3862)) ([b698b18](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/b698b1837b71f2c93d488c521eb363e236e41aa5)) - ensure progress is sent before `onEnd` callback ([#​3872](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3872)) ([7133c96](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/7133c96cac905f06f7a9bccd21eeb2f7a8a27c06)) - ensure view drop stop playback startup ([#​3875](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3875)) ([ff1e24a](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ff1e24aaad179656af71443b3db3b9817a98eb92)) - **ios:** don't crash app if view wasn't found ([#​3841](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3841)) ([cd28d37](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/cd28d370d27571b6f42b68e506b0bd1eaa9c770c)) - **ios:** fix notification controls enabled by default ([#​3861](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3861)) ([5c6dfb2](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/5c6dfb26c56c2b9165b25a01b9224c489e2fd2a5)) - **ios:** fix playback status with lifecycle ([#​3819](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3819)) ([1b51c15](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/1b51c1534881216f9975834657e8add1e7fe9621)) - **ios:** Implicit use of 'self' in closure - use 'self.' to make capture semantics explicit ([#​3764](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3764)) ([#​3881](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3881)) ([ac0a9c3](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/ac0a9c3e3a4fec474a963207a343765d1776406d)), closes [#​3875](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3875) ##### Features - add getCurrentPosition to component's ref ([#​3824](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3824)) ([c7f4d7b](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c7f4d7b83bd09178f945d21e1f252a57ee1c8ab1)) - **android:** allow chunckless preparation ([#​3882](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3882)) ([d4a8c24](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/d4a8c24f65eda5f3ce17263b234e47b667947e08)) - **android:** Change subtitleLayout from child to sibling of layout ([#​3830](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3830)) ([c2cc917](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/c2cc91736852ea8b128e63bee71979d64b805c91)) - **android:** handle increment forward and rewind buttons ([#​3818](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3818)) ([5059e7a](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/5059e7a7f122447a1762249429d5fe289cbb0a4d)) #### [6.1.2](https://redirect.github.com/TheWidlarzGroup/react-native-video/compare/v6.1.1...v6.1.2) (2024-05-23) ##### Bug Fixes - **android:** revert previous fix not compatible with old java version ([#​3828](https://redirect.github.com/TheWidlarzGroup/react-native-video/issues/3828)) ([69bde44](https://redirect.github.com/TheWidlarzGroup/react-native-video/commit/69bde447b825507533627c7b7d931e5a5d19ef75)) </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 is behind base branch, 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 was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/valora-inc/wallet). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsibnBtIiwicmVub3ZhdGUiXX0=--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: valora-bot <[email protected]>
Summary
Add
isSeeking
toonPlaybackStateChanged
callbackMotivation
This is pretty useful for devs that are using custom controls, bcs they can check if
onPlaybackStateChanged
was made bcs of pause/resume or seekingfixes #3895
Changes
isSeeking
toonPlaybackStateChanged
Test plan
Tested on android & iOS simulators