Commit Graph

147 Commits

Author SHA1 Message Date
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
Axel Vencatareddy
fa817264fc [ADS] Create RCTIMAAdsManager class 2022-11-17 12:01:29 +01:00
Axel Vencatareddy
f521f8f0dc [ADS] Add play/pause capability while ad is playing 2022-11-14 13:42:39 +01:00
Axel Vencatareddy
f54288c54d [IOS] Fix ads when no controls displayed 2022-11-14 11:49:15 +01:00
Axel Vencatareddy
d6da11d8ef [IOS] Convert Ads functionality to swift 2022-11-10 11:43:59 +01:00
Axel Vencatareddy
2770ab553c [IOS] Clean swift file of every space padded lines 2022-11-09 17:26:12 +01:00
wood1986
86a89eaed2 fix: fix memory leak for iOS 2022-11-04 00:53:02 -07:00
olivier bouillet
2efa746eed fix(ios): ensure we stop playback on invalid or empty url 2022-10-02 21:33:53 +02:00
olivier bouillet
1d4665f9e8 Revert "type _eventDispatcher as RCTEventDispatcherProtocol"
This reverts commit 537d36cf60.
2022-09-14 08:08:07 +02:00
Stipe Perković
02081857f0 fix indent 2022-09-06 12:55:00 +02:00
Stipe Perković
6e6ae9d7c9 IOS: fix ui frame drop on load 2022-09-06 12:13:54 +02:00
陈曦
fcea0ffcea refactor: 💡 support camera video for swift 2022-07-27 21:13:47 +08:00
Eran Hammer
553e51c639
Port of #2329 2022-06-21 23:30:55 -07:00
Igor Tironi
537d36cf60 type _eventDispatcher as RCTEventDispatcherProtocol 2022-06-14 15:50:22 -07:00
Nick Fujita
68b9db4d11
iOS Swift Conversion (#2527)
Converts iOS implementation from Objective-c to Swift

# During the conversion process some updates to the code structure were also made
- Modularize codebase from single file to smaller focused files
- Untangled large nested IF statements
- Added more null checks, since Swift is more strict with null pointers
- Added property to allow for decoding of local video sources with self contained key for offline playback
- Updates example apps to test react-native 0.63.4 and uses auto native dependency imports for android and ios
2022-05-19 22:29:25 +09:00