[video_player] Update to ExoPlayer 2.14.1 (#4141)
Update the ExoPlayer dependency to the latest version, and remove the dependency on the deprecated Bintray server. This should resolve issues with building video_player due to 403s from bintray that have been breaking presubmits for all PRs.
diff --git a/packages/video_player/video_player/CHANGELOG.md b/packages/video_player/video_player/CHANGELOG.md
index 5084021..f35a198 100644
--- a/packages/video_player/video_player/CHANGELOG.md
+++ b/packages/video_player/video_player/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.7
+
+* Update exoplayer to 2.14.1, removing dependency on Bintray.
+
## 2.1.6
* Remove obsolete pre-1.0 warning from README.
diff --git a/packages/video_player/video_player/android/build.gradle b/packages/video_player/video_player/android/build.gradle
index 558b412..d0ee303 100644
--- a/packages/video_player/video_player/android/build.gradle
+++ b/packages/video_player/video_player/android/build.gradle
@@ -17,12 +17,6 @@
repositories {
google()
mavenCentral()
- // Gradle versions older than 2.13.3 aren't published to the servers
- // above, so add this URL as a workaround until upgrading past that
- // version.
- maven {
- url 'https://google.bintray.com/exoplayer/'
- }
}
}
@@ -50,10 +44,10 @@
}
dependencies {
- implementation 'com.google.android.exoplayer:exoplayer-core:2.12.1'
- implementation 'com.google.android.exoplayer:exoplayer-hls:2.12.1'
- implementation 'com.google.android.exoplayer:exoplayer-dash:2.12.1'
- implementation 'com.google.android.exoplayer:exoplayer-smoothstreaming:2.12.1'
+ implementation 'com.google.android.exoplayer:exoplayer-core:2.14.1'
+ implementation 'com.google.android.exoplayer:exoplayer-hls:2.14.1'
+ implementation 'com.google.android.exoplayer:exoplayer-dash:2.14.1'
+ implementation 'com.google.android.exoplayer:exoplayer-smoothstreaming:2.14.1'
testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-inline:3.9.0'
}
diff --git a/packages/video_player/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java b/packages/video_player/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
index 87784ee..887d3d1 100644
--- a/packages/video_player/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
+++ b/packages/video_player/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java
@@ -16,7 +16,7 @@
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player;
-import com.google.android.exoplayer2.Player.EventListener;
+import com.google.android.exoplayer2.Player.Listener;
import com.google.android.exoplayer2.SimpleExoPlayer;
import com.google.android.exoplayer2.audio.AudioAttributes;
import com.google.android.exoplayer2.source.MediaSource;
@@ -29,7 +29,6 @@
import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource;
-import com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory;
import com.google.android.exoplayer2.util.Util;
import io.flutter.plugin.common.EventChannel;
import io.flutter.view.TextureRegistry;
@@ -77,15 +76,13 @@
DataSource.Factory dataSourceFactory;
if (isHTTP(uri)) {
- DefaultHttpDataSourceFactory httpDataSourceFactory =
- new DefaultHttpDataSourceFactory(
- "ExoPlayer",
- null,
- DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
- DefaultHttpDataSource.DEFAULT_READ_TIMEOUT_MILLIS,
- true);
+ DefaultHttpDataSource.Factory httpDataSourceFactory =
+ new DefaultHttpDataSource.Factory()
+ .setUserAgent("ExoPlayer")
+ .setAllowCrossProtocolRedirects(true);
+
if (httpHeaders != null && !httpHeaders.isEmpty()) {
- httpDataSourceFactory.getDefaultRequestProperties().set(httpHeaders);
+ httpDataSourceFactory.setDefaultRequestProperties(httpHeaders);
}
dataSourceFactory = httpDataSourceFactory;
} else {
@@ -157,7 +154,6 @@
private void setupVideoPlayer(
EventChannel eventChannel, TextureRegistry.SurfaceTextureEntry textureEntry) {
-
eventChannel.setStreamHandler(
new EventChannel.StreamHandler() {
@Override
@@ -176,7 +172,7 @@
setAudioAttributes(exoPlayer, options.mixWithOthers);
exoPlayer.addListener(
- new EventListener() {
+ new Listener() {
private boolean isBuffering = false;
public void setBuffering(boolean buffering) {
diff --git a/packages/video_player/video_player/pubspec.yaml b/packages/video_player/video_player/pubspec.yaml
index ed78213..15b2cc9 100644
--- a/packages/video_player/video_player/pubspec.yaml
+++ b/packages/video_player/video_player/pubspec.yaml
@@ -3,7 +3,7 @@
widgets on Android, iOS, and web.
repository: https://github.com/flutter/plugins/tree/master/packages/video_player/video_player
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22
-version: 2.1.6
+version: 2.1.7
environment:
sdk: ">=2.12.0 <3.0.0"