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 99fe71c3d..a94c973c7 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 @@ -390,7 +390,7 @@ public class Players implements Player.Listener, ParseCallback { } private void setMediaItem(Map headers, String url, String format, Drm drm, List 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)), 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), decode), position); if (exoPlayer != null) exoPlayer.prepare(); Logger.t(TAG).d(error + "," + url); App.post(runnable, timeout); diff --git a/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java b/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java index 82578b5d0..60c926460 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java +++ b/app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java @@ -25,6 +25,7 @@ import com.fongmi.android.tv.App; import com.fongmi.android.tv.Setting; import com.fongmi.android.tv.bean.Drm; import com.fongmi.android.tv.bean.Sub; +import com.fongmi.android.tv.player.Players; import com.fongmi.android.tv.utils.Sniffer; import java.util.ArrayList; @@ -93,8 +94,9 @@ public class ExoUtil { 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 headers, Uri uri, String mimeType, Drm drm, List subs) { + public static MediaItem getMediaItem(Map headers, Uri uri, String mimeType, Drm drm, List subs, int decode) { MediaItem.Builder builder = new MediaItem.Builder().setUri(uri); + builder.setAllowChunklessPreparation(Players.isHard(decode)); builder.setRequestMetadata(getRequestMetadata(headers, uri)); builder.setSubtitleConfigurations(getSubtitleConfigs(subs)); if (drm != null) builder.setDrmConfiguration(drm.get());