YangJH
8dc10fd4b7
feat(web): implement web pip method and event ( #4370 )
...
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2025-01-18 15:19:55 +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
Zoe Roux
5fa77c4562
Add react-native-web support ( #3958 )
...
Co-authored-by: Kamil Moskała <91079590+moskalakamil@users.noreply.github.com>
2024-11-13 21:19:57 +01: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
Kamil Moskała
b66d2fe146
docs: add ios platform for onBandwidthUpdate
callback ( #4145 )
2024-09-04 11:08:49 +02:00
Krzysztof Moch
111a5d2163
feat: add isSeeking
to onPlaybackStateChanged
( #3899 )
...
* feat: add `isSeeking` to `onPlaybackStateChanged``
* refactor `onSeek` event emit logic
* fix rebase
2024-07-11 10:08:36 +02:00
Ash Mish
c2ce372bcf
feat(android): add onControlsVisiblityChange
( #3925 )
...
* Adding onControlsVisiblityChange for Android
2024-06-22 11:15:21 +02:00
Olivier Bouillet
b698b1837b
fix(android): video resolution orientation android ( #3862 )
...
* fix(android): ensure width/heigh respect rotation of the video + Add rotation info in onVideoTrack event
2024-05-31 18:53:24 +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
4c63988d12
docs: review and clean up ( #3730 )
...
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
* chore: reorder drm props
* chore: reorder events
* docs: move onAudioTracks to events
* docs: reorder and clean <PlatformsList from methods
* docs: fix props case naming
* docs: fix ordering
* docs: fix ordering & remove trackId
* chore: remove sample build from installation page
* docs: remove outdated information
* docs: remove beta information from doc landing page
2024-05-04 14:36:39 +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
e8ce4979b3
docs: no onSeek callback with controls on iOS ( #3701 )
...
* 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
* doc: indicate that onSeek is not reported when controls are enable on iOS
2024-04-23 09:01:50 +02:00
Olivier Bouillet
2633f087d2
doc: fix table format ( #3649 )
2024-04-03 22:19:13 +02: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
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
4fc7d2788b
fix(docs): fix build ( #3571 )
2024-03-08 13:04:27 +01:00
Dominik Danielewicz
962ca2d195
docs: update platforms in properties tab ( #3562 )
...
* docs: update platforms in properties tab
* docs: update platforms in drm, events and methods tab
2024-03-08 12:48:01 +01:00