Support drm header

pull/589/head
FongMi 9 months ago
parent 9ba0105626
commit e741a777a1
  1. 4
      app/build.gradle
  2. 10
      app/src/main/java/com/fongmi/android/tv/bean/Drm.java

@ -13,8 +13,8 @@ android {
minSdk 21
//noinspection ExpiredTargetSdkVersion
targetSdk 28
versionCode 324
versionName "3.2.4"
versionCode 325
versionName "3.2.5"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString(), "eventBusIndex": "com.fongmi.android.tv.event.EventIndex"]

@ -5,6 +5,8 @@ import android.text.TextUtils;
import androidx.media3.common.C;
import androidx.media3.common.MediaItem;
import com.github.catvod.utils.Json;
import com.google.gson.JsonElement;
import com.google.gson.annotations.SerializedName;
import java.util.UUID;
@ -15,6 +17,8 @@ public class Drm {
private String key;
@SerializedName("type")
private String type;
@SerializedName("header")
private JsonElement header;
public static Drm create(String key, String type) {
return new Drm(key, type);
@ -33,6 +37,10 @@ public class Drm {
return TextUtils.isEmpty(type) ? "" : type;
}
private JsonElement getHeader() {
return header;
}
public UUID getUUID() {
if (getType().contains("playready")) return C.PLAYREADY_UUID;
if (getType().contains("widevine")) return C.WIDEVINE_UUID;
@ -41,6 +49,6 @@ public class Drm {
}
public MediaItem.DrmConfiguration get() {
return new MediaItem.DrmConfiguration.Builder(getUUID()).setLicenseUri(getKey()).setMultiSession(!getType().contains("clearkey")).build();
return new MediaItem.DrmConfiguration.Builder(getUUID()).setLicenseUri(getKey()).setLicenseRequestHeaders(Json.toMap(getHeader())).setMultiSession(!getType().contains("clearkey")).build();
}
}

Loading…
Cancel
Save