Skip to content

Commit 1ef9058

Browse files
committed
issue/130272: make httpDataSourceFactory usage clear
1 parent b091c9a commit 1ef9058

File tree

2 files changed

+19
-17
lines changed

2 files changed

+19
-17
lines changed

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

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ final class VideoPlayer {
6262
private float restoreVolume = 0;
6363
private PlaybackParameters restorePlaybackParameters;
6464

65-
private DefaultHttpDataSource.Factory httpDataSourceFactory = new DefaultHttpDataSource.Factory();
65+
private final DefaultHttpDataSource.Factory httpDataSourceFactory;
6666

6767
VideoPlayer(
6868
Context context,
@@ -82,9 +82,10 @@ final class VideoPlayer {
8282
.setMimeType(mimeFromFormatHint(formatHint))
8383
.build();
8484

85-
buildHttpDataSourceFactory(httpHeaders);
85+
httpDataSourceFactory = new DefaultHttpDataSource.Factory();
86+
setupHttpDataSourceFactory(httpHeaders);
8687

87-
ExoPlayer exoPlayer = buildExoPlayer(context);
88+
ExoPlayer exoPlayer = buildExoPlayer(context, httpDataSourceFactory);
8889

8990
exoPlayer.setMediaItem(mediaItem);
9091
exoPlayer.prepare();
@@ -110,7 +111,7 @@ final class VideoPlayer {
110111
}
111112

112113
@VisibleForTesting
113-
public void buildHttpDataSourceFactory(@NonNull Map<String, String> httpHeaders) {
114+
public void setupHttpDataSourceFactory(@NonNull Map<String, String> httpHeaders) {
114115
final boolean httpHeadersNotEmpty = !httpHeaders.isEmpty();
115116
final String userAgent =
116117
httpHeadersNotEmpty && httpHeaders.containsKey(USER_AGENT)
@@ -122,7 +123,7 @@ public void buildHttpDataSourceFactory(@NonNull Map<String, String> httpHeaders)
122123
}
123124

124125
public void recreateSurface(Context context) {
125-
ExoPlayer exoPlayer = buildExoPlayer(context);
126+
ExoPlayer exoPlayer = buildExoPlayer(context, httpDataSourceFactory);
126127

127128
exoPlayer.setMediaItem(mediaItem);
128129
exoPlayer.prepare();
@@ -155,15 +156,6 @@ public void pauseSurface() {
155156
isInitialized = false;
156157
}
157158

158-
@NonNull
159-
private ExoPlayer buildExoPlayer(Context context) {
160-
DataSource.Factory dataSourceFactory =
161-
new DefaultDataSource.Factory(context, httpDataSourceFactory);
162-
DefaultMediaSourceFactory mediaSourceFactory =
163-
new DefaultMediaSourceFactory(context).setDataSourceFactory(dataSourceFactory);
164-
return new ExoPlayer.Builder(context).setMediaSourceFactory(mediaSourceFactory).build();
165-
}
166-
167159
private void setUpVideoPlayer(ExoPlayer exoPlayer, QueuingEventSink eventSink) {
168160
this.exoPlayer = exoPlayer;
169161
this.eventSink = eventSink;
@@ -335,6 +327,16 @@ void dispose() {
335327
}
336328
}
337329

330+
@NonNull
331+
private static ExoPlayer buildExoPlayer(
332+
Context context, DataSource.Factory baseDataSourceFactory) {
333+
DataSource.Factory dataSourceFactory =
334+
new DefaultDataSource.Factory(context, baseDataSourceFactory);
335+
DefaultMediaSourceFactory mediaSourceFactory =
336+
new DefaultMediaSourceFactory(context).setDataSourceFactory(dataSourceFactory);
337+
return new ExoPlayer.Builder(context).setMediaSourceFactory(mediaSourceFactory).build();
338+
}
339+
338340
@Nullable
339341
private static String mimeFromFormatHint(@Nullable String formatHint) {
340342
if (formatHint == null) {

packages/video_player/video_player_android/android/src/test/java/io/flutter/plugins/videoplayer/VideoPlayerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public void videoPlayer_buildsHttpDataSourceFactoryProperlyWhenHttpHeadersNull()
6767
fakeEventSink,
6868
httpDataSourceFactorySpy);
6969

70-
videoPlayer.buildHttpDataSourceFactory(new HashMap<>());
70+
videoPlayer.setupHttpDataSourceFactory(new HashMap<>());
7171

7272
verify(httpDataSourceFactorySpy).setUserAgent("ExoPlayer");
7373
verify(httpDataSourceFactorySpy).setAllowCrossProtocolRedirects(true);
@@ -93,7 +93,7 @@ public void videoPlayer_buildsHttpDataSourceFactoryProperlyWhenHttpHeadersNull()
9393
}
9494
};
9595

96-
videoPlayer.buildHttpDataSourceFactory(httpHeaders);
96+
videoPlayer.setupHttpDataSourceFactory(httpHeaders);
9797

9898
verify(httpDataSourceFactorySpy).setUserAgent("userAgent");
9999
verify(httpDataSourceFactorySpy).setAllowCrossProtocolRedirects(true);
@@ -118,7 +118,7 @@ public void videoPlayer_buildsHttpDataSourceFactoryProperlyWhenHttpHeadersNull()
118118
}
119119
};
120120

121-
videoPlayer.buildHttpDataSourceFactory(httpHeaders);
121+
videoPlayer.setupHttpDataSourceFactory(httpHeaders);
122122

123123
verify(httpDataSourceFactorySpy).setUserAgent("ExoPlayer");
124124
verify(httpDataSourceFactorySpy).setAllowCrossProtocolRedirects(true);

0 commit comments

Comments
 (0)