Commit Graph

2286 Commits

Author SHA1 Message Date
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
Olivier Bouillet
1b691f8e81 chore: release v6.4.5 2024-08-17 15:37:45 +02:00
Seyed Mostafa Hasani
7e222e8fc4
fix(android): resolve a release issue with DefaultDashChunkSource (#4097) 2024-08-17 15:33:37 +02:00
Krzysztof Moch
736594ed23
chore: release v6.4.4 2024-08-15 16:13:00 +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
Paul
c6ae17e41d
fix(ios): remove resume logic in notification seek closure (#4068) 2024-08-12 13:58:40 +02:00
Seyed Mostafa Hasani
cd41a1b234
chore(doc): update document (props & method) (#4072)
* chore: update method document

* chore: update method document

* chore: update method document

* fix: PR feedback

* chore: update description for controls prop
2024-08-12 13:55:10 +02:00
Krzysztof Moch
899bb822a5
fix(android): build warnings (#4058) 2024-08-07 14:39:41 +02:00
Krzysztof Moch
6c03d0a700
infra: update feature request form (#4065) 2024-08-07 14:33:16 +02:00
Krzysztof Moch
38aa2b057a
fix(ios): override source metadata with custom metadata (#4050)
Some checks are pending
Build iOS / Build iOS Example App (push) Waiting to run
Build iOS / Build iOS Example App With Ads (push) Waiting to run
Build iOS / Build iOS Example App With Caching (push) Waiting to run
Check CLang / CLang-Format (push) Waiting to run
Check iOS / Swift-Lint (push) Waiting to run
Check iOS / Swift-Format (push) Waiting to run
* fix(ios): override source metadata with custom metadata

* lint code
2024-08-05 11:59:49 +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
Mickael Lecoq
22cfd6cead
fix(android): viewType is ignored when its value is ViewType.TEXTURE (#4031) 2024-08-02 10:50:27 +02:00
Błażej Lewandowski
08a57a3ba3
fix(ios): metadata update race (#4033)
* fix metadata update race

* merge nowPlayingInfo instead of overriding it

* update method name

* fix code style
2024-08-02 10:49:52 +02:00
EETVApps
2348c5e42c
fix(ios): updated getLicense call to work with new syntax, and fixed spelling error (#4014) (#4042)
* fix(android): updated getLicense call to work with new syntax, and fixed spelling error (#4014)

* fix(android): corrected error with my refactor (#4014)

* fix(android): Removed trailing space (#4014)

* fix(ios): Refactored following review (#4014)

* fix(ios): Lint tidy (#4014)

* fix(ios): Removed incorrect semi-colon (#4014)

* fix(ios): Fixed more lint errors (#4014)

---------

Co-authored-by: Darren Taft <darren.taft@bt.com>
2024-08-02 10:42:20 +02:00
Krzysztof Moch
5abfb0d448
chore: release v6.4.3 2024-07-24 10:12:58 +02:00
Seyed Mostafa Hasani
fb1d6bdef7
fix: index of the selected track (#4012) 2024-07-24 10:08:37 +02:00
Seyed Mostafa Hasani
6189080c9a
feat(android): add error handling for Kotlin version (#4018)
* feat(android): add error handling for Kotlin version mismatch

* fix: lint error

* refactor: use variables from gradle file

* chore: downgrade required Kotlin version

* refactor: check Kotlin version

* refactor: kotlin variables in build.gradle

* refactor: kotlin variables in build.gradle

* chore(doc): update document

* chore: add dependency to build.gradle for a specific version of react-native

* fix: remove additional dependency
2024-07-24 10:07:19 +02:00
Kamil Moskała
adbd06e2df
feat: add ability to define poster props as Image type and render poster as custom component (#3972) 2024-07-22 22:38:35 +02:00
Olivier Bouillet
1ee5811c8e
fix(android): app crash at boot with old arch (#4022)
* 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

* Fix/ensure view drop stop playback startup (#3875)

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

* chore: fix app boot due to missing registered events

* chore: fix linter

* chore: fix build

* fix: handle code review feedbacks

* chore: revert previous change to handle only necessary fix
2024-07-22 10:56:58 +02:00
Olivier Bouillet
ffbc977ff9
fix(sample): boot failure on emulator (#4016)
* fix: disable coreLibraryDesugaringEnabled by default
2024-07-18 22:22:58 +02:00
lovegaoshi
9f382163d8
fix(android): resize mode cover calculation (#4010) 2024-07-18 10:53:50 +02:00
Krzysztof Moch
ab7e02e453
fix(android): fix backward compatibility (#4020) 2024-07-18 10:51:57 +02:00
Seyed Mostafa Hasani
76d5e93c17
refactor(android): migrate BecomingNoisyListener interface to Kotlin (#3996)
* Rename .java to .kt

* refactor(android): migrate BecomingNoisyListener interface to Kotlin

* remove: java file (AudioBecomingNoisyReceiver.java)
2024-07-18 09:11:07 +02:00
Igor Malgrab
2f70c02cdc
feat(android): set originalFitsSystemWindows on fullscreen open (#4013) 2024-07-17 12:29:38 +02:00
Kamil Moskała
7611da155f
chore(sample): refactor sample code to follow rn best practices (#3990)
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2024-07-15 23:29:23 +02:00
Krzysztof Moch
8ef2df1bac
chore: release v6.4.2 2024-07-15 12:52:15 +02:00
Krzysztof Moch
5cd5e5efe7
fix(android): resolve compatibility issue 2024-07-15 12:29:57 +02:00
Seyed Mostafa Hasani
0104fbbbf3
chore(android): migrate FullScreenPlayerView to Kotlin (#3969)
* Rename .java to .kt

* chore(android): migrate FullScreenPlayerView to Kotlin

* refactor: onBackPressed function

* refactor: fullScreen button function

* fix: lint error

* chore: revert onBackPressed function
2024-07-15 12:04:49 +02:00
Seyed Mostafa Hasani
4b8d09e61f
fix(android): exit fullscreen mode after finishing video playback (#3978) 2024-07-15 12:04:19 +02:00
Seyed Mostafa Hasani
5abc223db8
refactor(android): migrate AudioOutput to Kotlin (#3993)
* Rename .java to .kt

* refactor(android): migrate AudioOutput to Kotlin

* fix: lint error

* refactor: rename of variables
2024-07-15 12:01:32 +02:00
Seyed Mostafa Hasani
df9ffde5fa
refactor(android): migrate ReactExoplayerConfig to Kotlin (#3994)
* Rename .java to .kt

* refactor(android): migrate ReactExoplayerConfig to Kotlin
2024-07-15 11:58:07 +02:00
Seyed Mostafa Hasani
4e7c64e707
refactor(android): migrate ReactExoplayerLoadErrorHandlingPolicy to Kotlin (#3995)
* Rename .java to .kt

* refactor(android): migrate ReactExoplayerLoadErrorHandlingPolicy to Kotlin
2024-07-15 11:30:53 +02:00
Seyed Mostafa Hasani
bed9b8e4d9
refactor(android): migrate AudioBecomingNoisyReceiver to Kotlin (#3997)
* Rename .java to .kt

* refactor(android): migrate AudioBecomingNoisyReceiver to Kotlin

* fix: lint error

* chore: initialize appContext with context.applicationContext
2024-07-15 10:17:07 +02:00
YangJH
79c30767fc
fix(ts): make multiDrm prop optional type (#3999) 2024-07-15 10:15:44 +02:00
Kamil Moskała
0a55ace0ca
fix(android): handle aspect ratio for rotated videos (#4000) 2024-07-15 10:15:29 +02:00
YangJH
f82268be1b
fix(android): fix onVideoLoad event field key (#4001)
* fix(android): fix onVideoLoad event naturalSize field key

* fix(android): fix onVideoLoad event currentTime field key
2024-07-15 10:14:56 +02:00
YangJH
05623c9f54
fix(android): fix android notification controller order (#4002) 2024-07-15 10:14:31 +02:00
Kamil Moskała
38bcfa2f6a
chore(example): update MultiValueControl types (#4003) 2024-07-15 10:13:21 +02:00
Seyed Mostafa Hasani
39cf477ceb
fix(example/basic): select resizeMode (#3989)
* fix(example/basic): select resizeMode

* chore: refactor the onResizeModeSelected function
2024-07-12 13:42:36 +02:00
Krzysztof Moch
21e78ea2c1
chore: release v6.4.1 2024-07-12 10:53:41 +02:00
YangJH
c2084c2ace
refactor: internal refactor for prepare new arch (#3980)
* chore(js): fix typo

* refactor(js): refactor type code for codegen

* refactor(js): refactor Video component

- parse shutterColor value within JS
- remove internal fullscreen state

* chore(js): add deprecation warning comment

* fix(js): fix return type

* fix(js): fix import path

* refactor(android): apply changed API for new arch

* refactor(ios): apply changed API for new arch

* fix(ios): fix wrong name

* refactor: refactor VideoDecoderProperties

- rename and add wrapper

* refactor(android): Code fixes for backward compatibility with Kotlin
2024-07-12 10:27:42 +02:00
Krzysztof Moch
de8ade0620
fix: expo plugin export (#3992) 2024-07-11 22:52:10 +02:00
Krzysztof Moch
f05d190ae6
chore: release v6.4.0 2024-07-11 13:08:45 +02:00
Krzysztof Moch
40a72825e6
fix(ios): remove pip check for other platforms (#3991)
* fix(ios): remove pip check for other platforms

* Update ios/Video/RCTVideo.swift
2024-07-11 12:54:54 +02:00