summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2020-02-23 19:06:33 +0100
committerGitHub <noreply@github.com>2020-02-23 19:06:33 +0100
commit37528452caa40335ddc712f969aad82beb94f06e (patch)
tree260c7d54c7d92cfdc158b57790326d2b2415a79e /core/src
parenta7efede66c90de785aeaf00ed3924818010676cc (diff)
parent2b22f116cdb2a53c26aec9108e9810ed5e9a6bc7 (diff)
downloadAntennaPod-37528452caa40335ddc712f969aad82beb94f06e.zip
Merge pull request #3880 from ByteHamster/handle-source-errors
Added ExoPlayer error messages
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java3
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/playback/MediaPlayerError.java47
-rw-r--r--core/src/main/res/values/strings.xml1
3 files changed, 29 insertions, 22 deletions
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 8f7e84561..19ef3d36f 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
@@ -39,6 +39,7 @@ import java.util.concurrent.TimeUnit;
public class ExoPlayerWrapper implements IPlayer {
private static final String TAG = "ExoPlayerWrapper";
+ public static final int ERROR_CODE_OFFSET = 1000;
private final Context mContext;
private final Disposable bufferingUpdateDisposable;
private SimpleExoPlayer mExoPlayer;
@@ -109,7 +110,7 @@ public class ExoPlayerWrapper implements IPlayer {
@Override
public void onPlayerError(ExoPlaybackException error) {
if (audioErrorListener != null) {
- audioErrorListener.onError(null, 0, 0);
+ audioErrorListener.onError(null, error.type + ERROR_CODE_OFFSET, 0);
}
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/MediaPlayerError.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/MediaPlayerError.java
index 32d37a67e..8ca8bbf6c 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/MediaPlayerError.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/MediaPlayerError.java
@@ -2,30 +2,35 @@ package de.danoeh.antennapod.core.util.playback;
import android.content.Context;
import android.media.MediaPlayer;
-
+import com.google.android.exoplayer2.ExoPlaybackException;
import de.danoeh.antennapod.core.R;
+import de.danoeh.antennapod.core.service.playback.ExoPlayerWrapper;
/** Utility class for MediaPlayer errors. */
public class MediaPlayerError {
- private MediaPlayerError(){}
+ private MediaPlayerError(){}
- /** Get a human-readable string for a specific error code. */
- public static String getErrorString(Context context, int code) {
- int resId;
- switch(code) {
- case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
- resId = R.string.playback_error_server_died;
- break;
- case MediaPlayer.MEDIA_ERROR_UNSUPPORTED:
- resId = R.string.playback_error_unsupported;
- break;
- case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
- resId = R.string.playback_error_timeout;
- break;
- default:
- resId = R.string.playback_error_unknown;
- break;
- }
- return context.getString(resId) + " (" + code + ")";
- }
+ /** Get a human-readable string for a specific error code. */
+ public static String getErrorString(Context context, int code) {
+ int resId;
+ switch (code) {
+ case MediaPlayer.MEDIA_ERROR_SERVER_DIED:
+ resId = R.string.playback_error_server_died;
+ break;
+ case MediaPlayer.MEDIA_ERROR_UNSUPPORTED: // fall-through
+ case ExoPlayerWrapper.ERROR_CODE_OFFSET + ExoPlaybackException.TYPE_RENDERER:
+ resId = R.string.playback_error_unsupported;
+ break;
+ case MediaPlayer.MEDIA_ERROR_TIMED_OUT:
+ resId = R.string.playback_error_timeout;
+ break;
+ case ExoPlayerWrapper.ERROR_CODE_OFFSET + ExoPlaybackException.TYPE_SOURCE:
+ resId = R.string.playback_error_source;
+ break;
+ default:
+ resId = R.string.playback_error_unknown;
+ break;
+ }
+ return context.getString(resId) + " (" + code + ")";
+ }
}
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index 37802dcf4..4a089e1d8 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -283,6 +283,7 @@
<string name="playback_error_server_died">Server died</string>
<string name="playback_error_unsupported">Unsupported media type</string>
<string name="playback_error_timeout">Operation timed out</string>
+ <string name="playback_error_source">Unable to access media file</string>
<string name="playback_error_unknown">Unknown Error</string>
<string name="no_media_playing_label">No media playing</string>
<string name="position_default_label" translate="false">00:00:00</string>