Commit Graph

1491 Commits

Author SHA1 Message Date
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
Nick Fujita
88b636f158
iOS DRM Fixes for License Fetching (#2208) 2021-01-13 19:18:01 +09:00
Cameron Perry
f79782b447 Resolved an issue where setting a video to paused would ignore the “silent switch” setting 2020-11-19 16:18:31 -08:00
Mudaser Ali
e17ee74f79
Update README.md 2020-10-17 08:59:12 +05:00
Mudaser Ali
38511bbf1c
Update Method List 2020-10-17 08:58:05 +05:00
Mudaser Ali
2dea87c220
Update Event props in README.md 2020-10-17 08:54:44 +05:00
Mudaser Ali
991f94b228
Update README.md 2020-10-16 18:54:50 +05:00
Alec Winograd
42deedc8d1 Update changelog 2020-10-15 11:24:46 -05:00
Alec Winograd
5f1ec04cef
Fix default behavior for captions in ExoPlayer 2020-10-15 11:17:49 -05:00
Tero Paananen
faf8aed29b
Renaming Boolean etc to AsBoolean (#2119) 2020-09-30 14:27:39 -04:00
Radek Czemerys
f653589ecd
fix: Xcode 12 compatibility (#2152)
Latest Xcode 12 fails to build while without a module to depend on React-Core directly hence this change is necessary for native modules on iOS. This change requires to React Native 0.60.2 or newer. For more details please check: facebook/react-native#29633 (comment)
2020-09-29 10:05:28 -04:00
Irwin
4246016fb4
Update README.md (#2076)
You only need to perform linking for React Native < 0.60
2020-09-29 10:01:02 -04:00
Adam Gorman
408d3f720e
Add ARM64 support for windows (#2137)
Adding arm64 support for RNW builds.

Nothing in this project is using anything that isn't already supported in arm64 windows libs. It was simply overlooked when RNW was originally added.

We have been using RNW and RNV in our project for 6+ months and just been using a patch-package to apply this change. Figured it was overdue to upstream this change.

You can see this similar code in the RNW repo.
95935e0086/packages/microsoft-reactnative-sampleapps/windows/SampleLibraryCPP/SampleLibraryCPP.vcxproj (L28)
and
https://github.com/microsoft/react-native-windows/blob/master/packages/microsoft-reactnative-sampleapps/windows/SampleLibraryCPP/SampleLibraryCPP.vcxproj#L44
2020-09-29 10:00:27 -04:00
redspear
522af9eaa7 Bugfix: #1930 2020-09-28 09:56:06 +10:00
Hampton Maxwell
5683167a3a Prepare 5.1.0-alpha8 2020-08-19 20:20:21 -07:00
Nick Fujita
f70c4294ff
Merge pull request #2116 from nickfujita/id3-error-fix
Port over ID3 fix from 4.x branch
2020-08-20 12:16:02 +09:00
Nick Fujita
553fef02cc Port over fix from 4.x branch 2020-08-17 16:28:36 +09:00
Hampton Maxwell
f3e6ce1058 Prepare 5.1.0-alpha7 2020-08-12 19:01:29 -07:00
Hampton Maxwell
90da768087 Ready 5.1.0-alpha6 for release 2020-08-12 19:00:48 -07:00
Daniel Mariño
81b42e7ca7
Add iOS and Android basic DRM support (#1445)
This PR adds support for DRM streams on iOS (Fairplay) and Android (Playready, Widevine, Clearkey)

I am neither Android nor iOS developer, so feel free to provide feedback to improve this PR.

**Test stream for ANDROID:**
```
testStream = {
        uri: 'http://profficialsite.origin.mediaservices.windows.net/c51358ea-9a5e-4322-8951-897d640fdfd7/tearsofsteel_4k.ism/manifest(format=mpd-time-csf)',
        type: 'mpd',
        drm: {
            type: DRMType.PLAYREADY,
            licenseServer: 'http://test.playready.microsoft.com/service/rightsmanager.asmx?cfg=(persist:false,sl:150)'
        }
    };
```

or 
```
{
    uri: 'https://media.axprod.net/TestVectors/v7-MultiDRM-SingleKey/Manifest_1080p.mpd',
    drm: {
        type: 'widevine', //or DRMType.WIDEVINE
        licenseServer: 'https://drm-widevine-licensing.axtest.net/AcquireLicense',
        headers: {
            'X-AxDRM-Message': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2ZXJzaW9uIjoxLCJjb21fa2V5X2lkIjoiYjMzNjRlYjUtNTFmNi00YWUzLThjOTgtMzNjZWQ1ZTMxYzc4IiwibWVzc2FnZSI6eyJ0eXBlIjoiZW50aXRsZW1lbnRfbWVzc2FnZSIsImZpcnN0X3BsYXlfZXhwaXJhdGlvbiI6NjAsInBsYXlyZWFkeSI6eyJyZWFsX3RpbWVfZXhwaXJhdGlvbiI6dHJ1ZX0sImtleXMiOlt7ImlkIjoiOWViNDA1MGQtZTQ0Yi00ODAyLTkzMmUtMjdkNzUwODNlMjY2IiwiZW5jcnlwdGVkX2tleSI6ImxLM09qSExZVzI0Y3Iya3RSNzRmbnc9PSJ9XX19.FAbIiPxX8BHi9RwfzD7Yn-wugU19ghrkBFKsaCPrZmU'
        },
    }
}
```

**Test stream for iOS:**
Sorry but I can not provide free streams to test. If anyone can provide test streams, or found some we can use, please let me know to also test them.

It has been tested with a private provider and they work, at least with the `getLicense` override method. (An example implementation is provided in the README)
2020-08-12 18:56:21 -07:00
Tuan Luong
4d35511fb9 add delay when hideSystemUI 2020-07-13 14:50:09 +07:00
Tuan Luong
0aa9a5901e do not hide fullscreen in stopPlayback 2020-07-13 14:41:38 +07:00
Tuan Luong
5fe76574bb add fullscreenOrientation 2020-07-10 10:45:41 +07:00
Tuan Luong
0b7ea71d77 update fullscreen activity 2020-07-05 11:00:25 +07:00
Tuan Luong
32880544e5 update manifest and import 2020-07-04 22:08:57 +07:00
Tuan Luong
94bceb472b add fullscreen activity 2020-07-04 17:41:15 +07:00
Jeferson Daniel
dbf1a4e034
Fix exoplayer aspect ratio update on source changes (#2053)
* Fix exoplayer aspect ratio update on source changes

* Update CHANGELOG.md
2020-06-30 19:00:16 +02:00
Anders Lemke
8962720f56
Support preventsDisplaySleepDuringVideoPlayback (#2019)
* Add flag on iOS

* Add flag in Android

* Add documentation

* Add changelog entry

* Also set setKeepScreenOn

* Fix prop not being set

* add preventsDisplaySleepDuringVideoPlayback to exoplayer

* Update android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java

* Update android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java

Co-authored-by: Jens Andersson <jens@fritan.com>

Co-authored-by: Anton Tanderup <antontandrup@gmail.com>
Co-authored-by: Jens Andersson <jens@fritan.com>
2020-06-16 14:31:23 +02:00
Jens Andersson
9c31948dbf
Always set headers for iOS (#2014) 2020-06-11 16:53:14 +02:00
Jens Andersson
f395bd1d3d
Removed JS fullscreening for Android (#2013) 2020-06-11 16:44:13 +02:00
limaAniceto
7c8c613a65
Upgrade exoplayer to 2.11.4 (#2034) 2020-06-11 09:17:33 -04:00