pull/405/head
okjack 2 years ago
parent 4352818301
commit d6208d7df2
  1. 19
      app/build.gradle
  2. 6
      app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java
  3. 1
      build.gradle
  4. 2
      catvod/build.gradle
  5. 2
      ijkplayer/build.gradle
  6. 4
      quickjs/src/main/java/com/fongmi/quickjs/utils/Connect.java
  7. 3
      settings.gradle
  8. 3
      thunder/src/main/java/com/xunlei/downloadlib/android/XLUtil.java

@ -101,14 +101,17 @@ dependencies {
implementation project(':jianpian')
implementation project(':forcetech')
implementation project(':ijkplayer')
implementation 'androidx.media3:media3-datasource-okhttp:' + media3Version
implementation 'androidx.media3:media3-datasource-rtmp:' + media3Version
implementation 'androidx.media3:media3-exoplayer:' + media3Version
implementation 'androidx.media3:media3-exoplayer-dash:' + media3Version
implementation 'androidx.media3:media3-exoplayer-hls:' + media3Version
implementation 'androidx.media3:media3-exoplayer-rtsp:' + media3Version
implementation 'androidx.media3:media3-exoplayer-smoothstreaming:' + media3Version
implementation 'androidx.media3:media3-ui:' + media3Version
pythonImplementation project(':pyramid')
implementation project(':media-lib-datasource-okhttp')
implementation project(':media-lib-datasource-rtmp')
implementation project(':media-lib-decoder-av1')
implementation project(':media-lib-decoder-ffmpeg')
implementation project(':media-lib-exoplayer')
implementation project(':media-lib-exoplayer-dash')
implementation project(':media-lib-exoplayer-hls')
implementation project(':media-lib-exoplayer-rtsp')
implementation project(':media-lib-exoplayer-smoothstreaming')
implementation project(':media-lib-ui')
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.biometric:biometric:1.1.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.7.0'

@ -43,6 +43,7 @@ import com.fongmi.android.tv.bean.Channel;
import com.fongmi.android.tv.bean.Drm;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.bean.Sub;
import com.fongmi.android.tv.utils.Sniffer;
import com.fongmi.android.tv.utils.UrlUtil;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;
@ -66,7 +67,7 @@ public class ExoUtil {
private static Cache cache;
public static LoadControl buildLoadControl() {
return new DefaultLoadControl();
return new DefaultLoadControl(Setting.getBuffer());
}
public static TrackSelector buildTrackSelector() {
@ -115,6 +116,7 @@ public class ExoUtil {
private 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) return MimeTypes.APPLICATION_M3U8;
return null;
}
@ -143,7 +145,9 @@ public class ExoUtil {
MediaItem.Builder builder = new MediaItem.Builder().setUri(uri);
if (subs.size() > 0) builder.setSubtitleConfigurations(getSubtitles(subs));
if (drm != null) builder.setDrmConfiguration(drm.get());
builder.setAllowChunklessPreparation(Players.isHard(Players.EXO));
if (mimeType != null) builder.setMimeType(mimeType);
builder.setAds(Sniffer.getRegex(uri));
return builder.build();
}

@ -12,7 +12,6 @@ tasks.register('clean', Delete) {
project.ext {
gsonVersion = '2.10.1'
jsoupVersion = '1.15.3'
media3Version = '1.2.1'
okhttpVersion = '4.12.0'
annotationVersion = '1.3.0'
}

@ -12,7 +12,7 @@ android {
}
dependencies {
api 'androidx.media3:media3-common:' + media3Version
api project(':media-lib-common')
api 'androidx.annotation:annotation:' + annotationVersion
api 'androidx.preference:preference:1.2.1'
api 'com.google.code.gson:gson:' + gsonVersion

@ -17,5 +17,5 @@ android {
dependencies {
implementation project(':catvod')
implementation 'androidx.media3:media3-ui:1.1.1'
implementation project(':media-lib-ui')
}

@ -1,14 +1,12 @@
package com.fongmi.quickjs.utils;
import com.fongmi.quickjs.bean.Req;
import com.github.catvod.net.OkCookieJar;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
import com.whl.quickjs.wrapper.JSObject;
import com.whl.quickjs.wrapper.QuickJSContext;
import java.security.SecureRandom;
import java.util.List;
import java.util.Map;
@ -91,7 +89,7 @@ public class Connect {
}
private static RequestBody getFormDataBody(Req req) {
String boundary = "--dio-boundary-" + new SecureRandom().nextInt(42949) + "" + new SecureRandom().nextInt(67296);
String boundary = "--dio-boundary-" + new Random().nextInt(42949) + "" + new Random().nextInt(67296);
MultipartBody.Builder builder = new MultipartBody.Builder(boundary).setType(MultipartBody.FORM);
Map<String, String> params = Json.toMap(req.getData());
for (String key : params.keySet()) builder.addFormDataPart(key, params.get(key));

@ -28,9 +28,12 @@ include ':app'
include ':hook'
include ':tvbus'
include ':catvod'
include ':pyramid'
include ':quickjs'
include ':thunder'
include ':jianpian'
include ':forcetech'
include ':ijkplayer'
rootProject.name = "TV"
gradle.ext.androidxMediaModulePrefix = 'media-'
apply from: file("/media/core_settings.gradle")

@ -1,7 +1,6 @@
package com.xunlei.downloadlib.android;
import android.util.Base64;
import java.security.SecureRandom;
import java.util.Random;
import java.util.UUID;
@ -23,7 +22,7 @@ public class XLUtil {
}
private static String random(String base, int length) {
Random random = new SecureRandom();
Random random = new Random();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < length; i++) sb.append(base.charAt(random.nextInt(base.length())));
return sb.toString();

Loading…
Cancel
Save