mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
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;
|
||||
|
||||
import static com.google.android.exoplayer2.util.Assertions.checkNotNull;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
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.UnsupportedMediaCrypto;
|
||||
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.Util;
|
||||
import com.google.android.exoplayer2.video.ColorInfo;
|
||||
import com.google.common.base.Joiner;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Represents a media format.
|
||||
@ -984,7 +989,7 @@ public final class Format implements Parcelable {
|
||||
int initializationDataSize = in.readInt();
|
||||
initializationData = new ArrayList<>(initializationDataSize);
|
||||
for (int i = 0; i < initializationDataSize; i++) {
|
||||
initializationData.add(Assertions.checkNotNull(in.createByteArray()));
|
||||
initializationData.add(checkNotNull(in.createByteArray()));
|
||||
}
|
||||
drmInitData = in.readParcelable(DrmInitData.class.getClassLoader());
|
||||
subsampleOffsetUs = in.readLong();
|
||||
@ -1322,6 +1327,26 @@ public final class Format implements Parcelable {
|
||||
if (format.codecs != null) {
|
||||
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) {
|
||||
builder.append(", res=").append(format.width).append("x").append(format.height);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user