Commit Graph

239 Commits

Author SHA1 Message Date
Tai Le Tuan
daf5e595ec
feat: upgrade exoplayer to v2.17.1 (#2498)
Describe the changes
Upgrade ExoPlayer to version 2.17.1

Provide an example of how to test the change
Tested with a forked of react-native-video-test

* Update exoplayer to v2.15.1

* feat: upgrade ExoPlayer to version 2.17.1

* chore: update CHANGELOG

* remove ExoPlayerFullscreenVideoActivity

* Fix build issues

* Fix build & runtime issues

Co-authored-by: Eran Hammer <eran@hammer.io>
Co-authored-by: Armands Malejev <armands.malejevs@gmail.com>
2022-06-15 10:24:55 -07:00
olivier bouillet
8c13162b5e chore: fix build, remove missing cleaned values 2022-06-10 23:57:25 +02:00
Armands Malejevs
8a057c553b Remove buffer progress event 2022-06-08 11:29:09 +03:00
Armands Malejevs
e90ab21c91 Fix single track playback 2022-06-07 12:23:06 +03:00
Armands Malejevs
c7b7390267 Prevent unnecessary work when creating video track info 2022-06-02 15:10:23 +03:00
Armands Malejevs
0330943d52 Dont download dash manifest if contentStartTime is not set 2022-06-02 15:08:07 +03:00
Armands Malejevs
9b04cfac51 Remove timeline reference from videoTrackInfo 2022-05-31 10:08:14 +03:00
Armands Malejev
33b7bf1ee1 VEX-6834: Android: Sometimes the player fails with RNV-3005 (#34)
Fix RNV-3005 errors when exiting the player and loading a new video immediately. In most cases this error was just happening internally and the user would not experience it, but it skewed the error rate reporting.
2022-05-25 11:24:26 +03:00
Armands Malejevs
45d23475b6 Clean up 2022-05-24 11:50:58 +03:00
Armands Malejev
8b317ed398
Merge branch 'master' into cr-android-improvements 2022-05-23 11:59:22 +03:00
Eran Hammer
046fb2249a
Merge pull request #2371 from justsml/patch-1
Fix volume reset issue in exoPlayer
2022-05-21 11:39:50 -07:00
Eran Hammer
9be049b937
Merge pull request #2687 from stevejubs/patch-1
Fix  'HlS' > 'HLS' (UPPERCASE)
2022-05-20 22:47:57 -07:00
Eran Hammer
8cc131b6a6
Revert "[Android] fullscreen video" 2022-05-20 22:42:55 -07:00
Sirichai Chulee
a467886039
Fix 'HlS' > 'HLS' (UPPERCASE) 2022-05-21 03:34:24 +07:00
Armands Malejev
c193fe873e
VEX-7095: Crash in ReactExoplayerView.java Line 1059 (#31)
Prevent crashing when the track selector is null.
2022-05-09 17:53:09 -04:00
Armands Malejev
c584022d34
VEX-7094: Android: Crash in ReactExoplayerView.java Line 694 (#30)
When moving init logic to a different thread we missed one function that was not captured if an error occurred. This PR wraps the source init function that happens on a different thread in a try/catch to capture any errors that occur.
2022-05-05 17:10:55 -04:00
Gabriel Rivero
9035e7dfc9
VEX-6625: Handle state to keep playing after gaining connection (#28)
This PR handles autoplay after disconnection

Jira: VEX-6625

There was an error in react-native-video not being properly handled, in addition, the state of the player when reconnecting using a free user was not the expected one, requesting the player to keep playing when ready, made the behavior consistent in all scenarios

Velocity PR: crunchyroll/velocity#2430

Reviews
Major reviewer (domain expert): @jctorresM
Minor reviewer: @jacob-livingston
2022-05-03 16:43:53 -04:00
Igor Tironi
7284342cc6
Merge branch 'master' into always-check-for-hideShutterView 2022-04-29 22:12:34 -03:00
Gabriel Rivero
b274541431
VEX-7093: Protect initialization of DRM (#29)
This PR will fix the crash from the experiment on react-native-video

Jira: VEX-7093

velocity PR: crunchyroll/velocity#2443

The crash was caused by using the player object before it was set by another thread, the change simply waits for the player to be available before executing any player interaction after DRM initialization.

Reviews
Major reviewer (domain expert): @jctorresM
Minor reviewer: @jacob-livingston
2022-04-28 20:17:59 -04:00
Armands Malejev
f6e9cc8502
VEX-6891: Android: Infinite loading when closing & reopening the player on low end devices (#27)
On low end devices when replaying same content too quickly DRM could fail with an uncaptured error (DrmSessionException). To prevent this we now check for that error and retry DRM one more time.
2022-04-25 19:44:37 -04:00
Armands Malejev
6815044013
VEX-6099: Android: Progress knob jumps backward after tapping Skip Forwards multiple times (#26)
Move to the new way of detecting seek end and remove onSeekProcessed which was deprecated.
2022-04-19 20:05:32 -04:00
Eran Hammer
c5c4294127
Merge pull request #2575 from pdsouza/pd/fix-exoplayer-codec-error-NPE
[Android] Fix app crash from NPE in Exoplayer error handler
2022-04-19 15:35:07 -07:00
Eran Hammer
fb1abaf6a1
Merge branch 'master' into patch-1 2022-04-19 15:31:25 -07:00
Eran Hammer
c5d9a45023
Merge pull request #2073 from r0b0t3d/feature/android-fullscreen
[Android] fullscreen video
2022-04-19 09:58:42 -07:00
Gabriel Rivero
03f77495fc
VEX-6350: add onPlaybackStateChanged prop (#25)
* Adds the new prop onPlaybackStateChanged
2022-04-19 12:12:47 -04:00
Armands Malejev
f78c623df4
VEX-6779: React Native Video buildDrmSessionManager crash followup (#24)
Fix infinite loading on some devices caused by earlier fix to drm session manager crash
2022-04-07 12:36:50 -04:00
Gabriel Rivero
4d17096630
VEX-6779: React Native Video buildDrmSessionManager crash (#23)
Move DRM initialization logic into a separate thread to prevent ANRs.
2022-04-05 18:19:43 -04:00
Armands Malejev
e39d87edae
VEX-6778: Android: React Native video getVideoTrackInfoFromManifest crash (#20)
JIRA: VEX-6778

Move video track info request logic entirely on a different thread, completely preventing ANRs in this section of code.
2022-03-31 15:37:53 +03:00
Armands Malejevs
0e3fe11b78 Fix runtime issues 2022-03-30 15:33:17 +03:00
Armands Malejevs
edd3cc1698 Fix runtime issues 2022-03-30 15:27:09 +03:00
Armands Malejevs
bd1f7f50cb Fix runtime issues 2022-03-30 15:19:50 +03:00
Armands Malejevs
7067afa609 Fix runtime crash 2022-03-30 15:04:49 +03:00
Armands Malejevs
cca2744542 Fix typo 2022-03-30 14:49:40 +03:00
Armands Malejevs
142521bc0e Fix build issues 2022-03-30 14:43:04 +03:00
Armands Malejevs
2f77765fe2 Clean up 2022-03-30 14:35:48 +03:00
Armands Malejevs
88f32ae3c8 Move DRM init to a separate thread 2022-03-30 14:29:08 +03:00
Nick Fujita
39dee21efa
Updates disableDisconnectError retry condition to be more specific (#22)
Updates disableDisconnectError retry condition to be more specific.

Jira: VEX-6518

Reviews
Major reviewer (domain expert): @armadilio3
Minor reviewer: @gabriel-rivero
2022-03-30 18:17:56 +09:00
Armands Malejevs
b6f3652636 Capture more errors from DRM session manager 2022-03-29 15:21:39 +03:00
Igor Tironi
6d74eb686f Always check for hideShutterView before showing shutterView 2022-03-03 15:57:21 -08:00
Gabriel
2af360a7bb add useSecureView prop to prevent screen recording 2022-02-14 21:17:22 -04:00
Armands Malejev
2ab029995f
VEX-6365: Improve memory management (#17)
Improve memory management to reduce pressure on low end devices.

JIRA: VEX-6365
2022-01-21 14:10:22 +02:00
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
e7c009d908 add repository dependency and patch version 2021-12-09 15:23:48 -03: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
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
Gabriel Rivero
7dbc5eb078 add config parameter maxHeapAllocationPercent 2021-11-04 13:54:43 -04:00