Commit Graph

323 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
Armands Malejevs
8a057c553b Remove buffer progress event 2022-06-08 11:29:09 +03:00
Armands Malejev
d1c9490ce3
Merge branch 'master' into cr-android-improvements 2022-05-24 11:56:26 +03:00
Eran Hammer
e022d0133f
Update README.md 2022-05-23 22:04:03 -07:00
Eran Hammer
5e28bff855
Update README.md 2022-05-23 22:03:49 -07:00
Eran Hammer
e347839f41
Update README.md 2022-05-23 22:03:25 -07:00
Eran Hammer
ead496ce96
Update README.md 2022-05-23 22:02:43 -07:00
Eran Hammer
c9bb4e096e
Update README.md 2022-05-23 21:38:19 -07:00
Eran Hammer
1d19b403b0
Update README.md 2022-05-23 21:36:28 -07:00
Armands Malejev
8b317ed398
Merge branch 'master' into cr-android-improvements 2022-05-23 11:59:22 +03:00
Eran Hammer
e0420d6574
Merge pull request #2677 from ZhminkoRoman/fix/additional-info-to-documentation
Fix/additional info to documentation (Android release build black screen)
2022-05-20 23:28:45 -07:00
Eran Hammer
8cc131b6a6
Revert "[Android] fullscreen video" 2022-05-20 22:42:55 -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
Armands Malejev
87472ebd4a
VEX-7213: Update readme to include missing props (#32) 2022-05-16 10:54:04 +03:00
Zhminko Roman
9e46997e96
Update README.md 2022-05-11 10:40:17 +03:00
Zhminko Roman
5c7d0c1305
Update README.md 2022-05-11 10:32:46 +03:00
Laurence
f25cf42461 Update Readme to include onBuffer event (#2141) 2022-05-02 11:06:23 +01:00
Eran Hammer
bbc9234184
Merge pull request #2551 from mlc/patch-1
clarify onProgress documentation
2022-05-01 11:16:19 -07:00
Eran Hammer
c4c723b5d5
Merge pull request #2182 from smali-kazmi/master
Update README.md
2022-04-22 14:10:20 -07:00
Frieder Bluemle
95d1454630
Update repo org references to react-native-video 2022-04-20 11:33:19 -07:00
Frieder Bluemle
18f1c0d760
Enable basic GitHub Actions CI 2022-04-20 10:20:55 -07:00
Gabriel Rivero
03f77495fc
VEX-6350: add onPlaybackStateChanged prop (#25)
* Adds the new prop onPlaybackStateChanged
2022-04-19 12:12:47 -04: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
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
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
7dbc5eb078 add config parameter maxHeapAllocationPercent 2021-11-04 13:54:43 -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
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
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
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
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
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
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
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
Tuan Luong
5fe76574bb add fullscreenOrientation 2020-07-10 10:45:41 +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