Skip to content

Commit eb9d7ce

Browse files
hamdikahlounEgor
authored andcommitted
[video_player] Upgrade ExoPlayer (flutter#3204)
* ExoPlayer * Format * update gradle
1 parent 0548e0e commit eb9d7ce

File tree

8 files changed

+26
-26
lines changed

8 files changed

+26
-26
lines changed

packages/video_player/video_player/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.11.1+3
2+
3+
* Android: Upgrade ExoPlayer to 2.12.1.
4+
15
## 0.11.1+2
26

37
* Update android compileSdkVersion to 29.

packages/video_player/video_player/android/build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ buildscript {
99
}
1010

1111
dependencies {
12-
classpath 'com.android.tools.build:gradle:3.3.0'
12+
classpath 'com.android.tools.build:gradle:3.5.0'
1313
}
1414
}
1515

@@ -44,9 +44,9 @@ android {
4444
}
4545

4646
dependencies {
47-
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6'
48-
implementation 'com.google.android.exoplayer:exoplayer-hls:2.9.6'
49-
implementation 'com.google.android.exoplayer:exoplayer-dash:2.9.6'
50-
implementation 'com.google.android.exoplayer:exoplayer-smoothstreaming:2.9.6'
47+
implementation 'com.google.android.exoplayer:exoplayer-core:2.12.1'
48+
implementation 'com.google.android.exoplayer:exoplayer-hls:2.12.1'
49+
implementation 'com.google.android.exoplayer:exoplayer-dash:2.12.1'
50+
implementation 'com.google.android.exoplayer:exoplayer-smoothstreaming:2.12.1'
5151
}
5252
}

packages/video_player/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayer.java

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,20 @@
99
import android.view.Surface;
1010
import com.google.android.exoplayer2.C;
1111
import com.google.android.exoplayer2.ExoPlaybackException;
12-
import com.google.android.exoplayer2.ExoPlayerFactory;
1312
import com.google.android.exoplayer2.Format;
13+
import com.google.android.exoplayer2.MediaItem;
1414
import com.google.android.exoplayer2.PlaybackParameters;
1515
import com.google.android.exoplayer2.Player;
1616
import com.google.android.exoplayer2.Player.EventListener;
1717
import com.google.android.exoplayer2.SimpleExoPlayer;
1818
import com.google.android.exoplayer2.audio.AudioAttributes;
19-
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
20-
import com.google.android.exoplayer2.source.ExtractorMediaSource;
2119
import com.google.android.exoplayer2.source.MediaSource;
20+
import com.google.android.exoplayer2.source.ProgressiveMediaSource;
2221
import com.google.android.exoplayer2.source.dash.DashMediaSource;
2322
import com.google.android.exoplayer2.source.dash.DefaultDashChunkSource;
2423
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
2524
import com.google.android.exoplayer2.source.smoothstreaming.DefaultSsChunkSource;
2625
import com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource;
27-
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
28-
import com.google.android.exoplayer2.trackselection.TrackSelector;
2926
import com.google.android.exoplayer2.upstream.DataSource;
3027
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
3128
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource;
@@ -70,8 +67,7 @@ final class VideoPlayer {
7067
this.textureEntry = textureEntry;
7168
this.options = options;
7269

73-
TrackSelector trackSelector = new DefaultTrackSelector();
74-
exoPlayer = ExoPlayerFactory.newSimpleInstance(context, trackSelector);
70+
exoPlayer = new SimpleExoPlayer.Builder(context).build();
7571

7672
Uri uri = Uri.parse(dataSource);
7773

@@ -89,7 +85,8 @@ final class VideoPlayer {
8985
}
9086

9187
MediaSource mediaSource = buildMediaSource(uri, dataSourceFactory, formatHint, context);
92-
exoPlayer.prepare(mediaSource);
88+
exoPlayer.setMediaSource(mediaSource);
89+
exoPlayer.prepare();
9390

9491
setupVideoPlayer(eventChannel, textureEntry);
9592
}
@@ -131,18 +128,18 @@ private MediaSource buildMediaSource(
131128
return new SsMediaSource.Factory(
132129
new DefaultSsChunkSource.Factory(mediaDataSourceFactory),
133130
new DefaultDataSourceFactory(context, null, mediaDataSourceFactory))
134-
.createMediaSource(uri);
131+
.createMediaSource(MediaItem.fromUri(uri));
135132
case C.TYPE_DASH:
136133
return new DashMediaSource.Factory(
137134
new DefaultDashChunkSource.Factory(mediaDataSourceFactory),
138135
new DefaultDataSourceFactory(context, null, mediaDataSourceFactory))
139-
.createMediaSource(uri);
136+
.createMediaSource(MediaItem.fromUri(uri));
140137
case C.TYPE_HLS:
141-
return new HlsMediaSource.Factory(mediaDataSourceFactory).createMediaSource(uri);
138+
return new HlsMediaSource.Factory(mediaDataSourceFactory)
139+
.createMediaSource(MediaItem.fromUri(uri));
142140
case C.TYPE_OTHER:
143-
return new ExtractorMediaSource.Factory(mediaDataSourceFactory)
144-
.setExtractorsFactory(new DefaultExtractorsFactory())
145-
.createMediaSource(uri);
141+
return new ProgressiveMediaSource.Factory(mediaDataSourceFactory)
142+
.createMediaSource(MediaItem.fromUri(uri));
146143
default:
147144
{
148145
throw new IllegalStateException("Unsupported type: " + type);
@@ -174,7 +171,7 @@ public void onCancel(Object o) {
174171
new EventListener() {
175172

176173
@Override
177-
public void onPlayerStateChanged(final boolean playWhenReady, final int playbackState) {
174+
public void onPlaybackStateChanged(final int playbackState) {
178175
if (playbackState == Player.STATE_BUFFERING) {
179176
sendBufferingUpdate();
180177
} else if (playbackState == Player.STATE_READY) {

packages/video_player/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ public TextureMessage create(CreateMessage arg) {
138138
"asset:///" + assetLookupKey,
139139
null,
140140
options);
141-
videoPlayers.put(handle.id(), player);
142141
} else {
143142
player =
144143
new VideoPlayer(
@@ -148,8 +147,8 @@ public TextureMessage create(CreateMessage arg) {
148147
arg.getUri(),
149148
arg.getFormatHint(),
150149
options);
151-
videoPlayers.put(handle.id(), player);
152150
}
151+
videoPlayers.put(handle.id(), player);
153152

154153
TextureMessage result = new TextureMessage();
155154
result.setTextureId(handle.id());

packages/video_player/video_player/example/android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ android {
3434
defaultConfig {
3535
applicationId "io.flutter.plugins.videoplayerexample"
3636
minSdkVersion 16
37-
targetSdkVersion 28
37+
targetSdkVersion 29
3838
versionCode flutterVersionCode.toInteger()
3939
versionName flutterVersionName
4040
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

packages/video_player/video_player/example/android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
}
66

77
dependencies {
8-
classpath 'com.android.tools.build:gradle:3.3.0'
8+
classpath 'com.android.tools.build:gradle:3.5.0'
99
}
1010
}
1111

packages/video_player/video_player/example/android/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip

packages/video_player/video_player/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Flutter plugin for displaying inline video with other Flutter
44
# 0.10.y+z is compatible with 1.0.0, if you land a breaking change bump
55
# the version to 2.0.0.
66
# See more details: https://github.com/flutter/flutter/wiki/Package-migration-to-1.0.0
7-
version: 0.11.1+2
7+
version: 0.11.1+3
88
homepage: https://github.com/flutter/plugins/tree/master/packages/video_player/video_player
99

1010
flutter:

0 commit comments

Comments
 (0)