pull/586/head
FongMi 1 year ago
parent d91bc1a91b
commit 03834a6a65
  1. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 4
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 4
      app/src/main/java/com/fongmi/android/tv/event/ErrorEvent.java
  5. 6
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  6. 5
      app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java
  7. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  8. 4
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -338,8 +338,8 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
if (mPlayers.retried()) onError(event);
else if (event.isDecode()) onDecode();
else onReset();
}

@ -726,8 +726,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
if (mPlayers.retried()) onError(event);
else if (event.isDecode()) onDecode();
else fetch();
}

@ -1134,8 +1134,8 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (isBackground()) return;
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
if (mPlayers.retried()) onError(event);
else if (event.isDecode()) onDecode();
else onRefresh();
}

@ -49,10 +49,6 @@ public class ErrorEvent {
return type;
}
public int getCode() {
return code;
}
public boolean isDecode() {
return code / 1000 == 4;
}

@ -74,7 +74,6 @@ public class Players implements Player.Listener, ParseCallback {
private long position;
private int decode;
private int count;
private int error;
private int retry;
@ -146,15 +145,10 @@ public class Players implements Player.Listener, ParseCallback {
this.position = position;
}
public boolean canToggle() {
return ++count <= 2;
}
public void reset() {
position = C.TIME_UNSET;
removeTimeoutCheck();
stopParse();
count = 0;
error = 0;
retry = 0;
}

@ -97,7 +97,10 @@ public class ExoUtil {
}
public static int getRetry(int errorCode) {
return errorCode >= PlaybackException.ERROR_CODE_PARSING_CONTAINER_MALFORMED && errorCode <= PlaybackException.ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED || errorCode == PlaybackException.ERROR_CODE_IO_UNSPECIFIED ? 2 : errorCode > 999 ? 1 : 0;
if (errorCode == PlaybackException.ERROR_CODE_IO_UNSPECIFIED) return 2;
if (errorCode >= PlaybackException.ERROR_CODE_DECODER_INIT_FAILED && errorCode <= PlaybackException.ERROR_CODE_DECODING_FORMAT_UNSUPPORTED) return 2;
if (errorCode >= PlaybackException.ERROR_CODE_PARSING_CONTAINER_MALFORMED && errorCode <= PlaybackException.ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED) return 2;
return 1;
}
public static MediaItem getMediaItem(Map<String, String> headers, Uri uri, String mimeType, Drm drm, List<Sub> subs, int decode) {

@ -785,8 +785,8 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
if (mPlayers.retried()) onError(event);
else if (event.isDecode()) onDecode();
else fetch();
}

@ -1153,8 +1153,8 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) {
if (isRedirect()) return;
if (event.isDecode() && mPlayers.canToggle()) onDecode();
else if (mPlayers.retried()) onError(event);
if (mPlayers.retried()) onError(event);
else if (event.isDecode()) onDecode();
else onRefresh();
}

Loading…
Cancel
Save