Commit Graph

287 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Param Aggarwal
0b914ef2b9
Expose currentPlaybackTime when live stream video (#1944)
* added trackId to exoplayer onLoad callback

* added trackInfo to bandwidth callback

* syntax fix

* syntax fix

* version update

* sending complete logcat for media playback exception ExoPlaybackException

* version bump

* package publish changes

* Live playback fix

* Version bump

* import fix

* version bump

* configurable preferredForwardBufferDuration

* configurable preferredForwardBufferDuration

* version update

* Exposing time

* exo player window current tsp

* return type

* Current window timestamp in epoch

* iOS changes

* version update

* Updated package.json

* updated version

* CurrentTime bug fix

* Updated package.json

* Updated currentPlaybackTime

* Updated currentPlayback logic

* Updated package.json

* Bug fix

* Added semicolon

* updated package.json

* Updated ReactVideoView

* updated verison

* Revert package.json changes

* Update ReactVideoView.java

* Use standard log

* Document preferredForwardBufferDuration (iOS)

* Document currentPlaybackTime

* Document trackId

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update README.md

* Update CHANGELOG.md

Co-authored-by: anubansal <anu.bansal@curefit.com>
Co-authored-by: Sivakumar J <sivakumar@curefit.com>
Co-authored-by: parikshit <parikshit@curefit.com>
Co-authored-by: anubansal92 <40559524+anubansal92@users.noreply.github.com>
Co-authored-by: Rishu Agrawal <rishu.agrawal@v.curefit.com>
Co-authored-by: rishu-curefit <54575330+rishu-curefit@users.noreply.github.com>
2020-05-15 09:25:19 +02:00
Evan Bacon
e3009c60e1
Recommend npx pod-install for setup instructions
# Summary

We've been recommending devs use `npx pod-install` since it will attempt to install CocoaPods CLI if it's not available on the computer (cite [React Navigation setup guide](https://reactnavigation.org/docs/getting-started/#installing-dependencies-into-a-bare-react-native-project)). This has proved very useful for Expo users who are now migrating to the bare workflow and want to use community packages in their projects.

## Checklist

- [x] I have tested this on a device and a simulator
- [x] I added the documentation in `README.md`
2020-05-14 12:16:36 -07:00
Harrison Mendonça
4157a609ac Update README.md 2020-04-20 18:47:59 -03:00
Hampton Maxwell
1ecb09acc4
Update onLoad event to include videoTracks info 2020-03-02 14:31:06 -08:00
Brandon Faulkner
6d1a7bed58
Fix the ref sample code to remove the syntax error 2020-02-25 09:22:41 -05:00
Di Da
a4fec8eb99
Add support for react-native Windows Cpp/WinRT (#1893)
This also deprecates the old react-native windows implementation
2020-02-25 09:21:06 -05:00
Piotr Błażejewicz (Peter Blazejewicz)
5fa4cddbf8
docs(video): fix bufferConfig property name (#1855) 2020-02-17 14:12:54 -05:00
Mohammed Salman
2738892631
Fix readme grammar (#1888) 2020-02-03 13:17:05 -05:00
IbrahimSulai
9200dce1ae
Add full screen support to Android Exoplayer (#1730) 2020-01-28 17:21:21 -05:00
Tsukasa Setoguchi
257be246e0 fix README about reportBandwidth (#1816) 2019-11-08 14:21:15 -05:00
Bader Serhan
040b17159e fix typo in README 2019-09-25 16:47:44 +03:00
Daniel Mariño Ruiz
4a8eea7af3
Add disableFocus to TOC 2019-09-25 07:46:03 +02:00
Daniel Mariño Ruiz
cfcf6ce506
Merge branch 'master' into master 2019-09-21 08:41:55 +02:00
Daniel Mariño Ruiz
0a2f7bd949
Merge pull request #1715 from jhalvorson/master
Updated README.md to include instructions for React Native 0.60 and a…
2019-09-08 08:26:30 +02:00
Jovan Stanimirovic
008f5f03b0 fix formatting issues 2019-08-30 13:33:49 +02:00
Jovan Stanimirovic
0a361d1d0f update readme 2019-08-22 10:13:06 +02:00
Jovan Stanimirovic
e3782c4ec6 added support for automaticallyWaitsToMinimizeStalling property on iOS 2019-08-22 10:10:39 +02:00
Jamie Halvorson
2b9dddab75 Updated README.md to include instructions for React Native 0.60 and above 2019-08-17 09:44:47 +01:00
Daniel Mariño
aad75d46b1 More update info
(cherry picked from commit 2f23cc021c2e61410076c2f05da334907479280f)
2019-07-28 15:51:21 +02:00
Daniel Mariño
e38149b476 ad platform installation to TOC
(cherry picked from commit b0737bd56a4743c5154f48533a2f097ec59622a5)
2019-07-28 15:51:10 +02:00
Daniel Mariño Ruiz
4f9f7936a4 cpck 2019-07-28 15:50:22 +02:00
vok
2f8746c990 fix read me
(cherry picked from commit ed25b3f924)
2019-07-28 15:47:51 +02:00
vok
e6e57ecb04 cpck readme 2019-07-28 15:46:45 +02:00
vok
991fd5961d add readme to migrating to AndroidX
(cherry picked from commit 976ebcce2d)
2019-07-28 15:45:20 +02:00
vok
45b806dbb3 update readme
(cherry picked from commit 3ddcba3449)
2019-07-28 15:43:41 +02:00
Daniel Mariño Ruiz
a45e857bbc
Merge branch 'release/5.0.0' into update-androidx 2019-07-25 10:05:53 +02:00
Daniel Mariño Ruiz
62ff44ab35
Update README.md
Make more obvious the changes needed via using diff
2019-07-23 11:38:08 +02:00
Daniel Mariño Ruiz
66a85ae9c6
Update README.md
fix typo
2019-07-23 11:31:41 +02:00
Daniel Mariño Ruiz
95060d7bbf
Update README.md
Make installation parts easier to link
2019-07-23 11:29:50 +02:00
Daniel Mariño Ruiz
9dec6aec4d
Merge branch 'release/4.4.3' into bugfix/android-disablefocus-audio 2019-07-06 09:16:19 +02:00
Daniel Mariño Ruiz
7949c55c94
Merge pull request #1629 from vokhuyetOz/android-28
Android 28, pre to androidx
2019-07-04 10:01:27 +02:00
Kurt Johnson
2b067f1978
Merge branch 'master' into bugfix/android-disablefocus-audio 2019-07-03 16:43:37 -04:00
vok
a203aeadea pre androidX, upgrade to 28 2019-06-21 09:32:51 +07:00
vok
ed25b3f924 fix read me 2019-06-21 09:22:00 +07:00
vok
e5bc7155f4 add read me 2019-06-20 09:26:53 +07:00
vok
976ebcce2d add readme to migrating to AndroidX 2019-06-20 09:06:51 +07:00
Jens Andersson
fcef441369 Added onReadyForDisplay to web/dom 2019-06-19 15:35:49 +01:00
Jens Andersson
e5b5bbee7f Updated changelog and readme 2019-06-19 14:32:44 +01:00
vok
3ddcba3449 update readme 2019-06-19 15:38:36 +07:00
Joe Meyer
4efd0b5fa4 Updates README description 2019-06-11 15:52:59 -05:00
Joe Meyer
fccbc939d9 Adds onPlaybackRateChange to README 2019-05-03 09:54:12 -05:00