From cca4ac73ca0300ca0dd768690c7c7bca4dac431e Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Thu, 24 Jun 2021 13:48:20 +0100 Subject: [PATCH] Assign ERROR_CODE_IO_DNS_FAILED to UnknownHostException PiperOrigin-RevId: 381235721 --- .../google/android/exoplayer2/ExoPlayerImplInternal.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java index 1889202d81..a8c8dce887 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java @@ -62,6 +62,7 @@ import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; import java.io.FileNotFoundException; import java.io.IOException; +import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -607,6 +608,14 @@ import java.util.concurrent.atomic.AtomicBoolean; handleIoException(e, errorCode); } catch (HttpDataSource.InvalidResponseCodeException e) { handleIoException(e, PlaybackException.ERROR_CODE_IO_BAD_HTTP_STATUS); + } catch (HttpDataSource.HttpDataSourceException e) { + int errorCode; + if (e.getCause() instanceof UnknownHostException) { + errorCode = PlaybackException.ERROR_CODE_IO_DNS_FAILED; + } else { + errorCode = PlaybackException.ERROR_CODE_IO_UNSPECIFIED; + } + handleIoException(e, errorCode); } catch (BehindLiveWindowException e) { handleIoException(e, PlaybackException.ERROR_CODE_BEHIND_LIVE_WINDOW); } catch (IOException e) {