Commit Graph

2405 Commits

Author SHA1 Message Date
Olivier Bouillet
835186a321
fix(JS): improve loader api to allow function call instead of component (#4171) 2024-09-17 15:58:47 +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
Amin Meshk
0538b3b468
fix(expo-plugin): add check for existing service in AndroidManifest for notification controls (#4172)
* fix: add check for existing VideoPlaybackService in AndroidManifest

* Update src/expo-plugins/withNotificationControls.ts

Co-authored-by: Seyed Mostafa Hasani <seyedmostafahassani@gmail.com>

* fix: comment spacing

---------

Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Co-authored-by: Seyed Mostafa Hasani <seyedmostafahassani@gmail.com>
2024-09-17 14:09:39 +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
7118ba6819
chore(ios): remove some warnings (#4159) 2024-09-13 10:49:43 +02:00
Krzysztof Moch
2c1fc964bf
fix(visionOS): remove unsupported apis (#4154) 2024-09-09 15:46:53 +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
Olivier Bouillet
809a730198
fix(ios): ensure onBandwidthUpdate is reported only when value change (#4149)
* fix(ios): ensure onBandwidthUpdate is reported only when value change

* chore: fix PodFile.lock
2024-09-06 15:11:12 +02:00
Olivier Bouillet
e18769ab3a
fix(sample): remove warning on ios with NavigationBar (#4148)
* fix(sample): remove warning on ios with NavigationBar
2024-09-06 09:45:24 +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
Gunnar Carlson
bee4123402
fix(ios): losing subtitle selection on foreground (#3707) 2024-09-05 10:41:27 +02:00
Olivier Bouillet
b871d937a3 chore: release v6.5.0 2024-09-04 11:47:49 +02:00
Kamil Moskała
b66d2fe146
docs: add ios platform for onBandwidthUpdate callback (#4145) 2024-09-04 11:08:49 +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
Olivier Bouillet
d6bae3cd07
fix(ios): fix onBandwidth update event (old ios api is deprecated and doens't work) (#4140) 2024-09-03 15:33:43 +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
89df9d69ff
fix(ios): ensure we don't disable tracks when not necessary (causes black screen) (#4130) 2024-09-02 19:08:27 +02:00
Olivier Bouillet
fbe570d62f
Fix/allow text track selection by index (#4124)
* fix(ios): ensure behavior is correct with empty text track list
* fix(ios): add index to text tracks reported
2024-09-02 17:01: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
Olivier Bouillet
688d98d68f
fix(tvos): fix build (and update sample) (#4134)
* fix(tvos): fix build (and update sample)
2024-09-02 15:42:51 +02:00
Olivier Bouillet
3a32d67087
fix(ios): ensure behavior is correct with empty text track list (#4123)
* fix(ios): ensure behavior is correct with empty text track list
2024-09-02 15:40:38 +02:00
Olivier Bouillet
7a2b4014f4
fix(sample): update dependencies to fix local asset playback (#4121)
* fix(sample): align dependencies and fix local asset playback
2024-09-02 15:40:10 +02:00
Olivier Bouillet
fb3c0da6af
chore(sample): additionnal sample cleanup (#4122)
* chore: move MultiValueControl & toggleControl to component
* fix(sample): fix import / export to avoid circular deps
* chore(sample): fix warning
2024-08-31 18:32:32 +02:00
Błażej Lewandowski
451806c547
fix(expo-plugin): adding bg mode if none exist yet (#4126) 2024-08-31 15:10:52 +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
Wojciech Ogrodowczyk
9c38d9f4ef
fix(ios): Add handler for Earpods play/pause command (#4116) 2024-08-29 12:28:27 +02:00
Olivier Bouillet
0576eacfdd
fix(VisionOS): do not access to isExternalPlaybackActive on VisionOS (#4109) 2024-08-29 12:27:07 +02:00
f72b44d4df Merge pull request 'Implement onSeekComplete for Android' (#5) from kat/temp-4 into master
Some checks failed
Build Android / Build Android Example App (push) Has been cancelled
Build Android / Build Android Example App Without Ads (push) Has been cancelled
Check Android / Kotlin-Lint (push) Has been cancelled
Reviewed-on: #5
2024-08-26 17:23:32 -06:00
d2ab22b99f wip
Some checks failed
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
Kamil Moskała
24c99f03b9
chore: add space to validator text (#4111) 2024-08-26 17:25:15 +02:00
Krzysztof Moch
ffa5044e23
infra: add posibility to skip issue validation 2024-08-23 10:53:51 +02:00
Krzysztof Moch
7db7024cb3
fix: set does not have find method (#4110) 2024-08-22 11:22:11 +02: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
Błażej Lewandowski
b05201a9fa
fix crash on source change, if the app was put in bg beforehand (#4074) 2024-08-22 10:30:23 +02:00
Faustino Kialungila
0a1085ce03
fix(ios): build fail due to an unwrapped value (#4101)
* fix: ios build crash due to AVMediaSelectionGroup not being unwrapped

* fix: use shorthand optional binding

* fix: disable swiftlint shorthand_optional_binding for guard let

* fix(ios): use guard do catch

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

---------

Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
2024-08-21 10:26:32 +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
Krzysztof Moch
4611284247
infra: add issue validator and stale action (#4061)
* infra: update stale action

* infra: add issue validator

* code clean

* add missing labels

* fix reproduction check

* code clean

* add version check

* fix version check

* add missing label

* add note to version message

* code clean

* update stale message
2024-08-21 09:55:45 +02:00
13beae1401 Merge pull request 'Implement ios onSeekComplete' (#3) from kat/seek-complete-ios into master
Some checks failed
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 CLang / CLang-Format (push) Has been cancelled
Check iOS / Swift-Lint (push) Has been cancelled
Check iOS / Swift-Format (push) Has been cancelled
Reviewed-on: #3
2024-08-20 22:37:10 -06:00