Files
rr3-apk/decompiled-community/sources/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

188 lines
11 KiB
Java

package com.google.android.exoplayer2.trackselection;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.android.exoplayer2.util.Util;
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.Collection;
/* loaded from: classes2.dex */
public class TrackSelectionParameters implements Parcelable {
public static final Parcelable.Creator<TrackSelectionParameters> CREATOR;
public static final TrackSelectionParameters DEFAULT;
public static final TrackSelectionParameters DEFAULT_WITHOUT_CONTEXT;
public final boolean forceHighestSupportedBitrate;
public final boolean forceLowestBitrate;
public final int maxAudioBitrate;
public final int maxAudioChannelCount;
public final int maxVideoBitrate;
public final int maxVideoFrameRate;
public final int maxVideoHeight;
public final int maxVideoWidth;
public final int minVideoBitrate;
public final int minVideoFrameRate;
public final int minVideoHeight;
public final int minVideoWidth;
public final ImmutableList preferredAudioLanguages;
public final ImmutableList preferredAudioMimeTypes;
public final int preferredAudioRoleFlags;
public final ImmutableList preferredTextLanguages;
public final int preferredTextRoleFlags;
public final ImmutableList preferredVideoMimeTypes;
public final boolean selectUndeterminedTextLanguage;
public final int viewportHeight;
public final boolean viewportOrientationMayChange;
public final int viewportWidth;
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
public static class Builder {
public int minVideoBitrate;
public int minVideoFrameRate;
public int minVideoHeight;
public int minVideoWidth;
public int maxVideoWidth = Integer.MAX_VALUE;
public int maxVideoHeight = Integer.MAX_VALUE;
public int maxVideoFrameRate = Integer.MAX_VALUE;
public int maxVideoBitrate = Integer.MAX_VALUE;
public int viewportWidth = Integer.MAX_VALUE;
public int viewportHeight = Integer.MAX_VALUE;
public boolean viewportOrientationMayChange = true;
public ImmutableList preferredVideoMimeTypes = ImmutableList.of();
public ImmutableList preferredAudioLanguages = ImmutableList.of();
public int preferredAudioRoleFlags = 0;
public int maxAudioChannelCount = Integer.MAX_VALUE;
public int maxAudioBitrate = Integer.MAX_VALUE;
public ImmutableList preferredAudioMimeTypes = ImmutableList.of();
public ImmutableList preferredTextLanguages = ImmutableList.of();
public int preferredTextRoleFlags = 0;
public boolean selectUndeterminedTextLanguage = false;
public boolean forceLowestBitrate = false;
public boolean forceHighestSupportedBitrate = false;
public TrackSelectionParameters build() {
return new TrackSelectionParameters(this);
}
}
static {
TrackSelectionParameters build = new Builder().build();
DEFAULT_WITHOUT_CONTEXT = build;
DEFAULT = build;
CREATOR = new Parcelable.Creator() { // from class: com.google.android.exoplayer2.trackselection.TrackSelectionParameters.1
@Override // android.os.Parcelable.Creator
public TrackSelectionParameters createFromParcel(Parcel parcel) {
return new TrackSelectionParameters(parcel);
}
@Override // android.os.Parcelable.Creator
public TrackSelectionParameters[] newArray(int i) {
return new TrackSelectionParameters[i];
}
};
}
public TrackSelectionParameters(Builder builder) {
this.maxVideoWidth = builder.maxVideoWidth;
this.maxVideoHeight = builder.maxVideoHeight;
this.maxVideoFrameRate = builder.maxVideoFrameRate;
this.maxVideoBitrate = builder.maxVideoBitrate;
this.minVideoWidth = builder.minVideoWidth;
this.minVideoHeight = builder.minVideoHeight;
this.minVideoFrameRate = builder.minVideoFrameRate;
this.minVideoBitrate = builder.minVideoBitrate;
this.viewportWidth = builder.viewportWidth;
this.viewportHeight = builder.viewportHeight;
this.viewportOrientationMayChange = builder.viewportOrientationMayChange;
this.preferredVideoMimeTypes = builder.preferredVideoMimeTypes;
this.preferredAudioLanguages = builder.preferredAudioLanguages;
this.preferredAudioRoleFlags = builder.preferredAudioRoleFlags;
this.maxAudioChannelCount = builder.maxAudioChannelCount;
this.maxAudioBitrate = builder.maxAudioBitrate;
this.preferredAudioMimeTypes = builder.preferredAudioMimeTypes;
this.preferredTextLanguages = builder.preferredTextLanguages;
this.preferredTextRoleFlags = builder.preferredTextRoleFlags;
this.selectUndeterminedTextLanguage = builder.selectUndeterminedTextLanguage;
this.forceLowestBitrate = builder.forceLowestBitrate;
this.forceHighestSupportedBitrate = builder.forceHighestSupportedBitrate;
}
public TrackSelectionParameters(Parcel parcel) {
ArrayList arrayList = new ArrayList();
parcel.readList(arrayList, null);
this.preferredAudioLanguages = ImmutableList.copyOf((Collection) arrayList);
this.preferredAudioRoleFlags = parcel.readInt();
ArrayList arrayList2 = new ArrayList();
parcel.readList(arrayList2, null);
this.preferredTextLanguages = ImmutableList.copyOf((Collection) arrayList2);
this.preferredTextRoleFlags = parcel.readInt();
this.selectUndeterminedTextLanguage = Util.readBoolean(parcel);
this.maxVideoWidth = parcel.readInt();
this.maxVideoHeight = parcel.readInt();
this.maxVideoFrameRate = parcel.readInt();
this.maxVideoBitrate = parcel.readInt();
this.minVideoWidth = parcel.readInt();
this.minVideoHeight = parcel.readInt();
this.minVideoFrameRate = parcel.readInt();
this.minVideoBitrate = parcel.readInt();
this.viewportWidth = parcel.readInt();
this.viewportHeight = parcel.readInt();
this.viewportOrientationMayChange = Util.readBoolean(parcel);
ArrayList arrayList3 = new ArrayList();
parcel.readList(arrayList3, null);
this.preferredVideoMimeTypes = ImmutableList.copyOf((Collection) arrayList3);
this.maxAudioChannelCount = parcel.readInt();
this.maxAudioBitrate = parcel.readInt();
ArrayList arrayList4 = new ArrayList();
parcel.readList(arrayList4, null);
this.preferredAudioMimeTypes = ImmutableList.copyOf((Collection) arrayList4);
this.forceLowestBitrate = Util.readBoolean(parcel);
this.forceHighestSupportedBitrate = Util.readBoolean(parcel);
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
TrackSelectionParameters trackSelectionParameters = (TrackSelectionParameters) obj;
return this.maxVideoWidth == trackSelectionParameters.maxVideoWidth && this.maxVideoHeight == trackSelectionParameters.maxVideoHeight && this.maxVideoFrameRate == trackSelectionParameters.maxVideoFrameRate && this.maxVideoBitrate == trackSelectionParameters.maxVideoBitrate && this.minVideoWidth == trackSelectionParameters.minVideoWidth && this.minVideoHeight == trackSelectionParameters.minVideoHeight && this.minVideoFrameRate == trackSelectionParameters.minVideoFrameRate && this.minVideoBitrate == trackSelectionParameters.minVideoBitrate && this.viewportOrientationMayChange == trackSelectionParameters.viewportOrientationMayChange && this.viewportWidth == trackSelectionParameters.viewportWidth && this.viewportHeight == trackSelectionParameters.viewportHeight && this.preferredVideoMimeTypes.equals(trackSelectionParameters.preferredVideoMimeTypes) && this.preferredAudioLanguages.equals(trackSelectionParameters.preferredAudioLanguages) && this.preferredAudioRoleFlags == trackSelectionParameters.preferredAudioRoleFlags && this.maxAudioChannelCount == trackSelectionParameters.maxAudioChannelCount && this.maxAudioBitrate == trackSelectionParameters.maxAudioBitrate && this.preferredAudioMimeTypes.equals(trackSelectionParameters.preferredAudioMimeTypes) && this.preferredTextLanguages.equals(trackSelectionParameters.preferredTextLanguages) && this.preferredTextRoleFlags == trackSelectionParameters.preferredTextRoleFlags && this.selectUndeterminedTextLanguage == trackSelectionParameters.selectUndeterminedTextLanguage && this.forceLowestBitrate == trackSelectionParameters.forceLowestBitrate && this.forceHighestSupportedBitrate == trackSelectionParameters.forceHighestSupportedBitrate;
}
public int hashCode() {
return ((((((((((((((((((((((((((((((((((((((((((this.maxVideoWidth + 31) * 31) + this.maxVideoHeight) * 31) + this.maxVideoFrameRate) * 31) + this.maxVideoBitrate) * 31) + this.minVideoWidth) * 31) + this.minVideoHeight) * 31) + this.minVideoFrameRate) * 31) + this.minVideoBitrate) * 31) + (this.viewportOrientationMayChange ? 1 : 0)) * 31) + this.viewportWidth) * 31) + this.viewportHeight) * 31) + this.preferredVideoMimeTypes.hashCode()) * 31) + this.preferredAudioLanguages.hashCode()) * 31) + this.preferredAudioRoleFlags) * 31) + this.maxAudioChannelCount) * 31) + this.maxAudioBitrate) * 31) + this.preferredAudioMimeTypes.hashCode()) * 31) + this.preferredTextLanguages.hashCode()) * 31) + this.preferredTextRoleFlags) * 31) + (this.selectUndeterminedTextLanguage ? 1 : 0)) * 31) + (this.forceLowestBitrate ? 1 : 0)) * 31) + (this.forceHighestSupportedBitrate ? 1 : 0);
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeList(this.preferredAudioLanguages);
parcel.writeInt(this.preferredAudioRoleFlags);
parcel.writeList(this.preferredTextLanguages);
parcel.writeInt(this.preferredTextRoleFlags);
Util.writeBoolean(parcel, this.selectUndeterminedTextLanguage);
parcel.writeInt(this.maxVideoWidth);
parcel.writeInt(this.maxVideoHeight);
parcel.writeInt(this.maxVideoFrameRate);
parcel.writeInt(this.maxVideoBitrate);
parcel.writeInt(this.minVideoWidth);
parcel.writeInt(this.minVideoHeight);
parcel.writeInt(this.minVideoFrameRate);
parcel.writeInt(this.minVideoBitrate);
parcel.writeInt(this.viewportWidth);
parcel.writeInt(this.viewportHeight);
Util.writeBoolean(parcel, this.viewportOrientationMayChange);
parcel.writeList(this.preferredVideoMimeTypes);
parcel.writeInt(this.maxAudioChannelCount);
parcel.writeInt(this.maxAudioBitrate);
parcel.writeList(this.preferredAudioMimeTypes);
Util.writeBoolean(parcel, this.forceLowestBitrate);
Util.writeBoolean(parcel, this.forceHighestSupportedBitrate);
}
}