Update ExoUtil.java

pull/123/head
FongMi 3 years ago
parent 506b53e242
commit a1103d3d3f
  1. 9
      app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java

@ -2,6 +2,7 @@ package com.fongmi.android.tv.player;
import android.graphics.Color;
import android.net.Uri;
import android.util.Base64;
import androidx.media3.common.MediaItem;
import androidx.media3.common.MimeTypes;
@ -85,11 +86,13 @@ public class ExoUtil {
}
private static MediaSource getSource(Map<String, String> headers, String url, List<Sub> subs, int errorCode) {
return new DefaultMediaSourceFactory(getDataSourceFactory(headers), getExtractorsFactory()).createMediaSource(getMediaItem(url, subs, errorCode));
Uri uri = Uri.parse(url.trim().replace("\\", ""));
if (uri.getUserInfo() != null) headers.put(HttpHeaders.AUTHORIZATION, "Basic " + Base64.encodeToString(uri.getUserInfo().getBytes(), Base64.NO_WRAP));
return new DefaultMediaSourceFactory(getDataSourceFactory(headers), getExtractorsFactory()).createMediaSource(getMediaItem(uri, subs, errorCode));
}
private static MediaItem getMediaItem(String url, List<Sub> subs, int errorCode) {
MediaItem.Builder builder = new MediaItem.Builder().setUri(Uri.parse(url.trim().replace("\\", "")));
private static MediaItem getMediaItem(Uri uri, List<Sub> subs, int errorCode) {
MediaItem.Builder builder = new MediaItem.Builder().setUri(uri);
if (errorCode == PlaybackException.ERROR_CODE_PARSING_MANIFEST_MALFORMED) builder.setMimeType(MimeTypes.APPLICATION_OCTET);
else if (errorCode == PlaybackException.ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED) builder.setMimeType(MimeTypes.APPLICATION_M3U8);
if (subs.size() > 0) builder.setSubtitleConfigurations(getSubtitles(subs));

Loading…
Cancel
Save