Commit Graph

160 Commits

Author SHA1 Message Date
yungblud
de6e71966a
chore(example/fabric): bump up fabric example android deps (#3957)
* feat: 🔥 version bump react native for ios FabricExample

* feat:  copied newly created basic example TS files

* feat: 🔥 bump up native layers of FabricExample android app

* feat: 🔥 turn off buildDir setting in android/build.gradle for correct Fabric codegen dir location

* Revert "feat: 🔥 turn off buildDir setting in android/build.gradle for correct Fabric codegen dir location"

This reverts commit 62ec8d739b1f21906972eb935fc934e87294a8e6.
2024-07-04 12:44:43 +02:00
yungblud
df29c2310d
feat(fabric): updated ios podspec for implementing new architecture (#3961)
* chore: 🔥 updated FabricExample/Gemfile.lock (bundle install)

* feat: updated react-native-video.podspec for implementing new architecture

* feat: updated FabricExample/ios/Podfile.lock (pod install)

* chore: updated examples/basic Gemfile.lock (bundle install)

* chore:  updated examples/basic ios Podfile.lock (pod install)
2024-07-02 10:56:14 +02:00
yungblud
e5a2ee3bd3
feat: bump up fabric example react-native iOS (#3951)
* feat: 🔥 version bump react native for ios FabricExample
* feat:  copied newly created basic example TS files
2024-06-30 17:20:28 +02:00
Seyed Mostafa Hasani
d4f1648681
refactor: basic example from class component to functional component (#3934)
* refactor: basic example from class component to functional component

* refactor: toast component path

* refactor: bufferConfig prop

* refacotr: import component path

* fix: seekbar issue on iOS
2024-06-28 11:33:10 +02:00
Olivier Bouillet
a7d834a80a
feat(android): allow building exoplayer from source (#3932)
* feat(android): allow to build from source code

* fix(android): allow to build plugin from source
2024-06-25 13:20:12 +02:00
Olivier Bouillet
91d27a6009
feat: add plugins management (#3909) 2024-06-25 08:55:32 +02:00
Olivier Bouillet
c1c7a056f1
chore: move sample to expo (#3880)
* perf: ensure we do not provide callback to native if no callback provided from app

* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size

* chore: improve issue template

* fix(android): avoid video view flickering at playback startup

* fix: ensure player doesn't start when view is unmounted

* chore: move basic sample to expo

* Update examples/basic/package.json

Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>

* chore: use last expo version

* chore: fix podfile

---------

Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
2024-06-20 11:58:55 +02:00
Olivier Bouillet
264b57aa2e
fix(android): allow chunk less preparation (#3913) 2024-06-20 11:19:35 +02:00
Krzysztof Moch
2d793dbde1
fix(ios): missing notification controls when enabled from start (#3898) 2024-06-12 11:54:22 +02:00
Seyed Mostafa Hasani
3a4a13011a
chore: add setFullScreen to component's ref (#3855)
* chore: add setFullScreen to component's ref and remove presentFullscreenPlayer & dismissFullscreenPlayer
2024-06-10 22:41:26 +02:00
Olivier Bouillet
a604cd750a
chore(sample): clean log in sample (#3868) 2024-05-31 23:32:20 +02:00
Olivier Bouillet
bdf3e556d8
fix(android): refactor source, fix random DRM issue and crop start on local asset (#3835)
* fix: refactor source parameter parsing

Also fix a side issue when using a local file cropping props were not applied
Also fix random DRM issue by refactoring initializePlayerSource https://github.com/TheWidlarzGroup/react-native-video/issues/3082

* chore: restore metadata checks before appling them
2024-05-30 08:53:49 +02:00
Olivier Bouillet
e23e02b359
chore(sample): review seeker in sample (#3787) 2024-05-28 09:33:21 +02:00
lovegaoshi
c2a14240ad
fix(android): android cache header (#3832)
* fix: android cache header
2024-05-28 09:29:21 +02:00
Krzysztof Moch
cd28d370d2
fix(ios): don't crash app if view wasn't found (#3841)
* fix(ios): don't crash app if view wasn't found

* lint code
2024-05-27 09:22:22 +02:00
Olivier Bouillet
cad5c4624c
fix(android)!: rework video tracks management (#3778)
* fix: fix crash when invalid index type is provided and minor clean up
* fix: review video track management. Fix index support and rework string vs int in tracks management
* fix: ABR track selection check
* fix: split track selector in sample and lint code
* fix: ensure we don't report null fields
* chore: improve tracks displayed
* chore: start moving to selection by index only
2024-05-22 14:01:55 +02:00
Olivier Bouillet
dbd7d7aa2c
chore(example/basic): add mute state button (#3809) 2024-05-22 13:58:47 +02:00
Olivier Bouillet
e16730de11
fix(android): implement live configuration management (#3792)
* perf: ensure we do not provide callback to native if no callback provided from app

* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size

* chore: improve issue template

* fix(android): avoid video view flickering at playback startup

* feat(android): implement live buffer configuration

* chore: fix linter
2024-05-20 16:18:20 +02:00
Olivier Bouillet
cd42dd78c9
fix(tvos): fix tvOS build and sample (#3785)
* perf: ensure we do not provide callback to native if no callback provided from app

* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size

* chore: improve issue template

* fix(android): avoid video view flickering at playback startup

* chore: fix tvOS supported platform

* chore: fix tvOS build

* chore: update project tvos configuration
2024-05-20 13:09:58 +02:00
Olivier Bouillet
d716e1ab2a
chore(android): improve exoplayer logs (#3780)
* perf: ensure we do not provide callback to native if no callback provided from app

* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size

* chore: improve issue template

* fix(android): avoid video view flickering at playback startup

* fix: improve debuging display and enable it in the sample
2024-05-17 15:10:37 +02:00
Olivier Bouillet
8a57b127d0
chore(example/basic): upgrade sample react native version (#3776)
* perf: ensure we do not provide callback to native if no callback provided from app

* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size

* chore: improve issue template

* fix(android): avoid video view flickering at playback startup

* chore: upgrade sample react native version and dependancies
2024-05-17 15:09:42 +02:00
Krzysztof Moch
b3f08f6c99
fix(ios): call onLoadStart earlier (#3750) 2024-05-13 21:32:51 +02:00
Olivier Bouillet
e420418e8f
feat(android): make buffering strategy dynamic (#3756)
* chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size
* feat: expose bufferingStrategy to app and change default behavior
rename disableBuffering undocumented prop to bufferingStrategy and document it.
before this change, default was 'dependingOnMemory'. It can trigger some unnecessary gc() call on android.
2024-05-11 22:02:04 +02:00
Krzysztof Moch
8ad4be459b
feat: add notification controls (#3723)
* feat(ios): add `showNotificationControls` prop

* feat(android): add `showNotificationControls` prop

* add docs

* feat!: add `metadata` property to srouce

This is breaking change for iOS/tvOS as we are moving some properties, but I believe that this will more readable and more user friendly

* chore(ios): remove UI blocking function

* code review changes for android

* update example

* fix readme

* fix typos

* update docs

* fix typo

* chore: improve sample metadata notification

* update codegen types

* rename properties

* update tvOS example

* reset metadata on source change

* update docs

---------

Co-authored-by: Olivier Bouillet <freeboub@gmail.com>
2024-05-07 12:30:57 +02:00
Olivier Bouillet
e05da4e9fe
feat(android): implement asset folder playback (#3733)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* feat(android): implement playback from asset folder

* chore(android): fix linter

* chore: move sample mp4 from package assets to exemple assets
2024-05-06 21:51:17 +02:00
Olivier Bouillet
51e22abfe3
fix(ios): fix text track selection by index (#3728)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* fix(ios): text tracks selection by index. regression due to codegen rework

* chore: make selection by index testable (need a small manual patch)

* chore(ios): fix linter warning
2024-05-04 15:20:59 +02:00
Krzysztof Moch
edbb3b60aa
chore(example/basic): update Podfile.lock (#3725) 2024-05-01 11:51:24 +02:00
lovegaoshi
ecc946d1c1
feat(android): cache (#3514)
* feat: android cache

* docs: bufferSize

* Revert "docs: bufferSize"

This reverts commit 09637b134e121b9ca3ffd78f2f5bc657319ed67a.

* fix: cacheSize name

* feat: singleton android cache

* fix: local cache resolve

* fix: lint

* docs: android cache

* chore: merge conflict

* fix: lint

* chore: useCache button

* chore: fix state in the sample

* fix: cache factory

* chore: update cacheSizeMB docs

---------

Co-authored-by: Olivier Bouillet <freeboub@gmail.com>
2024-05-01 11:20:34 +02:00
Olivier Bouillet
1a8295c8bf
fix(ios): ensure orientation is correct on iOS (#3719)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* fix(iOS): ensure orientation is correctly reported

* chore: fix build
2024-04-26 10:02:13 +02:00
Olivier Bouillet
a1090a1639
chore(examples/basic): add startPosition sample (#3718)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* fix: fix sample style & avoid changing channel onEnd when looping is enable

* chore: add startPosition in the sample

* chore: update startPosition for easier testing
2024-04-26 09:43:39 +02:00
Olivier Bouillet
2cd49b53fd
chore(examples/basic): minor sample fixes (#3717)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* fix: fix sample style & avoid changing channel onEnd when looping is enable
2024-04-26 09:42:21 +02:00
Olivier Bouillet
818f92f654
chore(example/basic): bump react-native to 0.74.0 (#3702)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* chore: update basic sample to official react native 0.74
2024-04-23 09:00:42 +02:00
Krzysztof Moch
efa1c52491
fix(ios): fix sideloading external subtitles (#3690)
* fix(ios): fix subtitles side loading

* update example

* Update examples/basic/src/VideoPlayer.tsx

Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>

* Update examples/basic/src/VideoPlayer.tsx

Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>

---------

Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2024-04-19 22:38:52 +02:00
Krzysztof Moch
64e3191f73
feat(android): allow to disable selected functionalities (#3681)
* feat(android): add possibility do disable some of functionalities

* create dump classes

* remove dump files when functionalities are enabled

* add docs

* enable all functionalities in example

* throw error when trying to use disabled functionality

* update docs
2024-04-16 14:23:19 +02:00
Olivier Bouillet
2285eba8f0
Feat/add rtsp support (#3677)
* feat(android) : add rtsp support
2024-04-16 10:41:39 +02:00
Olivier Bouillet
4c7719a3f5
fix: ensure tracks are available in sample (#3660)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample
2024-04-07 19:02:39 +02:00
Krzysztof Moch
07f71c2fc4
fix(ios): apply PictureInPicture state on start (#3655) 2024-04-05 10:37:00 +02:00
Olivier Bouillet
d6941392e0
fix: ensure poster works as expected and add it to the sample (#3643)
* fix: ensure poster works as expected and add it to the sample
* chore: drop audioOnly property as not implemented on any platform
* fix(ios): do not save pause state before seeking
* fix(ts): onPlaybackRateChangeData was not correctly typed
2024-04-05 10:35:57 +02:00
Olivier Bouillet
2a858df8bc
fix(ts): onPlaybackRateChangeData was not correctly typed (#3651) 2024-04-04 14:45:39 +02:00
Krzysztof Moch
10b100de44
feat!(ios): remove native dependency promises (#3631) 2024-04-04 13:23:44 +02:00
Olivier Bouillet
182c953597
chore(typescript): fix external loaded textTracks typing and add one in sample (#3626) 2024-03-30 12:22:37 +01:00
Krzysztof Moch
baafda4b26
bump react native version (#3597)
chore(example): bump react native version
2024-03-22 14:08:55 +01:00
Gaëtan Kueny
bfb76e6d15
fix(android): keep screen on on fullscreen (#3563)
add KEEP_SCREEN_ON flag when video is fullscreen & playing to avoid phone to go off.
inspired by 2d8466128d
2024-03-22 09:17:00 +01:00
Olivier Bouillet
d5c8b514a1
fix(android): track selection parameter has change in last release. (#3594)
Move all setSelectedTrack to String instead of Dynamic

Co-authored-by: Olivier Bouillet <olivier@OrdinateOlivier.lan>
2024-03-22 07:58:09 +01:00
Olivier Bouillet
3d7444ab25
fix(android): ensure rate is never set to 0 (#3593)
* fix(android): ensure rate is never set to 0

---------

Co-authored-by: Olivier Bouillet <olivier@OrdinateOlivier.lan>
2024-03-21 15:40:25 +01:00
Olivier Bouillet
429fddf3b0
Fix(ios): fix real time issue when fast zapping (#3582)
* fix(ios): fix real time issue when doing fast zapping

* fix(ios): fix delay implementation (timing was not applied correctly)

* chore: fix random crash in sample

* chore: fix linter
2024-03-14 11:46:45 +01:00
Krzysztof Moch
41ac781412
feat: move require (local files) to source.uri (#3535)
* feat!: move require source to `uri`

* pass other source properties

* chore: update basic example

* chore: restore backward compatibility

* docs: update source via require

* fix types

* make docs build workflow pretty

* improve docs
2024-03-13 08:23:11 +01:00
Olivier Bouillet
7c4d19fa72
fix(ios): split licenseUrl and loadedLicenseUrl (#3578)
* fix(ios): split licenseUrl and loadedLicenseUrl
* fix(ios): fix drm license url used to provide the answer
2024-03-12 16:47:49 +01:00
coofzilla
6184c10acc
feat(android): add subtitle event (#3566)
* feat: add onCues method to get access to subtitle content
2024-03-11 13:50:19 +01:00
Krzysztof Moch
75c5c1cd93
chore(example): bump react-native version (#3569) 2024-03-07 16:00:00 +01:00