bb9e08c43a
Merge remote-tracking branch 'upstream/master'
Build Android / Build Android Example App (push) Has been cancelled
Build Android / Build Android Example App With Ads (push) Has been cancelled
Build iOS / Build iOS Example App (push) Has been cancelled
Build iOS / Build iOS Example App With Ads (push) Has been cancelled
Build iOS / Build iOS Example App With Caching (push) Has been cancelled
Check Android / Kotlin-Lint (push) Has been cancelled
Check CLang / CLang-Format (push) Has been cancelled
Check iOS / Swift-Lint (push) Has been cancelled
Check iOS / Swift-Format (push) Has been cancelled
Check JS / Check TS (tsc) (push) Has been cancelled
Check JS / Lint JS (eslint, prettier) (push) Has been cancelled
deploy docs / deploy-docs (push) Has been cancelled
2025-01-21 17:45:59 -07:00
Joy
3924b5e295
fix: NPE in setEnterPictureInPictureOnLeave for unsupported Android versions ( #4362 )
2025-01-10 12:07:25 +01:00
Olivier Bouillet
c47d165668
chore(android): fix type in generic folder ( #4323 )
2025-01-04 13:48:59 +01:00
YangJH
69a7bc2d26
feat: implement enterPictureInPictureOnLeave prop for both platform (Android, iOS) ( #3385 )
...
* docs: enable Android PIP
* chore: change comments
* feat(android): implement Android PictureInPicture
* refactor: minor refactor code and apply lint
* fix: rewrite pip action intent code for Android14
* fix: remove redundant codes
* feat: add isInPictureInPicture flag for lifecycle handling
- activity provide helper method for same purpose, but this flag makes code simple
* feat: add pipFullscreenPlayerView for makes PIP include video only
* fix: add manifest value checker for prevent crash
* docs: add pictureInPicture prop's Android guide
* fix: sync controller visibility
* refactor: refining variable name
* fix: check multi window mode when host pause
- some OS version call onPause on multi-window mode
* fix: handling when onStop is called while in multi-window mode
* refactor: enhance PIP util codes
* fix: fix FullscreenPlayerView constructor
* refactor: add enterPictureInPictureOnLeave prop and pip methods
- remove pictureInPicture boolean prop
- add enterPictureInPictureOnLeave boolean prop
- add enterPictureInPicture method
- add exitPictureInPicture method
* fix: fix lint error
* fix: prevent audio play in background without playInBackground prop
* fix: fix onDetachedFromWindow
* docs: update docs for pip
* fix(android): sync pip controller with external controller state
- for media session
* fix(ios): fix pip active fn variable reference
* refactor(ios): refactor code
* refactor(android): refactor codes
* fix(android): fix lint error
* refactor(android): refactor android pip logics
* fix(android): fix flickering issue when stop picture in picture
* fix(android): fix import
* fix(android): fix picture in picture with fullscreen mode
* fix(ios): fix syntax error
* fix(android): fix Fragment managed code
* refactor(android): remove redundant override lifecycle
* fix(js): add PIP type definition for codegen
* fix(android): fix syntax
* chore(android): fix lint error
* fix(ios): fix enter background handler
* refactor(ios): remove redundant code
* fix(ios): fix applicationDidEnterBackground for PIP
* fix(android): fix onPictureInPictureStatusChanged
* fix(ios): fix RCTPictureInPicture
* refactor(android): Ignore exception for some device ignore pip checker
- some device ignore PIP availability check, so we need to handle exception to prevent crash
* fix(android): add hideWithoutPlayer fn into Kotlin ver
* refactor(android): remove redundant code
* fix(android): fix pip ratio to be calculated with correct ratio value
* fix(android): fix crash issue when unmounting in PIP mode
* fix(android): fix lint error
* Update android/src/main/java/com/brentvatne/react/VideoManagerModule.kt
* fix(android): fix lint error
* fix(ios): fix lint error
* fix(ios): fix lint error
* feat(expo): add android picture in picture config within expo plugin
* fix: Replace Fragment with androidx.activity
- remove code that uses Fragment, which is a tricky implementation
* fix: fix lint error
* fix(android): disable auto enter when player released
* fix(android): fix event handler to check based on Activity it's bound to
---------
Co-authored-by: jonghun <jonghun@toss.im>
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2025-01-04 12:37:33 +01:00
YangJH
64c222df44
chore(android): bump default androidx.activity version from v1.8.2 to v1.9.3 ( #4314 )
2024-12-01 13:46:56 +01:00
Olivier Bouillet
63c592f7cd
fix(android): disable caching on local asset files ( #4304 )
2024-12-01 13:29:24 +01:00
Olivier Bouillet
f37dc9e33e
fix: playback restart without bufferingConfig ( #4305 )
2024-11-25 21:33:56 +01:00
Olivier Bouillet
2b7c215e66
Fix(android): restart issue react76 ( #4302 )
...
* fix: upgrade to expo 54
* fix: more bufferConfig inside source
- restart issue on react 0.76
- fix constness
- deprecate bufferConfig in root props
- update documentation
2024-11-24 21:19:46 +01:00
Islam
d277c5e946
Add support for HLS videos caching on android ( #4272 )
...
* Add support for HLS videos caching on android
2024-11-15 21:18:25 +01:00
Olivier Bouillet
3b4bfd3936
fix(android): add helper to avoid type error ( #4257 )
...
* fix(android): add helper to avoid type error
2024-10-24 11:43:10 +02:00
Olivier Bouillet
7501880062
fix: remove warning and refactor & fix ad workflow ( #4235 )
2024-10-17 21:56:06 +02:00
Olivier Bouillet
f04b233a40
chore: move minLoadRetryCount into source property ( #4233 )
2024-10-16 23:41:22 +02:00
Olivier Bouillet
a8d5841c7c
fix: ensure aspect ratio from video is handled in a coherent way ( #4219 )
...
* fix: ensure aspect ratio from video is handled in a coherent way
2024-10-12 13:51:57 +02:00
Krzysztof Moch
352dfbbc9b
fix(android): sideloaded subtitles ( #4232 )
2024-10-11 22:50:22 +02:00
HyunWoo Lee (Nunu Lee)
78f4f0480d
feat(exoplayerview): Migrate ExoPlayerView to kotlin ( #4038 )
2024-10-11 09:08:13 +02:00
Olivier Bouillet
d86adc52f3
Chore: rework ad props ( #4220 )
...
* fix: move ad configuration in source
2024-10-10 23:53:39 +02:00
Olivier Bouillet
9a3fcda3b8
feat: add setSource API function fix ads playback ( #4185 )
...
* feat: add setSource API function fix ads playback
2024-10-10 22:59:41 +02:00
Seyed Mostafa Hasani
d1883a7e00
feat(android): add settings button to control video playback speed ( #4211 )
2024-10-05 18:34:25 +02:00
Paul Rinaldi
40872f5ea7
fix(android) Use startForegroundService and do not delete the notification channel until onDestroy ( #4105 )
...
See https://developer.android.com/develop/background-work/services/foreground-services\#fgs-prerequisites
See rationale here https://stackoverflow.com/questions/45525214/are-there-any-benefits-to-using-context-startforegroundserviceintent-instead-o
Deleting the notification channel while the foreground service is still running is not permitted.
2024-10-03 08:23:17 +02:00
Seyed Mostafa Hasani
149924ffcb
feat(android): add live video label configuration ( #4190 )
2024-10-02 23:37:18 +02:00
Kamil Moskała
279cc0e5ed
feat(android): allow to hide specific controls ( #4183 )
...
* feat(android): enable to hide specific controls
* fix: ts
* fix: lint
* docs: update `controlsStyles` docs
2024-09-29 20:51:02 +02:00
Olivier Bouillet
3ecf324bb3
fix(android): bad rotation handling ( #4205 )
2024-09-29 20:48:44 +02:00
Olivier Bouillet
7f6b500c82
fix(android): ensure maxbitrate & selectedVideoTrack interact correctly ( #4155 )
2024-09-17 15:57:26 +02:00
Seyed Mostafa Hasani
1ef2b3a977
chore(android): add null check for id of videoFormat ( #4174 )
...
* chore(android): add null check for id of videoFormat
* chore: null check videoFormat.id on onBandwidthSample
* fix: PR feedback
* fix: linter error
* chore: update trackId fallback value
2024-09-17 14:11:02 +02:00
Seyed Mostafa Hasani
e57c7bda5d
feat(android): upgrade dependencies / media3 1.4.1 / androidxCore to 1.13.1 / androidxActivity 1.8.2 ( #4173 )
2024-09-16 13:54:51 +02:00
Olivier Bouillet
24d90e9ec8
chore(android): move contentStartTime into source prop ( #4160 )
2024-09-14 19:53:54 +02:00
Krzysztof Moch
b74cb59602
chore(android): add null checks ( #4168 )
2024-09-14 15:20:50 +02:00
Olivier Bouillet
84a27f3d9f
fix: refactor side loaded text tracks management ( #4158 )
...
* fix: refactor side loaded text tracks management
More textTracks in source.
android/ios: ensure text tracks are not selected by default
android/ios make textTrack field not nullable
clean up doc
check compatibility with the old api
Add comments on deprecated JS apis
Apply API change on basic sample
* chore: fix linter
* fix(ios): fix build with caching & remove warnings
2024-09-13 10:50:33 +02:00
Olivier Bouillet
b2fd8d62a1
fix(android): ensure pause is well tken in account after onEnd ( #4147 )
...
Issue linked to: https://github.com/TheWidlarzGroup/react-native-video/issues/2690
This original issue is not reproduced
2024-09-06 15:11:33 +02:00
Seyed Mostafa Hasani
4a2beaa147
chore(android): remove onBackPressed function in FullScreenPlayerView ( #4049 )
...
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2024-09-06 00:12:22 +02:00
whdudtod1273
22c21ad249
feat: Correct isBehindLiveWindow Error Handling ( #4143 )
...
* feat: Correct isBehindLiveWindow Error Handling
---------
Co-authored-by: young <young@afreecatv.com>
2024-09-04 09:54:08 +02:00
Olivier Bouillet
9707081ab9
Chore/rework fullscreen configuration ( #4142 )
...
* feat(android): handle navigation bar status in full-screen mode
* chore: update default value of prop
* chore(android): rework fullscreen configuration
---------
Co-authored-by: mostafahasani <seyedmostafahassani@gmail.com>
2024-09-04 09:53:30 +02:00
Seyed Mostafa Hasani
c51c061f43
chore(android): clean up ReactExoplayerView class ( #4141 )
2024-09-03 11:16:20 +02:00
Seyed Mostafa Hasani
8b8ebe9410
fix(android): show the status bar and navigation bar after exiting full-screen mode ( #4112 )
...
* fix(android): show the status bar and navigation bar after exiting full-screen mode
2024-09-03 08:59:24 +02:00
Olivier Bouillet
308447a5ba
Fix/track selection by title ( #4129 )
...
* chore(sample): make track selection by title possible
* fix(android): fix test for track selection by title
2024-09-02 19:10:39 +02:00
Olivier Bouillet
2fa6c43615
fix(android): add subtitleStyle.subtitlesFollowVideo prop to control subtitles positionning ( #4133 )
...
* fix(android): add subtitleStyle.subtitlesFollowVideo prop to control subtitles positionning
* docs: add new prop description
* docs: add supported platform for subtitleStyle
* chore: use constructor instead of parse
2024-09-02 16:13:06 +02:00
Guy Haguy
703ed43996
feat: add ads localize ( #4113 )
...
* add prop adLanguage; add docs
* add native code ios&android for adLanguage props
* add missing function to adsLoader and imafactory
* Update docs/pages/component/ads.md
Language correction
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
---------
Co-authored-by: Guy <guyha@reshet.tv>
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2024-08-29 12:30:05 +02:00
d2ab22b99f
wip
Build Android / Build Android Example App (pull_request) Has been cancelled
Build Android / Build Android Example App Without Ads (pull_request) Has been cancelled
Check Android / Kotlin-Lint (pull_request) Has been cancelled
2024-08-26 17:22:38 -06:00
2dcde42fd6
Add logs
2024-08-26 17:22:38 -06:00
c7a45d421b
Only complete seek if seek was in progress
2024-08-26 17:22:38 -06:00
f0db0a6868
kat wip
2024-08-26 17:22:38 -06:00
01b3322e03
Log in seek
2024-08-26 17:22:38 -06:00
Subin Yang
ca795f298a
feat(android): Support Common Media Client Data (CMCD) ( #4034 )
...
* feat(VideoNativeComponent.ts): add support for cmcd configuration in VideoSrc type to enable cmcd feature on android
feat(video.ts): introduce CmcdMode enum and CmcdConfiguration type to define cmcd configuration options
* feat(Video.tsx): add support for CMCD configuration in Video component to handle Content Management and Delivery (CMCD) headers for Android platform.
* feat(CMCDProps.kt): add CMCDProps class to handle CMCD related properties and parsing logic for React Native module
* feat(CMCDConfig.kt): add CMCDConfig class to handle CMCD configuration for ExoPlayer with support for custom data and configuration options.
* feat(ReactExoplayerViewManager.java): add support for CMCD configuration in ReactExoplayerViewManager to enable Content Management and Control Data (CMCD) for better video playback optimization.
* feat(ReactExoplayerView.java): add support for setting CmcdConfiguration.Factory to customize CMCD configuration for media playback
* feat(Source.kt): add support for CMCD properties linked to the source to enhance functionality and data handling
* docs(props.mdx): add documentation for configuring CMCD parameters in the component, including usage examples and default values
* refactor(ReactExoplayerViewManager.java): remove unused PROP_CMCD and prevCmcdConfig variables to clean up code and improve readability
* refactor(Video.tsx): simplify cmcd configuration logic for better readability and maintainability
* docs(props.mdx): improve props documentation for clarity and consistency
feat(props.mdx): add definitions for CmcdMode enum and CmcdData type to enhance understanding of CMCD data structure and usage
* refactor(CMCDProps.kt): refactor CMCDProps class to data class for improved readability and immutability
- update CMCDProps class to use List instead of Array for properties
* refactor(Video.tsx): refactor createCmcdHeader function to improve code readability and reduce duplication
* fix(CMCDProps.kt): remove import statement for CmcdConfiguration
* feat(ReactExoplayerView.java): add support for CMCD configuration in ReactExoplayerView component
feat(ReactExoplayerViewManager.java): remove redundant CMCD configuration logic from ReactExoplayerViewManager to simplify code and improve maintainability
* fix(Video.tsx): merge _cmcd memo into src memo for optimization
2024-08-22 10:47:51 +02:00
Kamil Moskała
65faba312d
fix(android): hide surfaceView for loading time when shutter is hidden ( #4060 )
...
* fix(android): hide surfaceView for loading time when shutter is hidden
* fix: hide/show surface view without casting
2024-08-22 10:37:58 +02:00
ashlyWeiting
41e2bed6b3
feat(android): support hiding Exoplayer video duration on android ( #4090 )
...
* feat: support for hiding duration on Android
* docs: add hideDuration property to control styles documentation
2024-08-21 10:05:40 +02:00
Seyed Mostafa Hasani
7e222e8fc4
fix(android): resolve a release issue with DefaultDashChunkSource ( #4097 )
2024-08-17 15:33:37 +02:00
Seyed Mostafa Hasani
b7d1cabf72
refactor(android): migrate DefaultDashChunkSource to Kotlin ( #4078 )
...
* refactor(android): migrate DefaultDashChunkSource to Kotlin
2024-08-13 09:58:31 +02:00
Krzysztof Moch
899bb822a5
fix(android): build warnings ( #4058 )
2024-08-07 14:39:41 +02:00
Seyed Mostafa Hasani
af0302b1b7
fix(android): return the value as a float for the getCurrentPosition function ( #4054 )
...
* fix(android): return value for getCurrentPosition function
* fix: remove additional casting
2024-08-05 11:58:33 +02:00
Seyed Mostafa Hasani
74c6dd6279
refactor(android): migrate ReactExoplayerViewManager to Kotlin ( #4011 )
...
* Rename .java to .kt
* refactor(android): migrate ReactExoplayerViewManager to Kotlin
* fix: lint error
* refactor: setPreventsDisplaySleepDuringVideoPlayback function
2024-08-02 10:52:08 +02:00