|
|
|
|
@ -32,7 +32,6 @@ import com.fongmi.android.tv.utils.Sniffer; |
|
|
|
|
|
|
|
|
|
import java.net.URLEncoder; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Arrays; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Locale; |
|
|
|
|
import java.util.Map; |
|
|
|
|
@ -40,7 +39,7 @@ import java.util.Map; |
|
|
|
|
public class ExoUtil { |
|
|
|
|
|
|
|
|
|
public static LoadControl buildLoadControl() { |
|
|
|
|
return new DefaultLoadControl(Setting.getBuffer()); |
|
|
|
|
return new DefaultLoadControl(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static TrackSelector buildTrackSelector() { |
|
|
|
|
@ -89,7 +88,6 @@ public class ExoUtil { |
|
|
|
|
|
|
|
|
|
public static String getMimeType(String format, int errorCode) { |
|
|
|
|
if (format != null) return format; |
|
|
|
|
if (errorCode == PlaybackException.ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED || errorCode == PlaybackException.ERROR_CODE_PARSING_MANIFEST_MALFORMED) return MimeTypes.APPLICATION_OCTET; |
|
|
|
|
if (errorCode == PlaybackException.ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED || errorCode == PlaybackException.ERROR_CODE_PARSING_CONTAINER_MALFORMED || errorCode == PlaybackException.ERROR_CODE_IO_UNSPECIFIED) return MimeTypes.APPLICATION_M3U8; |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
@ -102,13 +100,10 @@ public class ExoUtil { |
|
|
|
|
boolean m3u8Ad = uri.toString().contains(".m3u8") && (Setting.isRemoveAd() || Sniffer.getRegex(uri).size() > 0); |
|
|
|
|
if (m3u8Ad) uri = Uri.parse(Server.get().getAddress(true).concat("/m3u8?url=").concat(URLEncoder.encode(uri.toString()))); |
|
|
|
|
MediaItem.Builder builder = new MediaItem.Builder().setUri(uri); |
|
|
|
|
builder.setAllowChunklessPreparation(decode == Players.HARD); |
|
|
|
|
builder.setRequestMetadata(getRequestMetadata(headers, uri)); |
|
|
|
|
builder.setSubtitleConfigurations(getSubtitleConfigs(subs)); |
|
|
|
|
if (drm != null) builder.setDrmConfiguration(drm.get()); |
|
|
|
|
if (mimeType != null) builder.setMimeType(mimeType); |
|
|
|
|
builder.setForceUseRtpTcp(Setting.getRtsp() == 1); |
|
|
|
|
builder.setAds(Arrays.asList("9999")); |
|
|
|
|
builder.setMediaId(uri.toString()); |
|
|
|
|
return builder.build(); |
|
|
|
|
} |
|
|
|
|
|