diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java index f528342d5..ad14f51c8 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java @@ -343,7 +343,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List } private void checkError(ErrorEvent event) { - if (mPlayers.isHard() && event.getCode() / 1000 == 4) { + if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) { onDecode(); } else { onError(event); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 2d77bcea1..367a6fa3c 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -731,7 +731,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick } private void checkError(ErrorEvent event) { - if (mPlayers.isHard() && event.getCode() / 1000 == 4) { + if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) { onDecode(); } else { onError(event); diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 7b6ae2d0f..9d43af8cd 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1136,7 +1136,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List } private void checkError(ErrorEvent event) { - if (mPlayers.isHard() && event.getCode() / 1000 == 4) { + if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) { onDecode(); } else { onError(event); diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index db6330406..245bb8a03 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -74,6 +74,7 @@ public class Players implements Player.Listener, ParseCallback { private long position; private int decode; + private int count; private int error; private int retry; @@ -145,10 +146,15 @@ public class Players implements Player.Listener, ParseCallback { this.position = position; } + public int addCount() { + return ++count; + } + public void reset() { position = C.TIME_UNSET; removeTimeoutCheck(); stopParse(); + count = 0; error = 0; retry = 0; } diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 6a283f81c..1d4667269 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -790,7 +790,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List } private void checkError(ErrorEvent event) { - if (mPlayers.isHard() && event.getCode() / 1000 == 4) { + if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) { onDecode(); } else { onError(event); diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index b3a09cc0a..18fc6cb96 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -1159,7 +1159,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } private void checkError(ErrorEvent event) { - if (mPlayers.isHard() && event.getCode() / 1000 == 4) { + if (event.getCode() / 1000 == 4 && mPlayers.addCount() <= 2) { onDecode(); } else { onError(event);