summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2021-10-30 22:10:52 +0200
committerByteHamster <info@bytehamster.com>2021-10-30 22:10:52 +0200
commitcceec591ea795fbb22005cf4fd2726459a175369 (patch)
tree910b4dbf8965197a79294a56e22279b2b301a7c2
parent345aad4148f133477e40c232a8e855dfd28e0654 (diff)
downloadantennapod-cceec591ea795fbb22005cf4fd2726459a175369.zip
Use OkHttp as backend for ExoPlayer
-rw-r--r--core/build.gradle1
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java16
2 files changed, 6 insertions, 11 deletions
diff --git a/core/build.gradle b/core/build.gradle
index 59e2973ae..4c3a38256 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -56,6 +56,7 @@ dependencies {
implementation "com.google.android.exoplayer:exoplayer-core:$exoPlayerVersion"
implementation "com.google.android.exoplayer:exoplayer-ui:$exoPlayerVersion"
+ implementation "com.google.android.exoplayer:extension-okhttp:$exoPlayerVersion"
implementation "com.github.AntennaPod:AntennaPod-AudioPlayer:$audioPlayerVersion"
// Non-free dependencies:
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
index 30e76787d..dd85cec5a 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
@@ -17,6 +17,7 @@ import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.SeekParameters;
import com.google.android.exoplayer2.SimpleExoPlayer;
import com.google.android.exoplayer2.audio.AudioAttributes;
+import com.google.android.exoplayer2.ext.okhttp.OkHttpDataSourceFactory;
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
import com.google.android.exoplayer2.extractor.mp3.Mp3Extractor;
import com.google.android.exoplayer2.source.MediaSource;
@@ -30,11 +31,10 @@ import com.google.android.exoplayer2.ui.DefaultTrackNameProvider;
import com.google.android.exoplayer2.ui.TrackNameProvider;
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 de.danoeh.antennapod.core.ClientConfig;
import de.danoeh.antennapod.core.preferences.UserPreferences;
+import de.danoeh.antennapod.core.service.download.AntennapodHttpClient;
import de.danoeh.antennapod.core.service.download.HttpDownloader;
import de.danoeh.antennapod.core.util.playback.IPlayer;
import io.reactivex.Observable;
@@ -194,18 +194,12 @@ public class ExoPlayerWrapper implements IPlayer {
public void setDataSource(String s, String user, String password)
throws IllegalArgumentException, IllegalStateException {
Log.d(TAG, "setDataSource: " + s);
- DefaultHttpDataSourceFactory httpDataSourceFactory = new DefaultHttpDataSourceFactory(
- ClientConfig.USER_AGENT, null,
- DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
- DefaultHttpDataSource.DEFAULT_READ_TIMEOUT_MILLIS,
- true);
+ OkHttpDataSourceFactory httpDataSourceFactory = new OkHttpDataSourceFactory(
+ AntennapodHttpClient.getHttpClient(), ClientConfig.USER_AGENT);
if (!TextUtils.isEmpty(user) && !TextUtils.isEmpty(password)) {
httpDataSourceFactory.getDefaultRequestProperties().set("Authorization",
- HttpDownloader.encodeCredentials(
- user,
- password,
- "ISO-8859-1"));
+ HttpDownloader.encodeCredentials(user, password, "ISO-8859-1"));
}
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, null, httpDataSourceFactory);
DefaultExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();