Merge branch 'master' into fix-NSInternalInconsistencyException

This commit is contained in:
Daniel Mariño Ruiz 2019-09-08 08:29:11 +02:00 committed by GitHub
commit 9272678c8c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 69 additions and 13 deletions

View File

@ -1,13 +1,17 @@
## Changelog
### Version 5.0.1
### Version 5.0.2
* Fix crash when RCTVideo's superclass doesn't observe the keyPath 'frame' (iOS) [#1720](https://github.com/react-native-community/react-native-video/pull/1720)
### Version 5.0.0
### Version 5.0.1
* Fix AndroidX Support bad merge
### Version 5.0.0 [Deprecated]
* AndroidX Support
### Version 4.4.4
* Handle racing conditions when props are setted on exoplayer
### Version 4.4.3
* Fix mute/unmute when controls are present (iOS) [#1654](https://github.com/react-native-community/react-native-video/pull/1654)
* Fix Android videos being able to play with background music/audio from other apps.

View File

@ -3,10 +3,16 @@
A `<Video>` component for react-native, as seen in
[react-native-login](https://github.com/brentvatne/react-native-login)!
Version 5.x recommends react-native >= 0.60.0 for Android 64bit builds and Android X support.
Version 4.x requires react-native >= 0.57.0
Version 3.x requires react-native >= 0.40.0
### Version 5.0.0 breaking changes
Version 5 introduces breaking changes on Android, please check carefully the steps described there: [Android Installation](#Android-installation)
### Version 4.0.0 breaking changes
Version 4.0.0 changes some behaviors and may require updates to your Gradle files. See [Updating](#updating) for details.
@ -20,6 +26,11 @@ Version 3.0 features a number of changes to existing behavior. See [Updating](#u
## Table of Contents
* [Installation](#installation)
* [iOS](#ios-installation)
* [tvOS](#tvos-installation)
* [Android](#android-installation)
* [Windows](#windows-installation)
* [react-native-dom](#react-native-dom-installation)
* [Usage](#usage)
* [iOS App Transport Security](#ios-app-transport-security)
* [Audio Mixing](#audio-mixing)
@ -42,12 +53,18 @@ yarn add react-native-video
Then follow the instructions for your platform to link react-native-video into your project:
### iOS
### iOS installation
<details>
<summary>iOS details</summary>
#### Standard Method
**React Native 0.60 and above**
Run `pod install` in the `ios` directory. Linking is not required in React Native 0.60 and above.
**React Native 0.59 and below**
Run `react-native link react-native-video` to link the react-native-video library.
#### Using CocoaPods (required to enable caching)
@ -74,7 +91,7 @@ end
</details>
### tvOS
### tvOS installation
<details>
<summary>tvOS details</summary>
@ -97,7 +114,7 @@ Select RCTVideo-tvOS
<img src="./docs/tvOS-step-4.jpg" width="40%">
</details>
### Android
### Android installation
<details>
<summary>Android details</summary>
@ -121,7 +138,6 @@ include ':react-native-video'
project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android')
```
#### **android/app/build.gradle**
From version >= 5.0.0, you have to apply this changes:
@ -130,7 +146,8 @@ From version >= 5.0.0, you have to apply this changes:
dependencies {
...
compile project(':react-native-video')
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
+ implementation "androidx.appcompat:appcompat:1.0.0"
- implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
}
```
@ -165,7 +182,7 @@ protected List<ReactPackage> getPackages() {
```
</details>
### Windows
### Windows installation
<details>
<summary>Windows details</summary>
@ -215,7 +232,7 @@ using System.Collections.Generic;
```
</details>
### react-native-dom
### react-native-dom installation
<details>
<summary>react-native-dom details</summary>
@ -1286,6 +1303,38 @@ To enable audio to play in background on iOS the audio session needs to be set t
## Updating
### Version 5.0.0
Probably you want to update your gradle version:
#### gradle-wrapper.properties
```diff
- distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
```
#### **android/app/build.gradle**
From version >= 5.0.0, you have to apply this changes:
```diff
dependencies {
...
compile project(':react-native-video')
+ implementation "androidx.appcompat:appcompat:1.0.0"
- implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
}
```
#### **android/gradle.properties**
Migrating to AndroidX (needs version >= 5.0.0):
```gradle.properties
android.useAndroidX=true
android.enableJetifier=true
```
### Version 4.0.0
#### Gradle 3 and target SDK 26 requirement

View File

@ -2,7 +2,7 @@ package com.brentvatne.exoplayer;
import android.annotation.TargetApi;
import android.content.Context;
import android.support.v4.content.ContextCompat;
import androidx.core.content.ContextCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.view.Gravity;

View File

@ -1,6 +1,6 @@
package com.brentvatne.exoplayer;
import android.support.annotation.IntDef;
import androidx.annotation.IntDef;
import java.lang.annotation.Retention;

View File

@ -1,6 +1,6 @@
package com.brentvatne.exoplayer;
import android.support.annotation.StringDef;
import androidx.annotation.StringDef;
import android.view.View;
import com.facebook.react.bridge.Arguments;

View File

@ -111,6 +111,7 @@ android {
release {
signingConfig signingConfigs.debug
minifyEnabled enableProguardInReleaseBuilds
matchingFallbacks = ['release', 'debug']
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}

View File

@ -18,3 +18,5 @@
# org.gradle.parallel=true
android.useDeprecatedNdk=true
android.useAndroidX=true
android.enableJetifier=true

View File

@ -1,6 +1,6 @@
{
"name": "react-native-video",
"version": "5.0.0",
"version": "5.0.1",
"description": "A <Video /> element for react-native",
"main": "Video.js",
"license": "MIT",