Add DRM info to Format.toLogString
The Widevine H264 samples in the demo app now log this from the EventLogger: ``` [X] Track:0, id=1, mimeType=video/avc, bitrate=772315, codecs=avc1.42c01e, drm=[widevine,cenc], res=320x142, fps=24.0, supported=YES ``` And the VP9 ones log: ``` [X] Track:0, id=1, mimeType=video/x-vnd.on2.vp9, bitrate=588256, codecs=vp9, drm=[widevine], res=320x142, fps=23.809525, supported=YES ``` #minor-release PiperOrigin-RevId: 379498332
This commit is contained in:
parent
912acacbe1
commit
391ad7dbb9
@ -15,6 +15,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.google.android.exoplayer2;
|
package com.google.android.exoplayer2;
|
||||||
|
|
||||||
|
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||||
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@ -22,14 +24,17 @@ import com.google.android.exoplayer2.drm.DrmInitData;
|
|||||||
import com.google.android.exoplayer2.drm.ExoMediaCrypto;
|
import com.google.android.exoplayer2.drm.ExoMediaCrypto;
|
||||||
import com.google.android.exoplayer2.drm.UnsupportedMediaCrypto;
|
import com.google.android.exoplayer2.drm.UnsupportedMediaCrypto;
|
||||||
import com.google.android.exoplayer2.metadata.Metadata;
|
import com.google.android.exoplayer2.metadata.Metadata;
|
||||||
import com.google.android.exoplayer2.util.Assertions;
|
|
||||||
import com.google.android.exoplayer2.util.MimeTypes;
|
import com.google.android.exoplayer2.util.MimeTypes;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
import com.google.android.exoplayer2.video.ColorInfo;
|
import com.google.android.exoplayer2.video.ColorInfo;
|
||||||
|
import com.google.common.base.Joiner;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.LinkedHashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a media format.
|
* Represents a media format.
|
||||||
@ -984,7 +989,7 @@ public final class Format implements Parcelable {
|
|||||||
int initializationDataSize = in.readInt();
|
int initializationDataSize = in.readInt();
|
||||||
initializationData = new ArrayList<>(initializationDataSize);
|
initializationData = new ArrayList<>(initializationDataSize);
|
||||||
for (int i = 0; i < initializationDataSize; i++) {
|
for (int i = 0; i < initializationDataSize; i++) {
|
||||||
initializationData.add(Assertions.checkNotNull(in.createByteArray()));
|
initializationData.add(checkNotNull(in.createByteArray()));
|
||||||
}
|
}
|
||||||
drmInitData = in.readParcelable(DrmInitData.class.getClassLoader());
|
drmInitData = in.readParcelable(DrmInitData.class.getClassLoader());
|
||||||
subsampleOffsetUs = in.readLong();
|
subsampleOffsetUs = in.readLong();
|
||||||
@ -1322,6 +1327,26 @@ public final class Format implements Parcelable {
|
|||||||
if (format.codecs != null) {
|
if (format.codecs != null) {
|
||||||
builder.append(", codecs=").append(format.codecs);
|
builder.append(", codecs=").append(format.codecs);
|
||||||
}
|
}
|
||||||
|
if (format.drmInitData != null) {
|
||||||
|
Set<String> schemes = new LinkedHashSet<>();
|
||||||
|
for (int i = 0; i < format.drmInitData.schemeDataCount; i++) {
|
||||||
|
UUID schemeUuid = format.drmInitData.get(i).uuid;
|
||||||
|
if (schemeUuid.equals(C.COMMON_PSSH_UUID)) {
|
||||||
|
schemes.add("cenc");
|
||||||
|
} else if (schemeUuid.equals(C.CLEARKEY_UUID)) {
|
||||||
|
schemes.add("clearkey");
|
||||||
|
} else if (schemeUuid.equals(C.PLAYREADY_UUID)) {
|
||||||
|
schemes.add("playready");
|
||||||
|
} else if (schemeUuid.equals(C.WIDEVINE_UUID)) {
|
||||||
|
schemes.add("widevine");
|
||||||
|
} else if (schemeUuid.equals(C.UUID_NIL)) {
|
||||||
|
schemes.add("universal");
|
||||||
|
} else {
|
||||||
|
schemes.add("unknown (" + schemeUuid + ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
builder.append(", drm=[").append(Joiner.on(',').join(schemes)).append(']');
|
||||||
|
}
|
||||||
if (format.width != NO_VALUE && format.height != NO_VALUE) {
|
if (format.width != NO_VALUE && format.height != NO_VALUE) {
|
||||||
builder.append(", res=").append(format.width).append("x").append(format.height);
|
builder.append(", res=").append(format.width).append("x").append(format.height);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user