Remove auto change decode

pull/586/head
FongMi 2 years ago
parent b74f151fda
commit d237185a20
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 10
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  5. 3
      app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java
  6. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -338,8 +338,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) { public void onErrorEvent(ErrorEvent event) {
if (event.getCode() / 1000 == 4 && mPlayers.isHard()) onDecode(); if (mPlayers.error()) onError(event);
else if (mPlayers.error()) onError(event);
else onReset(); else onReset();
} }

@ -727,8 +727,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) { public void onErrorEvent(ErrorEvent event) {
if (event.getCode() / 1000 == 4 && mPlayers.isHard()) onDecode(); if (mPlayers.error()) onError(event);
else if (mPlayers.error()) onError(event);
else fetch(); else fetch();
} }

@ -1132,8 +1132,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) { public void onErrorEvent(ErrorEvent event) {
if (isBackground()) return; if (isBackground()) return;
if (event.getCode() / 1000 == 4 && mPlayers.isHard()) onDecode(); if (mPlayers.error()) onError(event);
else if (mPlayers.error()) onError(event);
else onRefresh(); else onRefresh();
} }

@ -84,10 +84,6 @@ public class Players implements Player.Listener, ParseCallback {
return decode == HARD; return decode == HARD;
} }
public static boolean isSoft(int decode) {
return decode == SOFT;
}
private Players(Activity activity) { private Players(Activity activity) {
decode = Setting.getDecode(); decode = Setting.getDecode();
builder = new StringBuilder(); builder = new StringBuilder();
@ -220,10 +216,6 @@ public class Players implements Player.Listener, ParseCallback {
return getDuration() > 5 * 60 * 1000 && !exoPlayer.isCurrentMediaItemLive(); return getDuration() > 5 * 60 * 1000 && !exoPlayer.isCurrentMediaItemLive();
} }
public boolean isHard() {
return decode == HARD;
}
public boolean isPortrait() { public boolean isPortrait() {
return getVideoHeight() > getVideoWidth(); return getVideoHeight() > getVideoWidth();
} }
@ -398,7 +390,7 @@ public class Players implements Player.Listener, ParseCallback {
} }
private void setMediaItem(Map<String, String> headers, String url, String format, Drm drm, List<Sub> subs, int timeout) { private void setMediaItem(Map<String, String> headers, String url, String format, Drm drm, List<Sub> subs, int timeout) {
if (exoPlayer != null) exoPlayer.setMediaItem(ExoUtil.getMediaItem(this.headers = checkUa(headers), UrlUtil.uri(this.url = url), ExoUtil.getMimeType(this.format = format, error), drm, checkSub(subs), decode), position); if (exoPlayer != null) exoPlayer.setMediaItem(ExoUtil.getMediaItem(this.headers = checkUa(headers), UrlUtil.uri(this.url = url), ExoUtil.getMimeType(this.format = format, error), drm, checkSub(subs)), position);
if (exoPlayer != null) exoPlayer.prepare(); if (exoPlayer != null) exoPlayer.prepare();
Logger.t(TAG).d(error + "," + url); Logger.t(TAG).d(error + "," + url);
App.post(runnable, timeout); App.post(runnable, timeout);

@ -96,9 +96,8 @@ public class ExoUtil {
return errorCode >= PlaybackException.ERROR_CODE_PARSING_CONTAINER_MALFORMED && errorCode <= PlaybackException.ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED ? 2 : errorCode > 999 ? 1 : 0; return errorCode >= PlaybackException.ERROR_CODE_PARSING_CONTAINER_MALFORMED && errorCode <= PlaybackException.ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED ? 2 : errorCode > 999 ? 1 : 0;
} }
public static MediaItem getMediaItem(Map<String, String> headers, Uri uri, String mimeType, Drm drm, List<Sub> subs, int decode) { public static MediaItem getMediaItem(Map<String, String> headers, Uri uri, String mimeType, Drm drm, List<Sub> subs) {
MediaItem.Builder builder = new MediaItem.Builder().setUri(uri); MediaItem.Builder builder = new MediaItem.Builder().setUri(uri);
builder.setAllowChunklessPreparation(Players.isHard(decode));
builder.setRequestMetadata(getRequestMetadata(headers, uri)); builder.setRequestMetadata(getRequestMetadata(headers, uri));
builder.setSubtitleConfigurations(getSubtitleConfigs(subs)); builder.setSubtitleConfigurations(getSubtitleConfigs(subs));
if (drm != null) builder.setDrmConfiguration(drm.get()); if (drm != null) builder.setDrmConfiguration(drm.get());

@ -1142,8 +1142,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void onErrorEvent(ErrorEvent event) { public void onErrorEvent(ErrorEvent event) {
if (isRedirect()) return; if (isRedirect()) return;
if (event.getCode() / 1000 == 4 && mPlayers.isHard()) onDecode(); if (mPlayers.error()) onError(event);
else if (mPlayers.error()) onError(event);
else onRefresh(); else onRefresh();
} }

Loading…
Cancel
Save