diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index b0312b30..9284cecf 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -10,8 +10,7 @@ Describe what you wanted to happen
### Platform
Which player are you experiencing the problem on:
* iOS
-* Android ExoPlayer
-* Android MediaPlayer
+* Android
* Windows UWP
* Windows WPF
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index ac2d1e3e..54296c23 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -18,12 +18,11 @@ assignees: ''
## Platform
Which player are you experiencing the problem on:
* iOS
-* Android ExoPlayer
-* Android MediaPlayer
+* Android
* Windows UWP
* Windows WPF
diff --git a/API.md b/API.md
index 13eb89c0..46053502 100644
--- a/API.md
+++ b/API.md
@@ -111,14 +111,7 @@ Or if you have trouble, make the following additions to the given files manually
#### **android/settings.gradle**
-The newer ExoPlayer library will work for most people.
-
-```gradle
-include ':react-native-video'
-project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer')
-```
-
-If you need to use the old Android MediaPlayer based player, use the following instead:
+Add player source in build configuration
```gradle
include ':react-native-video'
@@ -302,29 +295,29 @@ var styles = StyleSheet.create({
|[allowsExternalPlayback](#allowsexternalplayback) |iOS |
|[audioOnly](#audioonly)|All |
|[automaticallyWaitsToMinimizeStalling](#automaticallyWaitsToMinimizeStalling) | iOS|\
-|[backBufferDurationMs](#backBufferDurationMs)| Android Exoplayer|
-|[bufferConfig](#bufferconfig)|Android ExoPlayer|
-|[contentStartTime](#contentStartTime)| Android Exoplayer|
-|[controls](#controls)|Android ExoPlayer, iOS, react-native-dom|
-|[currentPlaybackTime](#currentPlaybackTime)|Android Exoplayer|
-|[disableFocus](#disableFocus)|Android Exoplayer, iOS|
-|[disableDisconnectError](#disableDisconnectError)|Android Exoplayer|
+|[backBufferDurationMs](#backBufferDurationMs)| Android |
+|[bufferConfig](#bufferconfig)|Android|
+|[contentStartTime](#contentStartTime)| Android |
+|[controls](#controls)|Android, iOS, react-native-dom|
+|[currentPlaybackTime](#currentPlaybackTime)|Android|
+|[disableFocus](#disableFocus)|Android, iOS|
+|[disableDisconnectError](#disableDisconnectError)|Android|
|[filter](#filter)|iOS|
|[filterEnabled](#filterEnabled)|iOS|
|[fullscreen](#fullscreen)|iOS|
|[fullscreenAutorotate](#fullscreenautorotate)|iOS|
|[fullscreenOrientation](#fullscreenorientation)|iOS|
-|[headers](#headers)|Android ExoPlayer|
-|[hideShutterView](#hideshutterview)|Android ExoPlayer|
+|[headers](#headers)|Android|
+|[hideShutterView](#hideshutterview)|Android|
|[id](#id)|react-native-dom|
|[ignoreSilentSwitch](#ignoresilentswitch)|iOS|
-|[maxBitRate](#maxbitrate)|Android ExoPlayer, iOS|
-|[minLoadRetryCount](#minLoadRetryCount)|Android ExoPlayer|
+|[maxBitRate](#maxbitrate)|Android, iOS|
+|[minLoadRetryCount](#minLoadRetryCount)|Android|
|[mixWithOthers](#mixWithOthers)|iOS|
|[muted](#muted)|All|
|[paused](#paused)|All|
|[pictureInPicture](#pictureinpicture)|iOS|
-|[playInBackground](#playinbackground)|Android ExoPlayer, Android MediaPlayer, iOS|
+|[playInBackground](#playinbackground)|Android, iOS|
|[playWhenInactive](#playwheninactive)|iOS|
|[poster](#poster)|All|
|[posterResizeMode](#posterresizemode)|All|
@@ -333,17 +326,16 @@ var styles = StyleSheet.create({
|[progressUpdateInterval](#progressupdateinterval)|All|
|[rate](#rate)|All|
|[repeat](#repeat)|All|
-|[reportBandwidth](#reportbandwidth)|Android ExoPlayer|
-|[resizeMode](#resizemode)|Android ExoPlayer, Android MediaPlayer, iOS, Windows UWP|
-|[selectedAudioTrack](#selectedaudiotrack)|Android ExoPlayer, iOS|
-|[selectedTextTrack](#selectedtexttrack)|Android ExoPlayer, iOS|
-|[selectedVideoTrack](#selectedvideotrack)|Android ExoPlayer|
+|[reportBandwidth](#reportbandwidth)|Android|
+|[resizeMode](#resizemode)|Android, iOS, Windows UWP|
+|[selectedAudioTrack](#selectedaudiotrack)|Android, iOS|
+|[selectedTextTrack](#selectedtexttrack)|Android, iOS|
+|[selectedVideoTrack](#selectedvideotrack)|Android|
|[source](#source)|All|
-|[stereoPan](#stereopan)|Android MediaPlayer|
-|[textTracks](#texttracks)|Android ExoPlayer, iOS|
-|[trackId](#trackId)|Android ExoPlayer|
-|[useTextureView](#usetextureview)|Android ExoPlayer|
-|[useSecureView](#useSecureView)|Android Exoplayer|
+|[textTracks](#texttracks)|Android, iOS|
+|[trackId](#trackId)|Android|
+|[useTextureView](#usetextureview)|Android|
+|[useSecureView](#useSecureView)|Android|
|[volume](#volume)|All|
|[localSourceEncryptionKeyScheme](#localSourceEncryptionKeyScheme)|All|
@@ -351,31 +343,31 @@ var styles = StyleSheet.create({
### Event props
| Name |Plateforms Support |
|--|--|
-|[onAudioBecomingNoisy](#onaudiobecomingnoisy)|Android ExoPlayer, iOS|
-|[onBandwidthUpdate](#onbandwidthupdate)|Android ExoPlayer|
-|[onBuffer](#onbuffer)|Android ExoPlayer, iOS|
+|[onAudioBecomingNoisy](#onaudiobecomingnoisy)|Android, iOS|
+|[onBandwidthUpdate](#onbandwidthupdate)|Android|
+|[onBuffer](#onbuffer)|Android, iOS|
|[onEnd](#onend)|All|
|[onExternalPlaybackChange](#onexternalplaybackchange)|iOS|
-|[onFullscreenPlayerWillPresent](#onfullscreenplayerwillpresent)|Android ExoPlayer, Android MediaPlayer, iOS|
-|[onFullscreenPlayerDidPresent](#onfullscreenplayerdidpresent)|Android ExoPlayer, Android MediaPlayer, iOS|
-|[onFullscreenPlayerWillDismiss](#onfullscreenplayerwilldismiss)|Android ExoPlayer, Android MediaPlayer, iOS|
-|[onFullscreenPlayerDidDismiss](#onfullscreenplayerdiddismiss)|Android ExoPlayer, Android MediaPlayer, iOS|
+|[onFullscreenPlayerWillPresent](#onfullscreenplayerwillpresent)|Android, iOS|
+|[onFullscreenPlayerDidPresent](#onfullscreenplayerdidpresent)|Android, iOS|
+|[onFullscreenPlayerWillDismiss](#onfullscreenplayerwilldismiss)|Android, iOS|
+|[onFullscreenPlayerDidDismiss](#onfullscreenplayerdiddismiss)|Android, iOS|
|[onLoad](#onload)|All|
|[onLoadStart](#onloadstart)|All|
-|[onReadyForDisplay](#onreadyfordisplay)|Android ExoPlayer, Android MediaPlayer, iOS, Web|
+|[onReadyForDisplay](#onreadyfordisplay)|Android, iOS, Web|
|[onPictureInPictureStatusChanged](#onpictureinpicturestatuschanged)|iOS|
|[onPlaybackRateChange](#onplaybackratechange)|All|
|[onProgress](#onprogress)|All|
-|[onSeek](#onseek)|Android ExoPlayer, Android MediaPlayer, iOS, Windows UWP|
+|[onSeek](#onseek)|Android, iOS, Windows UWP|
|[onRestoreUserInterfaceForPictureInPictureStop](#onrestoreuserinterfaceforpictureinpicturestop)|iOS|
-|[onTimedMetadata](#ontimedmetadata)|Android ExoPlayer, Android MediaPlayer, iOS|
+|[onTimedMetadata](#ontimedmetadata)|Android, iOS|
### Methods
| Name |Plateforms Support |
|--|--|
-|[dismissFullscreenPlayer](#dismissfullscreenplayer)|Android ExoPlayer, Android MediaPlayer, iOS|
-|[presentFullscreenPlayer](#presentfullscreenplayer)|Android ExoPlayer, Android MediaPlayer, iOS|
+|[dismissFullscreenPlayer](#dismissfullscreenplayer)|Android, iOS|
+|[presentFullscreenPlayer](#presentfullscreenplayer)|Android, iOS|
|[save](#save)|iOS|
|[restoreUserInterfaceForPictureInPictureStop](#restoreuserinterfaceforpictureinpicturestop)|iOS|
|[seek](#seek)|All|
@@ -409,7 +401,7 @@ Platforms: iOS
#### backBufferDurationMs
The number of milliseconds of buffer to keep before the current position. This allows rewinding without rebuffering within that duration.
-Platforms: Android ExoPlayer
+Platforms: Android
#### bufferConfig
Adjust the buffer settings. This prop takes an object with one or more of the properties listed below.
@@ -436,12 +428,12 @@ bufferConfig={{
}}
```
-Platforms: Android ExoPlayer
+Platforms: Android
#### currentPlaybackTime
When playing an HLS live stream with a `EXT-X-PROGRAM-DATE-TIME` tag configured, then this property will contain the epoch value in msec.
-Platforms: Android ExoPlayer, iOS
+Platforms: Android, iOS
#### controls
Determines whether to show player controls.
@@ -453,30 +445,28 @@ Note on iOS, controls are always shown when in fullscreen mode.
### contentStartTime
The start time in ms for SSAI content. This determines at what time to load the video info like resolutions. Use this only when you have SSAI stream where ads resolution is not the same as content resolution.
-For Android MediaPlayer, you will need to build your own controls or use a package like [react-native-video-controls](https://github.com/itsnubix/react-native-video-controls) or [react-native-video-player](https://github.com/cornedor/react-native-video-player).
+Note on Android, native controls are available by default. If needed, you can also add your controls or use a package like [react-native-video-controls].
-Note on Android ExoPlayer, native controls are available by default. If needed, you can also add your controls or use a package like [react-native-video-controls].
-
-Platforms: Android ExoPlayer, iOS, react-native-dom
+Platforms: Android, iOS, react-native-dom
#### disableFocus
Determines whether video audio should override background music/audio in Android devices.
* ** false (default)** - Override background audio/music
* **true** - Let background audio/music from other apps play
-Platforms: Android Exoplayer
+Platforms: Android
#### disableDisconnectError
Determines if the player needs to throw an error when connection is lost or not
* **false (default)** - Player will throw an error when connection is lost
* **true** - Player will keep trying to buffer when network connect is lost
-Platforms: Android Exoplayer
+Platforms: Android
### DRM
To setup DRM please follow [this guide](./DRM.md)
-Platforms: Android Exoplayer, iOS
+Platforms: Android, iOS
#### filter
Add video filter
@@ -548,7 +538,7 @@ source={{
}}
```
-Platforms: Android ExoPlayer
+Platforms: Android
#### hideShutterView
Controls whether the ExoPlayer shutter view (black screen while loading) is enabled.
@@ -556,7 +546,7 @@ Controls whether the ExoPlayer shutter view (black screen while loading) is enab
* **false (default)** - Show shutter view
* **true** - Hide shutter view
-Platforms: Android ExoPlayer
+Platforms: Android
#### id
Set the DOM id element so you can use document.getElementById on web platforms. Accepts string values.
@@ -586,7 +576,7 @@ Example:
maxBitRate={2000000} // 2 megabits
```
-Platforms: Android ExoPlayer, iOS
+Platforms: Android, iOS
#### minLoadRetryCount
Sets the minimum number of times to retry loading data before failing and reporting an error to the application. Useful to recover from transient internet failures.
@@ -598,7 +588,7 @@ Example:
minLoadRetryCount={5} // retry 5 times
```
-Platforms: Android ExoPlayer
+Platforms: Android
#### mixWithOthers
Controls how Audio mix with other apps.
@@ -638,7 +628,7 @@ To use this feature on iOS, you must:
* [Enable Background Audio](https://developer.apple.com/library/archive/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionBasics/AudioSessionBasics.html#//apple_ref/doc/uid/TP40007875-CH3-SW3) in your Xcode project
* Set the ignoreSilentSwitch prop to "ignore"
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
#### playWhenInactive
Determine whether the media should continue playing when notifications or the Control Center are in front of the video.
@@ -693,8 +683,6 @@ Speed at which the media should play.
Platforms: all
-Note: For Android MediaPlayer, rate is only supported on Android 6.0 and higher devices.
-
#### repeat
Determine whether to repeat the video when the end is reached
* **false (default)** - Don't repeat the video
@@ -708,7 +696,7 @@ Determine whether to generate onBandwidthUpdate events. This is needed due to th
* **false (default)** - Don't generate onBandwidthUpdate events
* **true** - Generate onBandwidthUpdate events
-Platforms: Android ExoPlayer
+Platforms: Android
#### resizeMode
Determines how to resize the video when the frame doesn't match the raw video dimensions.
@@ -717,7 +705,7 @@ Determines how to resize the video when the frame doesn't match the raw video di
* **"cover"** - Scale the video uniformly (maintain the video's aspect ratio) so that both dimensions (width and height) of the image will be equal to or larger than the corresponding dimension of the view (minus padding).
* **"stretch"** - Scale width and height independently, This may change the aspect ratio of the src.
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS, Windows UWP
+Platforms: Android, iOS, Windows UWP
#### selectedAudioTrack
Configure which audio track, if any, is played.
@@ -747,7 +735,7 @@ Type | Value | Description
If a track matching the specified Type (and Value if appropriate) is unavailable, the first audio track will be played. If multiple tracks match the criteria, the first match will be used.
-Platforms: Android ExoPlayer, iOS
+Platforms: Android, iOS
#### selectedTextTrack
Configure which text track (caption or subtitle), if any, is shown.
@@ -779,7 +767,7 @@ Both iOS & Android (only 4.4 and higher) offer Settings to enable Captions for h
If a track matching the specified Type (and Value if appropriate) is unavailable, no text track will be displayed. If multiple tracks match the criteria, the first match will be used.
-Platforms: Android ExoPlayer, iOS
+Platforms: Android, iOS
#### selectedVideoTrack
Configure which video track should be played. By default, the player uses Adaptive Bitrate Streaming to automatically select the stream it thinks will perform best based on available bandwidth.
@@ -808,7 +796,7 @@ Type | Value | Description
If a track matching the specified Type (and Value if appropriate) is unavailable, ABR will be used.
-Platforms: Android ExoPlayer
+Platforms: Android
#### source
Sets the media source. You can pass an asset loaded via require or an object with a uri.
@@ -853,7 +841,7 @@ source={{ uri: 'file:///sdcard/Movies/sintel.mp4' }}
Note: Your app will need to request permission to read external storage if you're accessing a file outside your app.
-Platforms: Android ExoPlayer, Android MediaPlayer, possibly others
+Platforms: Android, possibly others
###### iPod Library (ipod-library://)
@@ -885,14 +873,6 @@ The following other types are supported on some platforms, but aren't fully docu
`content://, ms-appx://, ms-appdata://, assets-library://`
-#### stereoPan
-Adjust the balance of the left and right audio channels. Any value between –1.0 and 1.0 is accepted.
-* **-1.0** - Full left
-* **0.0 (default)** - Center
-* **1.0** - Full right
-
-Platforms: Android MediaPlayer
-
#### textTracks
Load one or more "sidecar" text tracks. This takes an array of objects representing each track. Each object should have the format:
@@ -900,7 +880,7 @@ Property | Description
--- | ---
title | Descriptive name for the track
language | 2 letter [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) representing the language
-type | Mime type of the track
* TextTrackType.SRT - SubRip (.srt)
* TextTrackType.TTML - TTML (.ttml)
* TextTrackType.VTT - WebVTT (.vtt)
iOS only supports VTT, Android ExoPlayer supports all 3
+type | Mime type of the track
* TextTrackType.SRT - SubRip (.srt)
* TextTrackType.TTML - TTML (.ttml)
* TextTrackType.VTT - WebVTT (.vtt)
iOS only supports VTT, Android supports all 3
uri | URL for the text track. Currently, only tracks hosted on a webserver are supported
On iOS, sidecar text tracks are only supported for individual files, not HLS playlists. For HLS, you should include the text tracks as part of the playlist.
@@ -928,12 +908,12 @@ textTracks={[
```
-Platforms: Android ExoPlayer, iOS
+Platforms: Android, iOS
#### trackId
Configure an identifier for the video stream to link the playback context to the events emitted.
-Platforms: Android ExoPlayer
+Platforms: Android
#### useTextureView
Controls whether to output to a TextureView or SurfaceView.
@@ -947,7 +927,7 @@ useTextureView can only be set at same time you're setting the source.
* **true (default)** - Use a TextureView
* **false** - Use a SurfaceView
-Platforms: Android ExoPlayer
+Platforms: Android
#### useSecureView
Force the output to a SurfaceView and enables the secure surface.
@@ -959,7 +939,7 @@ SurfaceView is is the only one that can be labeled as secure.
* **true** - Use security
* **false (default)** - Do not use security
-Platforms: Android ExoPlayer
+Platforms: Android
#### volume
Adjust the volume.
@@ -989,7 +969,7 @@ Callback function that is called when the audio is about to become 'noisy' due t
Payload: none
-Platforms: Android ExoPlayer, iOS
+Platforms: Android, iOS
#### onBandwidthUpdate
Callback function that is called when the available bandwidth changes.
@@ -1007,9 +987,9 @@ Example:
}
```
-Note: On Android ExoPlayer, you must set the [reportBandwidth](#reportbandwidth) prop to enable this event. This is due to the high volume of events generated.
+Note: On Android, you must set the [reportBandwidth](#reportbandwidth) prop to enable this event. This is due to the high volume of events generated.
-Platforms: Android ExoPlayer
+Platforms: Android
#### onBuffer
Callback function that is called when the player buffers.
@@ -1027,7 +1007,7 @@ Example:
}
```
-Platforms: Android ExoPlayer, iOS
+Platforms: Android, iOS
#### onEnd
Callback function that is called when the player reaches the end of the media.
@@ -1059,28 +1039,28 @@ Callback function that is called when the player is about to enter fullscreen mo
Payload: none
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
#### onFullscreenPlayerDidPresent
Callback function that is called when the player has entered fullscreen mode.
Payload: none
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
#### onFullscreenPlayerWillDismiss
Callback function that is called when the player is about to exit fullscreen mode.
Payload: none
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
#### onFullscreenPlayerDidDismiss
Callback function that is called when the player has exited fullscreen mode.
Payload: none
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
#### onLoad
Callback function that is called when the media is loaded and ready to play.
@@ -1169,7 +1149,7 @@ Example:
}
```
-Platforms: Android ExoPlayer
+Platforms: Android
#### onReadyForDisplay
Callback function that is called when the first video frame is ready for display. This is when the poster is removed.
@@ -1177,10 +1157,9 @@ Callback function that is called when the first video frame is ready for display
Payload: none
* iOS: [readyForDisplay](https://developer.apple.com/documentation/avkit/avplayerviewcontroller/1615830-readyfordisplay?language=objc)
-* Android: [MEDIA_INFO_VIDEO_RENDERING_START](https://developer.android.com/reference/android/media/MediaPlayer#MEDIA_INFO_VIDEO_RENDERING_START)
-* Android ExoPlayer [STATE_READY](https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/Player.html#STATE_READY)
+* Android [STATE_READY](https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/Player.html#STATE_READY)
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS, Web
+Platforms: Android, iOS, Web
#### onPictureInPictureStatusChanged
Callback function that is called when picture in picture becomes active or inactive.
@@ -1256,7 +1235,7 @@ Example:
Both the currentTime & seekTime are reported because the video player may not seek to the exact requested position in order to improve seek performance.
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS, Windows UWP
+Platforms: Android, iOS, Windows UWP
#### onRestoreUserInterfaceForPictureInPictureStop
Callback function that corresponds to Apple's [`restoreUserInterfaceForPictureInPictureStopWithCompletionHandler`](https://developer.apple.com/documentation/avkit/avpictureinpicturecontrollerdelegate/1614703-pictureinpicturecontroller?language=objc). Call `restoreUserInterfaceForPictureInPictureStopCompleted` inside of this function when done restoring the user interface.
@@ -1285,9 +1264,7 @@ Example:
}
```
-Support for timed metadata on Android MediaPlayer is limited at best and only compatible with some videos. It requires a target SDK of 23 or higher.
-
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
### Methods
Methods operate on a ref to the Video element. You can create a ref using code like:
@@ -1308,7 +1285,7 @@ Example:
this.player.dismissFullscreenPlayer();
```
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
#### presentFullscreenPlayer
`presentFullscreenPlayer()`
@@ -1317,14 +1294,14 @@ Put the player in fullscreen mode.
On iOS, this displays the video in a fullscreen view controller with controls.
-On Android ExoPlayer & MediaPlayer, this puts the navigation controls in fullscreen mode. It is not a complete fullscreen implementation, so you will still need to apply a style that makes the width and height match your screen dimensions to get a fullscreen video.
+On Android, this puts the navigation controls in fullscreen mode. It is not a complete fullscreen implementation, so you will still need to apply a style that makes the width and height match your screen dimensions to get a fullscreen video.
Example:
```
this.player.presentFullscreenPlayer();
```
-Platforms: Android ExoPlayer, Android MediaPlayer, iOS
+Platforms: Android, iOS
#### save
`save(): Promise`
@@ -1539,7 +1516,7 @@ android {
```
#### ExoPlayer no longer detaches
-When using a router like the react-navigation TabNavigator, switching between tab routes would previously cause ExoPlayer to detach causing the video player to pause. We now don't detach the view, allowing the video to continue playing in a background tab. This matches the behavior for iOS. Android MediaPlayer will crash if it detaches when switching routes, so its behavior has not been changed.
+When using a router like the react-navigation TabNavigator, switching between tab routes would previously cause ExoPlayer to detach causing the video player to pause. We now don't detach the view, allowing the video to continue playing in a background tab. This matches the behavior for iOS.
#### useTextureView now defaults to true
The SurfaceView, which ExoPlayer has been using by default has a number of quirks that people are unaware of and often cause issues. This includes not supporting animations or scaling. It also causes strange behavior if you overlay two videos on top of each other, because the SurfaceView will [punch a hole](https://developer.android.com/reference/android/view/SurfaceView) through other views. Since TextureView doesn't have these issues and behaves in the way most developers expect, it makes sense to make it the default.
diff --git a/Video.js b/Video.js
index ddd7d508..c1a05f79 100644
--- a/Video.js
+++ b/Video.js
@@ -473,7 +473,6 @@ Video.propTypes = {
bufferForPlaybackAfterRebufferMs: PropTypes.number,
maxHeapAllocationPercent: PropTypes.number,
}),
- stereoPan: PropTypes.number,
rate: PropTypes.number,
pictureInPicture: PropTypes.bool,
playInBackground: PropTypes.bool,
diff --git a/examples/basic/android/settings.gradle b/examples/basic/android/settings.gradle
index 29cf817a..a78bc672 100644
--- a/examples/basic/android/settings.gradle
+++ b/examples/basic/android/settings.gradle
@@ -1,5 +1,5 @@
rootProject.name = 'VideoPlayer'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':react-native-video'
-project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer')
+project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android')
include ':app'
diff --git a/package.json b/package.json
index a309f21e..40c3f72c 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,6 @@
"xbasic": "yarn --cwd examples/basic"
},
"files": [
- "android-exoplayer",
"android",
"dom",
"ios",