Rabbit-R1/original r1/java/sources/androidx/media3/common/Format.java

724 lines
32 KiB
Java
Raw Normal View History

2024-05-21 16:08:36 -05:00
package androidx.media3.common;
import android.os.Bundle;
import androidx.media3.common.Bundleable;
import androidx.media3.common.util.BundleableUtil;
import androidx.media3.common.util.Util;
import com.google.common.base.Joiner;
import io.sentry.protocol.SentryThread;
import io.sentry.protocol.ViewHierarchyNode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.UUID;
/* loaded from: classes2.dex */
public final class Format implements Bundleable {
public static final int NO_VALUE = -1;
public static final long OFFSET_SAMPLE_RELATIVE = Long.MAX_VALUE;
public final int accessibilityChannel;
public final int averageBitrate;
public final int bitrate;
public final int channelCount;
public final String codecs;
public final ColorInfo colorInfo;
public final String containerMimeType;
public final int cryptoType;
public final DrmInitData drmInitData;
public final int encoderDelay;
public final int encoderPadding;
public final float frameRate;
private int hashCode;
public final int height;
public final String id;
public final List<byte[]> initializationData;
public final String label;
public final String language;
public final int maxInputSize;
public final Metadata metadata;
public final int pcmEncoding;
public final int peakBitrate;
public final float pixelWidthHeightRatio;
public final byte[] projectionData;
public final int roleFlags;
public final int rotationDegrees;
public final String sampleMimeType;
public final int sampleRate;
public final int selectionFlags;
public final int stereoMode;
public final long subsampleOffsetUs;
public final int tileCountHorizontal;
public final int tileCountVertical;
public final int width;
private static final Format DEFAULT = new Builder().build();
private static final String FIELD_ID = Util.intToStringMaxRadix(0);
private static final String FIELD_LABEL = Util.intToStringMaxRadix(1);
private static final String FIELD_LANGUAGE = Util.intToStringMaxRadix(2);
private static final String FIELD_SELECTION_FLAGS = Util.intToStringMaxRadix(3);
private static final String FIELD_ROLE_FLAGS = Util.intToStringMaxRadix(4);
private static final String FIELD_AVERAGE_BITRATE = Util.intToStringMaxRadix(5);
private static final String FIELD_PEAK_BITRATE = Util.intToStringMaxRadix(6);
private static final String FIELD_CODECS = Util.intToStringMaxRadix(7);
private static final String FIELD_METADATA = Util.intToStringMaxRadix(8);
private static final String FIELD_CONTAINER_MIME_TYPE = Util.intToStringMaxRadix(9);
private static final String FIELD_SAMPLE_MIME_TYPE = Util.intToStringMaxRadix(10);
private static final String FIELD_MAX_INPUT_SIZE = Util.intToStringMaxRadix(11);
private static final String FIELD_INITIALIZATION_DATA = Util.intToStringMaxRadix(12);
private static final String FIELD_DRM_INIT_DATA = Util.intToStringMaxRadix(13);
private static final String FIELD_SUBSAMPLE_OFFSET_US = Util.intToStringMaxRadix(14);
private static final String FIELD_WIDTH = Util.intToStringMaxRadix(15);
private static final String FIELD_HEIGHT = Util.intToStringMaxRadix(16);
private static final String FIELD_FRAME_RATE = Util.intToStringMaxRadix(17);
private static final String FIELD_ROTATION_DEGREES = Util.intToStringMaxRadix(18);
private static final String FIELD_PIXEL_WIDTH_HEIGHT_RATIO = Util.intToStringMaxRadix(19);
private static final String FIELD_PROJECTION_DATA = Util.intToStringMaxRadix(20);
private static final String FIELD_STEREO_MODE = Util.intToStringMaxRadix(21);
private static final String FIELD_COLOR_INFO = Util.intToStringMaxRadix(22);
private static final String FIELD_CHANNEL_COUNT = Util.intToStringMaxRadix(23);
private static final String FIELD_SAMPLE_RATE = Util.intToStringMaxRadix(24);
private static final String FIELD_PCM_ENCODING = Util.intToStringMaxRadix(25);
private static final String FIELD_ENCODER_DELAY = Util.intToStringMaxRadix(26);
private static final String FIELD_ENCODER_PADDING = Util.intToStringMaxRadix(27);
private static final String FIELD_ACCESSIBILITY_CHANNEL = Util.intToStringMaxRadix(28);
private static final String FIELD_CRYPTO_TYPE = Util.intToStringMaxRadix(29);
private static final String FIELD_TILE_COUNT_HORIZONTAL = Util.intToStringMaxRadix(30);
private static final String FIELD_TILE_COUNT_VERTICAL = Util.intToStringMaxRadix(31);
public static final Bundleable.Creator<Format> CREATOR = new Bundleable.Creator() { // from class: androidx.media3.common.Format$$ExternalSyntheticLambda0
@Override // androidx.media3.common.Bundleable.Creator
public final Bundleable fromBundle(Bundle bundle) {
Format fromBundle;
fromBundle = Format.fromBundle(bundle);
return fromBundle;
}
};
private static <T> T defaultIfNull(T t, T t2) {
return t != null ? t : t2;
}
public int getPixelCount() {
int i;
int i2 = this.width;
if (i2 == -1 || (i = this.height) == -1) {
return -1;
}
return i2 * i;
}
/* loaded from: classes2.dex */
public static final class Builder {
private int accessibilityChannel;
private int averageBitrate;
private int channelCount;
private String codecs;
private ColorInfo colorInfo;
private String containerMimeType;
private int cryptoType;
private DrmInitData drmInitData;
private int encoderDelay;
private int encoderPadding;
private float frameRate;
private int height;
private String id;
private List<byte[]> initializationData;
private String label;
private String language;
private int maxInputSize;
private Metadata metadata;
private int pcmEncoding;
private int peakBitrate;
private float pixelWidthHeightRatio;
private byte[] projectionData;
private int roleFlags;
private int rotationDegrees;
private String sampleMimeType;
private int sampleRate;
private int selectionFlags;
private int stereoMode;
private long subsampleOffsetUs;
private int tileCountHorizontal;
private int tileCountVertical;
private int width;
public Builder setAccessibilityChannel(int i) {
this.accessibilityChannel = i;
return this;
}
public Builder setAverageBitrate(int i) {
this.averageBitrate = i;
return this;
}
public Builder setChannelCount(int i) {
this.channelCount = i;
return this;
}
public Builder setCodecs(String str) {
this.codecs = str;
return this;
}
public Builder setColorInfo(ColorInfo colorInfo) {
this.colorInfo = colorInfo;
return this;
}
public Builder setContainerMimeType(String str) {
this.containerMimeType = str;
return this;
}
public Builder setCryptoType(int i) {
this.cryptoType = i;
return this;
}
public Builder setDrmInitData(DrmInitData drmInitData) {
this.drmInitData = drmInitData;
return this;
}
public Builder setEncoderDelay(int i) {
this.encoderDelay = i;
return this;
}
public Builder setEncoderPadding(int i) {
this.encoderPadding = i;
return this;
}
public Builder setFrameRate(float f) {
this.frameRate = f;
return this;
}
public Builder setHeight(int i) {
this.height = i;
return this;
}
public Builder setId(String str) {
this.id = str;
return this;
}
public Builder setInitializationData(List<byte[]> list) {
this.initializationData = list;
return this;
}
public Builder setLabel(String str) {
this.label = str;
return this;
}
public Builder setLanguage(String str) {
this.language = str;
return this;
}
public Builder setMaxInputSize(int i) {
this.maxInputSize = i;
return this;
}
public Builder setMetadata(Metadata metadata) {
this.metadata = metadata;
return this;
}
public Builder setPcmEncoding(int i) {
this.pcmEncoding = i;
return this;
}
public Builder setPeakBitrate(int i) {
this.peakBitrate = i;
return this;
}
public Builder setPixelWidthHeightRatio(float f) {
this.pixelWidthHeightRatio = f;
return this;
}
public Builder setProjectionData(byte[] bArr) {
this.projectionData = bArr;
return this;
}
public Builder setRoleFlags(int i) {
this.roleFlags = i;
return this;
}
public Builder setRotationDegrees(int i) {
this.rotationDegrees = i;
return this;
}
public Builder setSampleMimeType(String str) {
this.sampleMimeType = str;
return this;
}
public Builder setSampleRate(int i) {
this.sampleRate = i;
return this;
}
public Builder setSelectionFlags(int i) {
this.selectionFlags = i;
return this;
}
public Builder setStereoMode(int i) {
this.stereoMode = i;
return this;
}
public Builder setSubsampleOffsetUs(long j) {
this.subsampleOffsetUs = j;
return this;
}
public Builder setTileCountHorizontal(int i) {
this.tileCountHorizontal = i;
return this;
}
public Builder setTileCountVertical(int i) {
this.tileCountVertical = i;
return this;
}
public Builder setWidth(int i) {
this.width = i;
return this;
}
public Builder() {
this.averageBitrate = -1;
this.peakBitrate = -1;
this.maxInputSize = -1;
this.subsampleOffsetUs = Long.MAX_VALUE;
this.width = -1;
this.height = -1;
this.frameRate = -1.0f;
this.pixelWidthHeightRatio = 1.0f;
this.stereoMode = -1;
this.channelCount = -1;
this.sampleRate = -1;
this.pcmEncoding = -1;
this.accessibilityChannel = -1;
this.tileCountHorizontal = -1;
this.tileCountVertical = -1;
this.cryptoType = 0;
}
private Builder(Format format) {
this.id = format.id;
this.label = format.label;
this.language = format.language;
this.selectionFlags = format.selectionFlags;
this.roleFlags = format.roleFlags;
this.averageBitrate = format.averageBitrate;
this.peakBitrate = format.peakBitrate;
this.codecs = format.codecs;
this.metadata = format.metadata;
this.containerMimeType = format.containerMimeType;
this.sampleMimeType = format.sampleMimeType;
this.maxInputSize = format.maxInputSize;
this.initializationData = format.initializationData;
this.drmInitData = format.drmInitData;
this.subsampleOffsetUs = format.subsampleOffsetUs;
this.width = format.width;
this.height = format.height;
this.frameRate = format.frameRate;
this.rotationDegrees = format.rotationDegrees;
this.pixelWidthHeightRatio = format.pixelWidthHeightRatio;
this.projectionData = format.projectionData;
this.stereoMode = format.stereoMode;
this.colorInfo = format.colorInfo;
this.channelCount = format.channelCount;
this.sampleRate = format.sampleRate;
this.pcmEncoding = format.pcmEncoding;
this.encoderDelay = format.encoderDelay;
this.encoderPadding = format.encoderPadding;
this.accessibilityChannel = format.accessibilityChannel;
this.tileCountHorizontal = format.tileCountHorizontal;
this.tileCountVertical = format.tileCountVertical;
this.cryptoType = format.cryptoType;
}
public Builder setId(int i) {
this.id = Integer.toString(i);
return this;
}
public Format build() {
return new Format(this);
}
}
private Format(Builder builder) {
this.id = builder.id;
this.label = builder.label;
this.language = Util.normalizeLanguageCode(builder.language);
this.selectionFlags = builder.selectionFlags;
this.roleFlags = builder.roleFlags;
int i = builder.averageBitrate;
this.averageBitrate = i;
int i2 = builder.peakBitrate;
this.peakBitrate = i2;
this.bitrate = i2 != -1 ? i2 : i;
this.codecs = builder.codecs;
this.metadata = builder.metadata;
this.containerMimeType = builder.containerMimeType;
this.sampleMimeType = builder.sampleMimeType;
this.maxInputSize = builder.maxInputSize;
this.initializationData = builder.initializationData == null ? Collections.emptyList() : builder.initializationData;
DrmInitData drmInitData = builder.drmInitData;
this.drmInitData = drmInitData;
this.subsampleOffsetUs = builder.subsampleOffsetUs;
this.width = builder.width;
this.height = builder.height;
this.frameRate = builder.frameRate;
this.rotationDegrees = builder.rotationDegrees == -1 ? 0 : builder.rotationDegrees;
this.pixelWidthHeightRatio = builder.pixelWidthHeightRatio == -1.0f ? 1.0f : builder.pixelWidthHeightRatio;
this.projectionData = builder.projectionData;
this.stereoMode = builder.stereoMode;
this.colorInfo = builder.colorInfo;
this.channelCount = builder.channelCount;
this.sampleRate = builder.sampleRate;
this.pcmEncoding = builder.pcmEncoding;
this.encoderDelay = builder.encoderDelay == -1 ? 0 : builder.encoderDelay;
this.encoderPadding = builder.encoderPadding != -1 ? builder.encoderPadding : 0;
this.accessibilityChannel = builder.accessibilityChannel;
this.tileCountHorizontal = builder.tileCountHorizontal;
this.tileCountVertical = builder.tileCountVertical;
if (builder.cryptoType != 0 || drmInitData == null) {
this.cryptoType = builder.cryptoType;
} else {
this.cryptoType = 1;
}
}
public Builder buildUpon() {
return new Builder();
}
public Format withManifestFormatInfo(Format format) {
String str;
Metadata copyWithAppendedEntriesFrom;
if (this == format) {
return this;
}
int trackType = MimeTypes.getTrackType(this.sampleMimeType);
String str2 = format.id;
String str3 = format.label;
if (str3 == null) {
str3 = this.label;
}
String str4 = this.language;
if ((trackType == 3 || trackType == 1) && (str = format.language) != null) {
str4 = str;
}
int i = this.averageBitrate;
if (i == -1) {
i = format.averageBitrate;
}
int i2 = this.peakBitrate;
if (i2 == -1) {
i2 = format.peakBitrate;
}
String str5 = this.codecs;
if (str5 == null) {
String codecsOfType = Util.getCodecsOfType(format.codecs, trackType);
if (Util.splitCodecs(codecsOfType).length == 1) {
str5 = codecsOfType;
}
}
Metadata metadata = this.metadata;
if (metadata == null) {
copyWithAppendedEntriesFrom = format.metadata;
} else {
copyWithAppendedEntriesFrom = metadata.copyWithAppendedEntriesFrom(format.metadata);
}
float f = this.frameRate;
if (f == -1.0f && trackType == 2) {
f = format.frameRate;
}
int i3 = this.selectionFlags | format.selectionFlags;
return buildUpon().setId(str2).setLabel(str3).setLanguage(str4).setSelectionFlags(i3).setRoleFlags(this.roleFlags | format.roleFlags).setAverageBitrate(i).setPeakBitrate(i2).setCodecs(str5).setMetadata(copyWithAppendedEntriesFrom).setDrmInitData(DrmInitData.createSessionCreationData(format.drmInitData, this.drmInitData)).setFrameRate(f).build();
}
public Format copyWithCryptoType(int i) {
return buildUpon().setCryptoType(i).build();
}
public String toString() {
return "Format(" + this.id + ", " + this.label + ", " + this.containerMimeType + ", " + this.sampleMimeType + ", " + this.codecs + ", " + this.bitrate + ", " + this.language + ", [" + this.width + ", " + this.height + ", " + this.frameRate + ", " + this.colorInfo + "], [" + this.channelCount + ", " + this.sampleRate + "])";
}
public int hashCode() {
if (this.hashCode == 0) {
String str = this.id;
int hashCode = (527 + (str == null ? 0 : str.hashCode())) * 31;
String str2 = this.label;
int hashCode2 = (hashCode + (str2 != null ? str2.hashCode() : 0)) * 31;
String str3 = this.language;
int hashCode3 = (((((((((hashCode2 + (str3 == null ? 0 : str3.hashCode())) * 31) + this.selectionFlags) * 31) + this.roleFlags) * 31) + this.averageBitrate) * 31) + this.peakBitrate) * 31;
String str4 = this.codecs;
int hashCode4 = (hashCode3 + (str4 == null ? 0 : str4.hashCode())) * 31;
Metadata metadata = this.metadata;
int hashCode5 = (hashCode4 + (metadata == null ? 0 : metadata.hashCode())) * 31;
String str5 = this.containerMimeType;
int hashCode6 = (hashCode5 + (str5 == null ? 0 : str5.hashCode())) * 31;
String str6 = this.sampleMimeType;
this.hashCode = ((((((((((((((((((((((((((((((((((hashCode6 + (str6 != null ? str6.hashCode() : 0)) * 31) + this.maxInputSize) * 31) + ((int) this.subsampleOffsetUs)) * 31) + this.width) * 31) + this.height) * 31) + Float.floatToIntBits(this.frameRate)) * 31) + this.rotationDegrees) * 31) + Float.floatToIntBits(this.pixelWidthHeightRatio)) * 31) + this.stereoMode) * 31) + this.channelCount) * 31) + this.sampleRate) * 31) + this.pcmEncoding) * 31) + this.encoderDelay) * 31) + this.encoderPadding) * 31) + this.accessibilityChannel) * 31) + this.tileCountHorizontal) * 31) + this.tileCountVertical) * 31) + this.cryptoType;
}
return this.hashCode;
}
public boolean equals(Object obj) {
int i;
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Format format = (Format) obj;
int i2 = this.hashCode;
if (i2 == 0 || (i = format.hashCode) == 0 || i2 == i) {
return this.selectionFlags == format.selectionFlags && this.roleFlags == format.roleFlags && this.averageBitrate == format.averageBitrate && this.peakBitrate == format.peakBitrate && this.maxInputSize == format.maxInputSize && this.subsampleOffsetUs == format.subsampleOffsetUs && this.width == format.width && this.height == format.height && this.rotationDegrees == format.rotationDegrees && this.stereoMode == format.stereoMode && this.channelCount == format.channelCount && this.sampleRate == format.sampleRate && this.pcmEncoding == format.pcmEncoding && this.encoderDelay == format.encoderDelay && this.encoderPadding == format.encoderPadding && this.accessibilityChannel == format.accessibilityChannel && this.tileCountHorizontal == format.tileCountHorizontal && this.tileCountVertical == format.tileCountVertical && this.cryptoType == format.cryptoType && Float.compare(this.frameRate, format.frameRate) == 0 && Float.compare(this.pixelWidthHeightRatio, format.pixelWidthHeightRatio) == 0 && Util.areEqual(this.id, format.id) && Util.areEqual(this.label, format.label) && Util.areEqual(this.codecs, format.codecs) && Util.areEqual(this.containerMimeType, format.containerMimeType) && Util.areEqual(this.sampleMimeType, format.sampleMimeType) && Util.areEqual(this.language, format.language) && Arrays.equals(this.projectionData, format.projectionData) && Util.areEqual(this.metadata, format.metadata) && Util.areEqual(this.colorInfo, format.colorInfo) && Util.areEqual(this.drmInitData, format.drmInitData) && initializationDataEquals(format);
}
return false;
}
public boolean initializationDataEquals(Format format) {
if (this.initializationData.size() != format.initializationData.size()) {
return false;
}
for (int i = 0; i < this.initializationData.size(); i++) {
if (!Arrays.equals(this.initializationData.get(i), format.initializationData.get(i))) {
return false;
}
}
return true;
}
public static String toLogString(Format format) {
if (format == null) {
return "null";
}
StringBuilder sb = new StringBuilder();
sb.append("id=").append(format.id).append(", mimeType=").append(format.sampleMimeType);
if (format.bitrate != -1) {
sb.append(", bitrate=").append(format.bitrate);
}
if (format.codecs != null) {
sb.append(", codecs=").append(format.codecs);
}
if (format.drmInitData != null) {
LinkedHashSet linkedHashSet = new LinkedHashSet();
for (int i = 0; i < format.drmInitData.schemeDataCount; i++) {
UUID uuid = format.drmInitData.get(i).uuid;
if (uuid.equals(C.COMMON_PSSH_UUID)) {
linkedHashSet.add("cenc");
} else if (uuid.equals(C.CLEARKEY_UUID)) {
linkedHashSet.add("clearkey");
} else if (uuid.equals(C.PLAYREADY_UUID)) {
linkedHashSet.add("playready");
} else if (uuid.equals(C.WIDEVINE_UUID)) {
linkedHashSet.add("widevine");
} else if (uuid.equals(C.UUID_NIL)) {
linkedHashSet.add("universal");
} else {
linkedHashSet.add("unknown (" + uuid + ")");
}
}
sb.append(", drm=[");
Joiner.on(',').appendTo(sb, (Iterable<? extends Object>) linkedHashSet);
sb.append(']');
}
if (format.width != -1 && format.height != -1) {
sb.append(", res=").append(format.width).append(ViewHierarchyNode.JsonKeys.X).append(format.height);
}
ColorInfo colorInfo = format.colorInfo;
if (colorInfo != null && colorInfo.isValid()) {
sb.append(", color=").append(format.colorInfo.toLogString());
}
if (format.frameRate != -1.0f) {
sb.append(", fps=").append(format.frameRate);
}
if (format.channelCount != -1) {
sb.append(", channels=").append(format.channelCount);
}
if (format.sampleRate != -1) {
sb.append(", sample_rate=").append(format.sampleRate);
}
if (format.language != null) {
sb.append(", language=").append(format.language);
}
if (format.label != null) {
sb.append(", label=").append(format.label);
}
if (format.selectionFlags != 0) {
ArrayList arrayList = new ArrayList();
if ((format.selectionFlags & 4) != 0) {
arrayList.add("auto");
}
if ((format.selectionFlags & 1) != 0) {
arrayList.add("default");
}
if ((format.selectionFlags & 2) != 0) {
arrayList.add("forced");
}
sb.append(", selectionFlags=[");
Joiner.on(',').appendTo(sb, (Iterable<? extends Object>) arrayList);
sb.append("]");
}
if (format.roleFlags != 0) {
ArrayList arrayList2 = new ArrayList();
if ((format.roleFlags & 1) != 0) {
arrayList2.add(SentryThread.JsonKeys.MAIN);
}
if ((format.roleFlags & 2) != 0) {
arrayList2.add("alt");
}
if ((format.roleFlags & 4) != 0) {
arrayList2.add("supplementary");
}
if ((format.roleFlags & 8) != 0) {
arrayList2.add("commentary");
}
if ((format.roleFlags & 16) != 0) {
arrayList2.add("dub");
}
if ((format.roleFlags & 32) != 0) {
arrayList2.add("emergency");
}
if ((format.roleFlags & 64) != 0) {
arrayList2.add("caption");
}
if ((format.roleFlags & 128) != 0) {
arrayList2.add("subtitle");
}
if ((format.roleFlags & 256) != 0) {
arrayList2.add("sign");
}
if ((format.roleFlags & 512) != 0) {
arrayList2.add("describes-video");
}
if ((format.roleFlags & 1024) != 0) {
arrayList2.add("describes-music");
}
if ((format.roleFlags & 2048) != 0) {
arrayList2.add("enhanced-intelligibility");
}
if ((format.roleFlags & 4096) != 0) {
arrayList2.add("transcribes-dialog");
}
if ((format.roleFlags & 8192) != 0) {
arrayList2.add("easy-read");
}
if ((format.roleFlags & 16384) != 0) {
arrayList2.add("trick-play");
}
sb.append(", roleFlags=[");
Joiner.on(',').appendTo(sb, (Iterable<? extends Object>) arrayList2);
sb.append("]");
}
return sb.toString();
}
@Override // androidx.media3.common.Bundleable
public Bundle toBundle() {
return toBundle(false);
}
public Bundle toBundle(boolean z) {
Bundle bundle = new Bundle();
bundle.putString(FIELD_ID, this.id);
bundle.putString(FIELD_LABEL, this.label);
bundle.putString(FIELD_LANGUAGE, this.language);
bundle.putInt(FIELD_SELECTION_FLAGS, this.selectionFlags);
bundle.putInt(FIELD_ROLE_FLAGS, this.roleFlags);
bundle.putInt(FIELD_AVERAGE_BITRATE, this.averageBitrate);
bundle.putInt(FIELD_PEAK_BITRATE, this.peakBitrate);
bundle.putString(FIELD_CODECS, this.codecs);
if (!z) {
bundle.putParcelable(FIELD_METADATA, this.metadata);
}
bundle.putString(FIELD_CONTAINER_MIME_TYPE, this.containerMimeType);
bundle.putString(FIELD_SAMPLE_MIME_TYPE, this.sampleMimeType);
bundle.putInt(FIELD_MAX_INPUT_SIZE, this.maxInputSize);
for (int i = 0; i < this.initializationData.size(); i++) {
bundle.putByteArray(keyForInitializationData(i), this.initializationData.get(i));
}
bundle.putParcelable(FIELD_DRM_INIT_DATA, this.drmInitData);
bundle.putLong(FIELD_SUBSAMPLE_OFFSET_US, this.subsampleOffsetUs);
bundle.putInt(FIELD_WIDTH, this.width);
bundle.putInt(FIELD_HEIGHT, this.height);
bundle.putFloat(FIELD_FRAME_RATE, this.frameRate);
bundle.putInt(FIELD_ROTATION_DEGREES, this.rotationDegrees);
bundle.putFloat(FIELD_PIXEL_WIDTH_HEIGHT_RATIO, this.pixelWidthHeightRatio);
bundle.putByteArray(FIELD_PROJECTION_DATA, this.projectionData);
bundle.putInt(FIELD_STEREO_MODE, this.stereoMode);
ColorInfo colorInfo = this.colorInfo;
if (colorInfo != null) {
bundle.putBundle(FIELD_COLOR_INFO, colorInfo.toBundle());
}
bundle.putInt(FIELD_CHANNEL_COUNT, this.channelCount);
bundle.putInt(FIELD_SAMPLE_RATE, this.sampleRate);
bundle.putInt(FIELD_PCM_ENCODING, this.pcmEncoding);
bundle.putInt(FIELD_ENCODER_DELAY, this.encoderDelay);
bundle.putInt(FIELD_ENCODER_PADDING, this.encoderPadding);
bundle.putInt(FIELD_ACCESSIBILITY_CHANNEL, this.accessibilityChannel);
bundle.putInt(FIELD_TILE_COUNT_HORIZONTAL, this.tileCountHorizontal);
bundle.putInt(FIELD_TILE_COUNT_VERTICAL, this.tileCountVertical);
bundle.putInt(FIELD_CRYPTO_TYPE, this.cryptoType);
return bundle;
}
/* JADX INFO: Access modifiers changed from: private */
public static Format fromBundle(Bundle bundle) {
Builder builder = new Builder();
BundleableUtil.ensureClassLoader(bundle);
String string = bundle.getString(FIELD_ID);
Format format = DEFAULT;
builder.setId((String) defaultIfNull(string, format.id)).setLabel((String) defaultIfNull(bundle.getString(FIELD_LABEL), format.label)).setLanguage((String) defaultIfNull(bundle.getString(FIELD_LANGUAGE), format.language)).setSelectionFlags(bundle.getInt(FIELD_SELECTION_FLAGS, format.selectionFlags)).setRoleFlags(bundle.getInt(FIELD_ROLE_FLAGS, format.roleFlags)).setAverageBitrate(bundle.getInt(FIELD_AVERAGE_BITRATE, format.averageBitrate)).setPeakBitrate(bundle.getInt(FIELD_PEAK_BITRATE, format.peakBitrate)).setCodecs((String) defaultIfNull(bundle.getString(FIELD_CODECS), format.codecs)).setMetadata((Metadata) defaultIfNull((Metadata) bundle.getParcelable(FIELD_METADATA), format.metadata)).setContainerMimeType((String) defaultIfNull(bundle.getString(FIELD_CONTAINER_MIME_TYPE), format.containerMimeType)).setSampleMimeType((String) defaultIfNull(bundle.getString(FIELD_SAMPLE_MIME_TYPE), format.sampleMimeType)).setMaxInputSize(bundle.getInt(FIELD_MAX_INPUT_SIZE, format.maxInputSize));
ArrayList arrayList = new ArrayList();
int i = 0;
while (true) {
byte[] byteArray = bundle.getByteArray(keyForInitializationData(i));
if (byteArray == null) {
break;
}
arrayList.add(byteArray);
i++;
}
Builder drmInitData = builder.setInitializationData(arrayList).setDrmInitData((DrmInitData) bundle.getParcelable(FIELD_DRM_INIT_DATA));
String str = FIELD_SUBSAMPLE_OFFSET_US;
Format format2 = DEFAULT;
drmInitData.setSubsampleOffsetUs(bundle.getLong(str, format2.subsampleOffsetUs)).setWidth(bundle.getInt(FIELD_WIDTH, format2.width)).setHeight(bundle.getInt(FIELD_HEIGHT, format2.height)).setFrameRate(bundle.getFloat(FIELD_FRAME_RATE, format2.frameRate)).setRotationDegrees(bundle.getInt(FIELD_ROTATION_DEGREES, format2.rotationDegrees)).setPixelWidthHeightRatio(bundle.getFloat(FIELD_PIXEL_WIDTH_HEIGHT_RATIO, format2.pixelWidthHeightRatio)).setProjectionData(bundle.getByteArray(FIELD_PROJECTION_DATA)).setStereoMode(bundle.getInt(FIELD_STEREO_MODE, format2.stereoMode));
Bundle bundle2 = bundle.getBundle(FIELD_COLOR_INFO);
if (bundle2 != null) {
builder.setColorInfo(ColorInfo.CREATOR.fromBundle(bundle2));
}
builder.setChannelCount(bundle.getInt(FIELD_CHANNEL_COUNT, format2.channelCount)).setSampleRate(bundle.getInt(FIELD_SAMPLE_RATE, format2.sampleRate)).setPcmEncoding(bundle.getInt(FIELD_PCM_ENCODING, format2.pcmEncoding)).setEncoderDelay(bundle.getInt(FIELD_ENCODER_DELAY, format2.encoderDelay)).setEncoderPadding(bundle.getInt(FIELD_ENCODER_PADDING, format2.encoderPadding)).setAccessibilityChannel(bundle.getInt(FIELD_ACCESSIBILITY_CHANNEL, format2.accessibilityChannel)).setTileCountHorizontal(bundle.getInt(FIELD_TILE_COUNT_HORIZONTAL, format2.tileCountHorizontal)).setTileCountVertical(bundle.getInt(FIELD_TILE_COUNT_VERTICAL, format2.tileCountVertical)).setCryptoType(bundle.getInt(FIELD_CRYPTO_TYPE, format2.cryptoType));
return builder.build();
}
private static String keyForInitializationData(int i) {
return FIELD_INITIALIZATION_DATA + "_" + Integer.toString(i, 36);
}
}