diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java index 732ca61b62..5284f8b936 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java @@ -812,7 +812,8 @@ public final class DashMediaSource extends BaseMediaSource { ParsingLoadable loadable, long elapsedRealtimeMs, long loadDurationMs, - IOException error) { + IOException error, + int errorCount) { boolean isFatal = error instanceof ParserException; manifestEventDispatcher.loadError( loadable.dataSpec, @@ -824,7 +825,12 @@ public final class DashMediaSource extends BaseMediaSource { loadable.bytesLoaded(), error, isFatal); - return isFatal ? Loader.DONT_RETRY_FATAL : Loader.RETRY; + return isFatal + ? Loader.DONT_RETRY_FATAL + : Loader.createRetryAction( + /* resetErrorCount= */ false, + loadErrorHandlingPolicy.getRetryDelayMsFor( + C.DATA_TYPE_MANIFEST, loadDurationMs, error, errorCount)); } /* package */ void onUtcTimestampLoadCompleted(ParsingLoadable loadable, @@ -1296,7 +1302,7 @@ public final class DashMediaSource extends BaseMediaSource { long loadDurationMs, IOException error, int errorCount) { - return onManifestLoadError(loadable, elapsedRealtimeMs, loadDurationMs, error); + return onManifestLoadError(loadable, elapsedRealtimeMs, loadDurationMs, error, errorCount); } } diff --git a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java index 867b17ac35..1291b846ba 100644 --- a/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java +++ b/library/smoothstreaming/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaSource.java @@ -639,7 +639,12 @@ public final class SsMediaSource extends BaseMediaSource loadable.bytesLoaded(), error, isFatal); - return isFatal ? Loader.DONT_RETRY_FATAL : Loader.RETRY; + return isFatal + ? Loader.DONT_RETRY_FATAL + : Loader.createRetryAction( + /* resetErrorCount= */ false, + loadErrorHandlingPolicy.getRetryDelayMsFor( + C.DATA_TYPE_MANIFEST, loadDurationMs, error, errorCount)); } // Internal methods