Olivier Bouillet
e26afac403
fix(ios): workaround for rate change ( #3657 )
...
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix(ios): add a workaround for smooth rate change management
2024-04-07 19:04:43 +02:00
Olivier Bouillet
4c7719a3f5
fix: ensure tracks are available in sample ( #3660 )
...
* fix(ts): onPlaybackRateChangeData was not correctly typed
* fix: ensure tracks are well displayed in the sample
2024-04-07 19:02:39 +02:00
Krzysztof Moch
07f71c2fc4
fix(ios): apply PictureInPicture state on start ( #3655 )
2024-04-05 10:37:00 +02:00
Olivier Bouillet
d6941392e0
fix: ensure poster works as expected and add it to the sample ( #3643 )
...
* fix: ensure poster works as expected and add it to the sample
* chore: drop audioOnly property as not implemented on any platform
* fix(ios): do not save pause state before seeking
* fix(ts): onPlaybackRateChangeData was not correctly typed
2024-04-05 10:35:57 +02:00
Gaëtan Kueny
051e884c8f
fix(ios): call PictureInPicture callbacks with native controls ( #3603 )
...
* fix(ios): call PictureInPictureStatusChanged callback with native controls
We add RCTPlayerObserver as playerViewController delegate to be notified with PiP lifecycle
should partially fix #3602
* fix(ios): call onRestoreUserInterfaceForPictureInPictureStop callback with native controls
should partially fix #3602
2024-04-04 15:08:48 +02:00
Krzysztof Moch
10b100de44
feat!(ios): remove native dependency promises
( #3631 )
2024-04-04 13:23:44 +02:00
Olivier Bouillet
75d370742b
fix(ios): fix regression when playing source starting with ph:// ( #3630 )
2024-03-29 19:47:04 +01:00
Gaëtan Kueny
bb9e7eb5a5
fix(ios): fix PiP callback ( #3601 )
2024-03-26 14:10:31 +01:00
YangJH
36bd2e2d71
fix(ios): fix startPosition, cropStart and cropEnd to handle float values correctly ( #3589 )
...
* refactor(ios): refactor setPlaybackRange function
* fix(ios): fix props to handle float values correctly
- fix startPosition, cropStart, cropEnd
* refactor(ios): apply lint
2024-03-22 13:43:46 +01:00
Olivier Bouillet
41c6785ee8
fix(ios): ensure playback stopped in background ( #3587 )
...
* feat!: move require source to `uri`
* pass other source properties
* chore: update basic example
* chore: restore backward compatibility
* docs: update source via require
* fix types
* make docs build workflow pretty
* doc: keep previous doc and add more info
* fix: do not pause playback in handlePlaybackLikelyToKeepUp
and review onBuffer event (not yet clean)
---------
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
2024-03-15 12:02:17 +01:00
Olivier Bouillet
429fddf3b0
Fix(ios): fix real time issue when fast zapping ( #3582 )
...
* fix(ios): fix real time issue when doing fast zapping
* fix(ios): fix delay implementation (timing was not applied correctly)
* chore: fix random crash in sample
* chore: fix linter
2024-03-14 11:46:45 +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
Krzysztof Moch
90b31af2c9
fix(ios): don't crop video when in repeat mode ( #3575 )
2024-03-10 21:12:47 +01:00
coofzilla
253ffb5956
feat(ios): Add ios support for accessing WebVTT Subtitle Content ( #3541 )
...
* feature: add support to get subtitle content data
* refactor: return a string of the subtitles
Push the parsing/formatting to the consumer side.
* chore: add types for new subtitle feature
* chore: run swiftlint and swiftformat
* chore: add documentation for new onSubtitleTracks callback
* chore: added test uri; basic implementation of feature; hotfix onTextTracks
added optional chaining for `return x?.selected` because tracks that don't have a track selected either by default or manually will return undefined and this can cause an error.
* feat: rename onSubtitleTracks to onTextTrackDataChanged
Renamed the onSubtitleTracks event to onTextTrackDataChanged across the codebase to clearly indicate the callback's purpose: being called when the text track's data changes. This change is reflected in the events documentation, example usage in VideoPlayer.tsx, and the relevant iOS implementation files for consistency and clarity, in line with PR feedback.
* chore: omit target property
target could be confusing for users so we have removed it. using the delete operator instead of using {target,...eventData} as that would give an eslint error about unused vars.
2024-02-29 14:41:04 +01:00
Gaëtan Kueny
4d4b56c05d
fix(ios): Do not crash when accessLog return nil ( #3549 )
...
accessLog method can return nil if no logging information are currently available (see https://developer.apple.com/documentation/avfoundation/avplayeritem/1388499-accesslog ).
So we handle this case & do not call onVideoBandwidthUpdate
fix https://github.com/react-native-video/react-native-video/issues/3424
2024-02-29 14:40:11 +01:00
Krzysztof Moch
2c0e009876
fix(ios): apply cropStart
when in repeat mode ( #3525 )
2024-02-08 14:59:33 +01:00
Krzysztof Moch
9306d9a15d
fix(ios): fix tvOS build ( #3524 )
2024-02-08 14:59:13 +01:00
Olivier Bouillet
6a49cba273
feat: implement onAudioTracks and onTextTracks on ios ( #3503 )
...
* feat: implement onAudioTracks and onTextTracks on ios
* chore: lint code
* fix: rework previous fix to fix linter and be more aligned with architecture
---------
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2024-02-01 08:56:00 +01:00
Krzysztof Moch
53068ddd41
fix(ios): fix pip memory leak ( #3506 )
...
* fix(ios): fix pip memory leak
* lint code
2024-01-30 08:33:33 +01:00
Krzysztof Moch
cf3ebb7f15
feat: add visionOS support ( #3425 )
...
* feat: add visionOS to target platforms
* disable unsupported API
* add temporary `promises` patches
* fix(visionOS): update promises patches
* apply code review suggestions
* format code
2024-01-15 08:04:29 +01:00
Bryan
8f1bdb7c36
Externally loaded text tracks not loading properly ( #3461 )
...
* fix text tracks
* keep map
* use where
* update change log
* fix build error
2024-01-15 07:31:22 +01:00
Kubessandra
3f63c161eb
fix(ios): currentPlaybackTime in ms and not seconds ( #3472 )
2024-01-14 03:08:34 +01:00
Krzysztof Moch
5aaa53d8b8
feat(ios): migrate from deprecated methods ( #3444 )
...
* feat(ios): migrate from deprecated methods
* fix types
2024-01-06 20:06:53 +01:00
Krzysztof Moch
2ed3949307
chore(linter/swift): add shorthand_optional_binding
rule ( #3456 )
...
* chore(linter/swift): add `shorthand_optional_binding` rule
* lint code
2024-01-04 20:16:23 +01:00
Krzysztof Moch
481cc71eda
feat(ios): update timed metadata handler ( #3449 )
...
* feat(ios): update timedmetadata handler
* chore: move metadata output delegate to main queue
* code clean
* apply code review nit
2024-01-04 14:14:51 +01:00
Krzysztof Moch
f35727f30e
feat(ios): update the way to get keyWindow
( #3448 )
...
* feat(ios): update the way to get `keyWindow`
* lint
2023-12-28 12:58:25 +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
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
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
Krzysztof Moch
1ba93f9e9d
fix(ios): change isPlaybackLikelyToKeepUp check ( #3357 )
2023-11-17 17:35:22 +01:00
Krzysztof Moch
782e7e0df1
fix(ios): fix external text tracks crashes with m3u8 files ( #3330 )
...
* fix(ios): fix crash when using textTracks with m3u8
* docs: add warning to `textTracks` prop
* chore: apply code review
* chore: remove indents
2023-11-17 08:19:39 +01:00
Olivier Bouillet
8777b0a35e
Fix(ios): another video caching fix ( #3348 )
...
* fix: another fix from video caching
---------
Co-authored-by: olivier <olivier.bouillet@ifeelsmart.com>
2023-11-16 22:13:53 +01:00
Krzysztof Moch
9054db35d7
feat(ios): add onBandwidthUpdate event ( #3331 )
...
* feat(ios): add onBandwidthUpdate event
2023-11-08 22:06:29 +01:00
YangJH
7f49b56027
fix(ios): fix wrong fullscreen method definition ( #3338 )
2023-11-08 19:04:39 +01:00
Andrii Drobiazko
722ae3477a
fix(ios): player is frozen after re-focusing on the app ( #3326 )
...
* [bugfix] player is frozen after re-focusing on the app
* Fix playback rate on resume
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
---------
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
Co-authored-by: Krzysztof Moch <krzysmoch.programs@gmail.com>
2023-11-06 10:20:42 +01:00
Krzysztof Moch
cdbc856387
feat: add onVolumeChange
event ( #3322 )
...
* feat: implement `onVolumeChange` event
2023-11-04 18:11:54 +01:00
Krzysztof Moch
286418e4a5
fix(ios): remove false calls at onPlaybackRateChange
( #3306 )
2023-10-24 22:10:29 +02:00
Krzysztof Moch
9373493d6a
feat(ios): implement onPlaybackStateChanged callback ( #3307 )
...
* chore: fix typo
* feat(ios): implement onPlaybackStateChanged
* docs: update onPlaybackStateChanged platforms
2023-10-23 18:23:57 +02:00
Krzysztof Moch
7fd7b3ff32
feat: refactor resize prop handler ( #3286 )
2023-10-11 21:56:54 +02:00
Craig Martin
0ad2e52499
Fix: iOS - audio does not work with headphones ( #3284 )
...
* Fix: Make AVAudioSession.Category.playAndRecord opt-in
* Fix: Call configureAudio when audioOutput is changed
* Update CHANGELOG.md
2023-10-09 22:27:29 +02:00
Konstantin
a855284d8d
feat(tvos): add custom image metadata option for tvos and add missing types for custom metadata properties ( #3280 )
...
* fix: add typescript types for custom metadata properties
* chore: add possibility to override image metadata of video playback
---------
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2023-10-07 15:14:10 +02:00
Konstantin
7b6b84c8cb
fix(tvOS): compile issues with tvOS linked to earpiece & pip ( #3276 )
2023-10-06 18:42:53 +02:00
Facundo Gutierrez
f4acaccd80
fix(ios): fairplay different key per asset ( #3261 )
...
* [Fix] Replace _loadingRequest instance with _loadingRequests dictionary to support multiple concurrent requests
* Remove stored finished requests from dictionary
* Keep contentId as is, and send loadingRequest.url in licenseUrl.
* Update DRM.md
---------
Co-authored-by: Facundo Gutierrez <facundo.gutierrez@tcc.com.uy>
2023-10-05 21:37:28 +02:00
Olivier Bouillet
0655e9d273
Merge pull request #3239 from iFeelSmart/fix/compile_xcode_17_beta
...
fix: fix build on xcode 17 beta
2023-09-27 22:06:04 +02:00
Olivier Bouillet
01a47840be
Merge pull request #3248 from yooasd11/master
...
fix: Player shows black screen on re-enter (iOS)
2023-09-20 11:00:56 +02:00
Coco
be8cdfdd33
[bugfix] Player shows black screen on re-enter
2023-09-19 17:42:48 +09:00
lrusso
59236c7034
fix: not showing video ads in pip mode
2023-09-17 16:12:46 -03:00
olivier
a18953e701
fix: fix build on xcode 17 beta
2023-09-14 22:41:42 +02:00
Olivier Bouillet
a0fa8312ba
Merge pull request #3216 from Duell10111/tvos-custom-playback-exerpience-fork
...
feat: allow customization of tvOS playback expierence
2023-09-13 21:27:37 +02:00
Konstantin Späth
33c0be449a
chore: outsource functions to own utils file
2023-09-09 16:15:51 +02:00
Olivier Bouillet
267181be73
Merge pull request #3230 from iFeelSmart/fix/presentFullscreenPlayerImplementation
...
fix: implement lost presentFullscreenPlayer & dismissFullscreenPlayer
2023-09-05 18:48:17 +02:00
olivier
ddc87acf84
fix: implement lost presentFullscreenPlayer & dismissFullscreenPlayer
...
These apis has been removed during swift porting
2023-09-04 23:57:45 +02:00
Olivier Bouillet
30dac90959
Merge pull request #3221 from lrusso/master
...
Fixing the PIP mode on iOS
2023-09-04 23:42:01 +02:00
Olivier Bouillet
0bf7f70e24
Merge pull request #3211 from mysport12/master
...
Feature: audioOutput - Play over phone earpiece
2023-08-31 08:25:12 +02:00
lrusso
03cba605ea
preventing the iOS pip to be closed automatically when sending to the background
2023-08-30 22:22:31 -03:00
lrusso
7c8244bd07
activating the audio session
2023-08-30 01:45:06 -03:00
lrusso
a0450e026c
activating the audio session
2023-08-30 01:43:22 -03:00
lrusso
35256062d9
fixing PIP mode on iOS
2023-08-28 14:55:34 -03:00
Konstantin Späth
ae17aa747e
chore: fix iOS build for custom metadata
2023-08-25 12:54:37 +02:00
Konstantin Späth
6cbc7cdc89
chore: add chapter images
2023-08-25 12:54:37 +02:00
Konstantin Späth
b225b0f800
chore: add custom titles, description and chapters
2023-08-25 12:54:37 +02:00
Craig Martin
db6e73e035
Merge remote-tracking branch 'upstream/master'
2023-08-22 22:31:30 -04:00
Konstantin Späth
a7a03901f2
fix: fix tvos available compile errors
2023-08-13 14:58:57 +02:00
Craig Martin
dc3e83a3d5
Merge remote-tracking branch 'upstream/master'
2023-07-27 16:24:11 -04:00
aravind
ccff99faff
fix ios block ui issue
2023-07-12 12:41:48 +05:30
Cedric Guinoiseau
71c3c5c940
Revert "fix: issue 2744, call replaceCurrentItem in dispatch thread"
...
This reverts commit 12d7dd6d8b
.
2023-07-09 20:44:58 +02:00
Cedric Guinoiseau
238daf8720
fix: issue 3085, onFullscreen call backs are never fired
2023-07-06 11:16:49 +02:00
Cedric Guinoiseau
50b3650e2f
fix: memory leak due to [weak self] and delegate not being weak
2023-07-06 09:52:33 +02:00
Cedric Guinoiseau
d526479fe0
fix: issue 3040, prevent crash
2023-07-06 09:37:02 +02:00
Cedric Guinoiseau
12d7dd6d8b
fix: issue 2744, call replaceCurrentItem in dispatch thread
2023-07-06 09:33:05 +02:00
Craig Martin
dc41c65d62
Fix audio output not being properly set for iOS
2023-04-14 15:12:13 -04:00
Olivier Bouillet
afcde3e335
Merge branch 'master' into AndroidRangePlayback
2023-04-05 22:49:22 +02:00
Olivier Bouillet
89454311d5
Merge pull request #3077 from francescoben/bug/3068_ios_ads_muted
...
fix: iOS Ads are reproduced with sound even if muted or volume set to 0
2023-04-05 22:40:38 +02:00
Olivier Bouillet
d5f12b92f3
Merge pull request #3064 from Sunbreak/fix-current-time
...
fix: remove undocumented currentTime property
2023-04-05 22:26:25 +02:00
Craig Martin
daabb91475
Allow audio output via earpiece
2023-04-02 14:02:56 -04:00
Francesco Benigno
9519c7bae7
set the ad volume to 0 when the player is muted on iOS
2023-03-28 13:14:48 +02:00
Sunbreak
2ef2b8eb98
fix: remove undocumented currentTime property
2023-03-15 08:13:09 +08:00
olivier
4aca30d308
fix: disable Google IMA by default on ios. now shall be enabled in project podfile
2023-03-12 23:29:03 +01:00
Yavor Ivanov
3266eb2d67
Merge remote-tracking branch 'official/master'
2023-02-13 15:39:22 +02:00
Olivier Bouillet
947fa90634
Merge pull request #3018 from iFeelSmart/chore/review_ios_logs
...
chore: review logs & add RNV prefix for easier filtering
2023-02-09 22:00:25 +01:00
Olivier Bouillet
934273b0c5
Merge pull request #3027 from iFeelSmart/chore/enable_IMA_on_demand
...
Chore/enable ima on demand
2023-02-09 21:41:08 +01:00
Yavor Ivanov
029542721e
Merge remote-tracking branch 'official/master'
2023-02-08 09:47:30 +02:00
Yavor Ivanov
fe5fc543b9
Corrected currentTime & playableDuration when using start & end time
2023-02-07 22:50:54 +02:00
Yavor Ivanov
0f6057bea5
Seeking to start time
2023-02-06 23:31:14 +02:00
Yavor Ivanov
7da44c238f
iOS playback range
2023-02-06 23:00:26 +02:00
olivier
0e0ff18b27
fix(ios): ensure audio and subtitle tracks are well reported
2023-01-28 14:54:01 +01:00
olivier
d825d0e6bc
chore: review logs & add RNV prefix for easier filtering
2023-01-28 14:50:18 +01:00
olivier
2032a36969
fix(ios): ensure controls are not displayed when disabled by user
2023-01-28 14:40:45 +01:00
PierluigiCod
36af01cc7b
fix issue #3009
2023-01-23 16:49:46 +01:00
Nikita Likhachev
603b851d5f
fix reference self. explicitly
2022-12-22 13:17:33 +07:00
Nikita Likhachev
504ec387bf
iOS app crashes on call to presentFullScreenPlayer #2808
2022-12-22 13:07:06 +07:00
wood1986
2a69c16264
fix: ios build error due to missing push
2022-12-21 13:11:09 -08:00
Olivier Bouillet
ae6bbacb72
Merge pull request #2969 from wood1986/fix-ios-build-error
...
fix: fix ios compile issue
2022-12-21 21:30:41 +01:00
wood1986
0d6c50756c
fix: fix ios compile issue
2022-12-21 11:35:54 -08:00
wood1986
ee1217d95e
fix: fix the wrong merge conflict
2022-12-17 13:43:18 -08:00
wood1986
1f27ffbc81
fix: fix the kvo compliance crash when rapidly switching source
2022-12-17 13:33:49 -08:00
Olivier Bouillet
92fe61acb1
Merge branch 'master' into master
2022-12-09 22:15:55 +01:00
happyfloat
fffe9731c7
Update RCTVideo.swift
...
Prevents a crash in my case: https://github.com/react-native-video/react-native-video/issues/2723#issuecomment-1336130120
2022-12-07 12:16:03 +01:00
Axel Vencatareddy
73dde32cce
[IOS ADS] Fix missing self in closure
2022-11-17 12:24:49 +01:00
Axel Vencatareddy
9386955ab0
[IOS ADS] Setup ads only if adTagUrl present
2022-11-17 12:12:50 +01:00