Commit Graph

266 Commits

Author SHA1 Message Date
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
8eb31e82c7
chore: rework bufferConfig to make it more generic and reduce ReactExoplayerView code size (#3739) 2024-05-06 22:04:40 +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
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
Pixee OSS Assistant
eec125579f
chore(android): switch order of literals to prevent NullPointerException (#3711)
Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>
2024-04-25 11:15:32 +02:00
YangJH
6f61d7f6e6
fix(android): prevent changing video track when video load (#3683)
- video track must change after video loaded, if change with load state, ready state can be called
2024-04-22 21:32:59 +02:00
Olivier Bouillet
c730306e3a
fix(android): seek callback with controls (#3694)
* fix(ts): onPlaybackRateChangeData was not correctly typed

* fix: ensure tracks are well displayed in the sample

* fix(android): add onSeek callback when controls are enable

* chore: remove seekTime which is useless now
2024-04-22 10:35:51 +02:00
邵瑾瑜
3e3532691a
fix(android): catch errors in performOnPlayerView (#3685)
Co-authored-by: JinYuSha0 <a1009943858@gmail.com>
2024-04-18 10:18:14 +02:00
YangJH
1af12f9dfb
fix(android): fixed bug where video would not be visible after remount and change of drm source (#3668)
* refactor(android): remove redundant lifecycle (onDetachedFromWindow)

* fix: remove initPlayer within onAttachedToWindow and remove lifecycle
2024-04-16 14:42:34 +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
Krzysztof Moch
336b9f0220
fix(android): set title for external subtitles (#3676) 2024-04-14 14:57:04 +02:00
Olivier Bouillet
d3cc0d0c5a
chore(android): fix various warning (#3625) 2024-03-31 20:03:52 +02:00
Krzysztof Moch
e87c14a437
fix(android): update ui manager getter (#3634) 2024-03-31 19:15:14 +02:00
Olivier Bouillet
dd3a400689
Chore/fix strange management of resume (#3629)
* fix(android): rename startPlayback to resumePlayback and fix implementation

I cannot understand why this implementation has been done. I guess this is to workaround some issue...
now resume only resume playback and don't start a new playback during bufffering...

* chore: simplify duplicated code
2024-03-29 20:59:58 +01:00
Olivier Bouillet
f10511d953
fix(android): improve and backBufferDurationMs. mainly let exoplayer manage the prop (#3619)
BREAKING CHANGE: move backBufferDurationMs from root props to bufferConfig
2024-03-28 21:33:17 +01:00
Krzysztof Moch
0312afc8ea
fix: remove setNativeProps usage (#3605)
* fix: remove `setNativeProps` usage

* code review
2024-03-28 11:22:04 +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
408cfb2c1c
chore: various code clean (#3591)
* chore: remove media3 dependancy from common

* chore: remove unused

* chore: fix linter change

---------

Co-authored-by: Olivier Bouillet <olivier@OrdinateOlivier.lan>
2024-03-21 14:07:53 +01:00
coofzilla
f4cce2ecdb
feat: implement opacity to control visibility of subtitles (#3583)
* feat: implement opacity to control visibility of subtitles

implemented per discussion on https://github.com/react-native-video/react-native-video/issues/3579

updated docs and linked onTextTrackDataChanged to the subtitle style to clarify intent on how to control visibility.

* chore: update type so that we use a union of 0 1 vs any number

* chore: run ktlint to get rid of white spaces

* feat: add ability to have range of numbers for opacity; while, 0 will still not render the subtitles.

added util function for safeGetFloat

updated types

* feat: add ability to suppress subtitles with opacity 0

add data structure for subtitle styles for extensibility

* chore: run yarn check-ios

* chore: update documentation to clarify differences between android and ios

* Update android/src/main/java/com/brentvatne/exoplayer/ExoPlayerView.java

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

---------

Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2024-03-14 11:29:50 +01:00
Olivier Bouillet
eaa72c6665
fix(android): enableDecoderFallback to decrease DECODER_ERROR issue (#3416)
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2024-03-12 22:38:24 +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
YangJH
366c841c0b
fix(android): check disableFocus when state is ready (#3494)
* fix: check disableFocus when state is ready

* Revert "fix: check disableFocus when state is ready"

This reverts commit b616bc2b8165f49a60d2f4b061d5d9abce63bff6.

* refactor: makes keepScreenOn ignore disableFocus when start playback
2024-03-08 19:34:09 +01:00
yungblud
b33e6df496
Fabric (New Architecture) codegen support (#3487)
* feat: implemented codegenConfig on package.json

* chore: moved directory location of Fabric component

* fix: typefix FabricExample

* chore: pod instaslled FabricExample iOS app

* feat: implemented codegen config on package.json

* feat: implemented codegen of specs/VideoNativeComponent

* chore: removed not using type Filter

* feat: removed unnecessary export on codegen tyepes

* Revert "feat: removed unnecessary export on codegen tyepes"

This reverts commit fc243b0ac5c565eda4886cd865c32ba4e812d7ff.

* refactor: fixed types on Video component and modified types with codegen types

* feat: modified codegenNativeComponent naming (RCTVideo)

* feat: pod installed example basic app

* feat: bump up react-native dev dependency version to 0.73.2 for supporting codegen array event params

* feat: support array param types on event callback function codegen types

* chore: pod installed ios basic example

* feat: modified source prop as optional type

* feat: add original src/VideoComponent.ts again

* Revert "feat: add original src/VideoComponent.ts again"

This reverts commit d63ac94e5330f7c7fb50374f65f8f3f4e0a225d7.

* feat: add original src/VideoComponent.ts again with original file name

* feat: git rm src/specs/VideoNativeComponent.ts

* feat: git mv VideoNativeComponent.ts

* feat: git mv src/specs/VideoNativeComponent.ts

* feat: git mv src/VideoNativeComponent.ts src/specs/VideoNativeComponent.ts

* feat: implemented array type handling on android JAVA

* feat: updated iOS requestHeaders parsing native

* feat: use safeGetArray on android, removed not using import too

* feat: temporary commit - reusing enum types for remaining docs types

* feat: implemented mixed type of SelectedTrack.value for JS layer
2024-03-07 11:35:17 +01:00
Krzysztof Moch
38e3625541
fix(android): suppress lint PrivateResource (#3531) 2024-02-14 13:13:36 +01:00
Gyanendro Kh
af6aea8934
fix(android): onSeek called instantly (#3530) 2024-02-13 14:58:53 +01:00
Krzysztof Moch
41e9bcb1ef
fix(android): fix crash with interop layer (#3509) 2024-01-31 12:36:01 +01:00
Olivier Bouillet
aec7db6390
Revert "fix: remove pausePlayback when audio focus loss event (#3496)" (#3504)
This reverts commit b1ab0f24a3.

Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2024-01-29 07:36:13 +01:00
Krzysztof Moch
135d97ce50
fix(android): re-layout controls after fullscreen dismiss (#3490)
* fix(android): re-layout controls after fullscreen dismiss
2024-01-26 21:34:07 +01:00
YangJH
7eeb1c530d
refactor(android): remove redundant prop variable (#3492) 2024-01-23 22:28:12 +01:00
YangJH
b1ab0f24a3
fix: remove pausePlayback when audio focus loss event (#3496) 2024-01-23 22:22:14 +01:00
YangJH
3858a15b42
fix: remove lifecycle listener after component unmount (#3489)
- fix issue #3488
2024-01-20 13:29:29 +01:00
Hanno J. Gödecke
11e5b756b1
fix(android): support opacity properly (#3464) 2024-01-10 08:46:40 +01:00
lovegaoshi
dd7bb54720
fix(android): default UA (#3429)
* Update DataSourceUtil.java

* fix(android): default UA
2023-12-20 19:49:26 +01:00
Olivier Bouillet
c8983f4094
chore: remove unused declarations (#3414)
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2023-12-10 15:55:17 +01:00
Olivier Bouillet
f9bcaac515
fix(android): ensure adTagUrl can be reset (#3408)
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2023-12-08 13:30:23 +01:00
Olivier Bouillet
908e30f9b8
fix(android): add explicitly dependancy to androidx.activity (#3410) 2023-12-08 11:33:29 +01:00
Krzysztof Moch
800aee09de
chore: lint project (#3395)
* chore: format swift code
* chore: format clang code
* chore: format kotlin code
* refactor: rename folder "API" to "api"
2023-12-07 08:47:40 +01:00
Krzysztof Moch
91d7135562
chore: enhance CI tests (#3344)
* chore: add swift linter

* chore: add clang linters

* chore: add kotlin linter

* chore(ci): update workflows

* chore(ci): clean workflows
2023-12-02 15:58:43 +01:00
Axel Vencatareddy
596c02d2b3
feat: add onAdError event listener (#3381)
* feat: add onAdError event listener
* feat: remove onAdError event listener and use already existing
* feat: add ERROR event to docs
2023-12-02 13:52:01 +01:00
YangJH
cac802fb77
chore(android): replacing deprecated SYSTEM_UI flag (#3386) 2023-11-30 21:16:24 +01:00
Axel Vencatareddy
d05231d76b
feat(ad): add data to onReceiveAdEvent (#3378)
* feat(ad): add adData to onReceiveAdEvent
* fix: remove adData from response if empty
* fix: add getAdData to stub file
* chore: fix build without IMA
* fix: rename `adData` to `data`

---------

Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2023-11-27 21:43:30 +01:00
Olivier Bouillet
fe89122524
fix(android): ads build and enable ads in android sample (#3376)
* fix: refactor androidx core version management

* chore: fix missing import rework for media3

* fix: enable IMA in sample

* chore: rename stub fie

* chore: code review, fix variable name

* chore: reorder imports

* chore: fix linking in sample

* chore: fix stub management

* chore: few cleans and ensure we don't use ima is disabled

---------

Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2023-11-24 13:17:13 +01:00
YangJH
2648502b36
feat: implement startPosition (#3355)
* feat(android): implement startPosition

* feat(ios): implement startPosition

* feat: implement startPosition type

* docs: fix typo

* docs: update startPosition

* refactor: put startPosition inside source prop
- put startPosition inside source prop
- rename existing prop (startTime, endTime)

* docs: update startPosition property description

* fix: fix invalid assignments

* refactor: remove redundant optional chaining

* feat: allow "0" to work too
2023-11-24 12:52:46 +01:00
Sung Jeon
0c0f3174cb
fix(android): fix leak caused by removing lifecycle listener too early (#3380)
* Fix lifecycle listener being removed too early
2023-11-23 23:23:44 +01:00
Olivier Bouillet
5beef383cb
fix(android): revert media3 update, back to 1.1.1 (#3369)
* fix: revert last media3 upgrade

---------

Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2023-11-22 15:03:57 +01:00
YangJH
17dbf6e826
feat(android): bump media3 version from v1.1.1 to v1.2.0 (#3362)
* feat(android): bump media3 version from v1.1.1 to v1.2.0

* chore: add lint file for ignore UnstableApi lint error
2023-11-20 08:20:27 +01:00
YangJH
f2e80e9f2d
feat(android): replace deprecated ExoPlayer2 with AndroidX media3 (#3337)
* feat(android): implement AndroidX media3 dependencies
* refactor(android): remove duplicate code
* refactor(android): remove unused codes
* feat(android): replace ExoPlayer2 with AndroidX media3
* fix(android): move default properties to gradle.properties
* revert(android): prevent security exception
* chore: align indent
* chore: remove redundant comments
* chore: reorder import
* fix: apply media3's legacy player control view
2023-11-18 14:13:54 +01:00