Commit Graph

1421 Commits

Author SHA1 Message Date
Preetam D'Souza
24434f44c2 Fix NPE with null codecInfo 2022-01-14 23:48:11 -05:00
Tuan Luong
7373761a4c check null before trigger action 2021-12-12 13:47:50 +07:00
Tuan Luong
859a0b8447 Merge https://github.com/react-native-video/react-native-video into feature/android-fullscreen 2021-12-12 13:17:12 +07:00
Iagor Moraes
28d3ec42b8 update CHANGELOG.md 2021-12-09 15:28:00 -03:00
Iagor Moraes
e7c009d908 add repository dependency and patch version 2021-12-09 15:23:48 -03:00
mike castleman
d10f7c5b85
clarify onProgress documentation
The docs for `progressUpdateInterval` say that the value is in milliseconds, but the docs for `onProgress` said that the value was in seconds. This fixes the latter documentation to be consistent with the former.
2021-12-06 12:44:47 -05:00
Gabriel Rivero
aa63361695
VEX-6030: Further prevent memory crashes (#15)
This PR is intended to prevent memory crashes when the free memory runs out

Jira: VEX-6030
https://jira.tenkasu.net/browse/VEX-6030

Velocity PR: crunchyroll/velocity#2043

By forcefully calling the garbage collector the memory crashes, specially on lower resolutions (<720p) are gone on devices with 2GB of ram or less and Android 6, also testing 3GB Android 7 with this patch, so far is working as intended

Reviews
Major reviewer (domain expert): @nickfujita
Minor reviewer: @jctorresM
2021-11-17 14:58:27 -04:00
Gabriel Rivero
ab202c96b6 typo 2021-11-16 21:40:38 -04:00
Gabriel Rivero
2b310cbf7e force garbage collector when free memory reaches 0 2021-11-16 20:35:30 -04:00
namrog84
79d6ebf99e remove unsupported arch and fix uimanager for rnw release 2021-11-15 15:57:24 -08:00
Gabriel Rivero
292b53916a
VEX-6030: Reduce buffer size based on heap (#13)
This PR changes the behavior on old devices that have poor memory management.

Jira: VEX-6030
https://jira.tenkasu.net/browse/VEX-6030

The solution implied customizing the method shouldContinueLoading from RNVLoadControl to use only the available heap, performing tests on an old Nexus 5 it was determined the ideal bytes allocation to half the reported heap, that provided some buffering during ads but smooth playback during the video with no crashes (23:39 of 23:39 at the moment of writing this, video kept playing as expected after 3 ad breaks)

The fix is only targeting Marshmallow as the reduction of buffer is substantial and other versions that work properly should not get affected.

Depending on the test result of VEX-5758, this same fix can be applied to Nougat

Reviews
Major reviewer (domain expert): @armadilio3
Minor reviewer: @nickfujita
2021-11-09 14:37:52 -04:00
Armands Malejev
f712eecb4f
VEX-6011: Align AVOD resolutions with available resolutions on Content (#14)
Add support for content tracks and improve track selection to work even during ads playback.
2021-11-09 14:22:32 +02:00
Tomasz Baranowicz
dad33ef885
Disable pipController init if pictureInPicture is false
Disable pipController init if pictureInPicture is set to false prevents going to PIP mode on iOS when the app goes to the background.
2021-11-05 12:42:45 +01:00
Gabriel Rivero
7dbc5eb078 add config parameter maxHeapAllocationPercent 2021-11-04 13:54:43 -04:00
Gabriel Rivero
40e450b0b1 VEX-6030-reduce-buffer-size-based-on-heap 2021-11-03 19:35:27 -04:00
Gabriel Rivero
0ab7ff476b VEX-6030-reduce-buffer-size-based-on-heap 2021-11-03 19:14:19 -04:00
Nick Fujita
e27baeb065
VEX-5938: Update resource loader to handle encrypted local files (#12)
Adds offline decryption key and uses it to decrypt content during offline playback

Jira: VEX-5938
https://jira.tenkasu.net/browse/VEX-5938

- Update to accept scheme for key required to play offline playback
- Uses provided scheme to intercept call from player and return the key
- Fixes player item observer removal pattern

### Reviews
- Major reviewer (domain expert): @armadilio3
2021-10-28 10:34:05 +09:00
Nick Fujita
8b75438148
VEX-5682: iOS Swift Conversion (#11)
Converts ios implementation from objective-c to swift.
2021-10-27 10:35:07 +09:00
Jonas Dalesjö
81ae785090 Release 5.2.0 2021-10-20 15:38:04 +02:00
Armands Malejev
3bcf2c6061
VEX-5798: Implement DRM L1 to L3 fallback (#9)
Add support for L1 to L3 Widevine fallback if playback fails initially.
2021-10-13 18:03:29 +03:00
Armands Malejev
2fcc1de626
VEX-5825: Android player error handling improvements (#10)
Improve error handling.
2021-10-12 14:56:50 +03:00
Jonas Dalesjö
d05f3dd5b9 Typo 2021-10-11 10:27:04 +02:00
Jonas Dalesjö
31f866cd9f Release 5.2.0-alpha1 2021-10-11 10:20:32 +02:00
Armands Malejev
a0b679cc07
VEX-5545: Some Android codecs don't support specific resolutions (#8)
Add support for detecting if format is supported and exclude unsupported resolutions from auto quality selection and video track info in RN.
2021-09-26 16:38:10 +03:00
Jonas Dalesjö
bf11502fdb
Merge pull request #2215 from valtech-sd/master
Resolved ignored silent switch in iOS when player is set to paused
2021-09-09 21:34:50 +02:00
Shane Mckenna
688650a9db
Merge pull request #1 from valtech-sd/bugfix/fix-tvOS-audio-menu
Fix for tvOS native audio menu language selector
2021-08-26 15:33:10 -07:00
Shane Mckenna
a42240d554 Fix for tvOS native audio menu language selector 2021-08-23 11:59:53 -07:00
Jonas Dalesjö
724b8629f6
Merge pull request #2412 from crunchyroll/exo-pre-init
Update exoplayer to allow pre-init and content clear
2021-08-19 10:50:15 +02:00
Tuan Luong
7c17f5ec96
Update ReactExoplayerView.java 2021-08-06 10:56:07 +07:00
Armands Malejev
93604b2c25
VEX-3245: Buffer Progress UI While Paused (#7)
Add support for onBufferProgress prop on Android to get buffer data even when the player is paused.
2021-07-07 18:59:55 +03:00
Tuan Luong
4951c2e13c Merge https://github.com/react-native-video/react-native-video into feature/android-fullscreen 2021-07-04 15:18:38 +07:00
Nick
b5b5da0684 update exoplayer to allow pre-init and content clear 2021-06-30 11:34:02 +09:00
Nick Fujita
cba88fa9d8
VEX-5044: Allow exoplayer to preinit with empty source (#6)
- Allow player to be init before source is provided, and later update once a source is provided.
- Adds handling for providing a empty source in order to stop playback and clear out any existing content
2021-06-30 10:24:21 +09:00
Jonas Dalesjö
db58ba90f1
Merge pull request #2167 from redspear/1930-ios-reapply-rate-modifier
Fix: iOS rate is reset to 1.0 after play/pause #1930
2021-06-24 17:49:05 +02:00
Armands Malejev
141192a56d
Upgrade ExoPlayer to 2.13.2 (#2317)
Upgrade ExoPlayer from 2.11.4 to 2.13.2 and fix any issues related to the upgrade and deprecated method use.
2021-06-24 14:01:11 +09:00
Armands Malejev
fcc66df945
Fix AudoFocus pausing video when attempting to play (#2311)
Fix AudioFocus bug that could cause the player to stop responding to play/pause in some instances.

Fixes issue #1945

This was caused by the player requesting audio focus on each play (un-pause) and that resulted in a small window of Audio focus loss and then gain. The focus loss results in the player being paused while the player was supposed to play at the time. The solution is to keep track of Audio focus and not request new focus if we already have it.
2021-06-24 14:00:38 +09:00
Tuan Luong
d094886087 keep screen on when in fullscreen mode 2021-06-13 12:06:37 +07:00
Tuan Luong
c89649b513 Merge https://github.com/react-native-video/react-native-video into feature/android-fullscreen 2021-06-13 11:06:05 +07:00
anderslemke
dcea67eb96 Make sure modifiers are applied before playing 2021-06-03 15:11:57 +02:00
Dan Levy
adf895dcdf
Fix for issue #2153 2021-05-18 09:20:32 -06:00
Armands Malejev
80873102a4
VEX-4579: Network loss handling (#5)
Add support for customizing back buffer duration and handle network errors gracefully to prevent releasing the player when network is lost.
2021-05-17 13:09:09 +03:00
Armands Malejev
f6cce0d819
VEX-4556: The app crashes when the premium episode is loaded (#4)
Fix player crashing when it is being cleared.
2021-05-07 11:37:57 +03:00
Milan Susnjar
1eb11ce7b7
Update README.md (#2292)
Fix broken link for ignoresilentswitch
2021-04-08 13:52:10 -04:00
Jon Thysell
d7ac23d39b
React Native Windows updates (#2206)
Various updates for React Native Windows

**Docs**
* Fixed windows installation in readme
* Added local dev setup instructions

**Build**
* Added VS solutions for RNW 0.61, 0.62, and 0.63+
* Added clang-formatting definition

**Features**
* Fixed autolinking for RNW 0.63+
* Added support for `rate` property

**Examples**
* Upgraded examples/basic to RN 0.61 and replaced broken windows app
2021-04-08 13:37:35 -04:00
Sean Holbert
3dc607c461
Exoplayer: Use okhttp version specified in gradle.properties (#2340)
Because React Native uses okhttp, including exoplayer causes apps to use two different versions of okhttp.  This results in some unpredictable behavior.  Clients of `react-native-video` should be able to specify the same OKHTTP version to react-native and react-native video.

See where it's specified in react-native trunk: 
- https://github.com/facebook/react-native/blob/master/ReactAndroid/gradle.properties#L15
- e1b6cd3f75/ReactAndroid/build.gradle (L452-L453)
2021-04-08 13:36:11 -04:00
Alexander Sklar
edf0e27769
Update ReactNativeVideoCPP.vcxproj (#2288) 2021-04-07 20:51:01 -04:00
Adrian Mui
61e6535b2f
Feature/toggle buffering (#3)
This PR adds the property disableBuffering: boolean for android. The PR was initally created as a personal fork and referenced in crunchyroll/vilos#1227

also updated RNVLoadControl constructor and method to reflect new ExoPlayer.LoadControl api

related ticket: https://jira.tenkasu.net/browse/VEX-3776
2021-03-18 12:58:04 +02:00
Armands Malejev
6100981760
Upgrade exoplayer to 2.13.2 (#2)
Upgrade ExoPlayer from 2.11.4 to 2.13.2 and fix any related issues related to the upgrade and deprecated method use.
2021-03-17 17:49:10 +02:00
Armands Malejev
568971be77
Fix AudoFocus pausing video when attempting to play (#1)
Fix AudioFocus bug that could cause the player to stop responding to play/pause in some instances.

Fixes issue react-native-video#1945

This was caused by the player requesting audio focus on each play (un-pause) and that resulted in a small window of Audio focus loss and then gain. The focus loss results in the player being paused while the player was supposed to play at the time. The solution is to keep track of Audio focus and not request new focus if we already have it.
2021-03-15 16:51:16 +02:00
Nick
5adedb131b Update package.json version number to 5.1.1 2021-01-14 11:13:39 +09:00