- 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
305 lines
15 KiB
Java
305 lines
15 KiB
Java
package com.google.android.exoplayer2;
|
|
|
|
import android.net.Uri;
|
|
import com.google.android.exoplayer2.util.Assertions;
|
|
import com.google.android.exoplayer2.util.Util;
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class MediaItem {
|
|
public final ClippingProperties clippingProperties;
|
|
public final LiveConfiguration liveConfiguration;
|
|
public final String mediaId;
|
|
public final MediaMetadata mediaMetadata;
|
|
public final PlaybackProperties playbackProperties;
|
|
public static final MediaItem EMPTY = new Builder().build();
|
|
public static final Bundleable$Creator CREATOR = new MediaItem$$ExternalSyntheticLambda0();
|
|
|
|
public static final class Builder {
|
|
public Uri adTagUri;
|
|
public Object adsId;
|
|
public boolean clipRelativeToDefaultPosition;
|
|
public boolean clipRelativeToLiveWindow;
|
|
public long clipStartPositionMs;
|
|
public boolean clipStartsAtKeyFrame;
|
|
public String customCacheKey;
|
|
public boolean drmForceDefaultLicenseUri;
|
|
public byte[] drmKeySetId;
|
|
public Uri drmLicenseUri;
|
|
public boolean drmMultiSession;
|
|
public boolean drmPlayClearContentWithoutKey;
|
|
public UUID drmUuid;
|
|
public String mediaId;
|
|
public MediaMetadata mediaMetadata;
|
|
public String mimeType;
|
|
public Object tag;
|
|
public Uri uri;
|
|
public long clipEndPositionMs = Long.MIN_VALUE;
|
|
public List drmSessionForClearTypes = Collections.emptyList();
|
|
public Map drmLicenseRequestHeaders = Collections.emptyMap();
|
|
public List streamKeys = Collections.emptyList();
|
|
public List subtitles = Collections.emptyList();
|
|
public long liveTargetOffsetMs = com.mbridge.msdk.playercommon.exoplayer2.C.TIME_UNSET;
|
|
public long liveMinOffsetMs = com.mbridge.msdk.playercommon.exoplayer2.C.TIME_UNSET;
|
|
public long liveMaxOffsetMs = com.mbridge.msdk.playercommon.exoplayer2.C.TIME_UNSET;
|
|
public float liveMinPlaybackSpeed = -3.4028235E38f;
|
|
public float liveMaxPlaybackSpeed = -3.4028235E38f;
|
|
|
|
public Builder setUri(Uri uri) {
|
|
this.uri = uri;
|
|
return this;
|
|
}
|
|
|
|
public Builder setMediaId(String str) {
|
|
this.mediaId = (String) Assertions.checkNotNull(str);
|
|
return this;
|
|
}
|
|
|
|
public MediaItem build() {
|
|
PlaybackProperties playbackProperties;
|
|
Assertions.checkState(this.drmLicenseUri == null || this.drmUuid != null);
|
|
Uri uri = this.uri;
|
|
if (uri != null) {
|
|
String str = this.mimeType;
|
|
UUID uuid = this.drmUuid;
|
|
DrmConfiguration drmConfiguration = uuid != null ? new DrmConfiguration(uuid, this.drmLicenseUri, this.drmLicenseRequestHeaders, this.drmMultiSession, this.drmForceDefaultLicenseUri, this.drmPlayClearContentWithoutKey, this.drmSessionForClearTypes, this.drmKeySetId) : null;
|
|
Uri uri2 = this.adTagUri;
|
|
playbackProperties = new PlaybackProperties(uri, str, drmConfiguration, uri2 != null ? new AdsConfiguration(uri2, this.adsId) : null, this.streamKeys, this.customCacheKey, this.subtitles, this.tag);
|
|
} else {
|
|
playbackProperties = null;
|
|
}
|
|
String str2 = this.mediaId;
|
|
if (str2 == null) {
|
|
str2 = "";
|
|
}
|
|
String str3 = str2;
|
|
ClippingProperties clippingProperties = new ClippingProperties(this.clipStartPositionMs, this.clipEndPositionMs, this.clipRelativeToLiveWindow, this.clipRelativeToDefaultPosition, this.clipStartsAtKeyFrame);
|
|
LiveConfiguration liveConfiguration = new LiveConfiguration(this.liveTargetOffsetMs, this.liveMinOffsetMs, this.liveMaxOffsetMs, this.liveMinPlaybackSpeed, this.liveMaxPlaybackSpeed);
|
|
MediaMetadata mediaMetadata = this.mediaMetadata;
|
|
if (mediaMetadata == null) {
|
|
mediaMetadata = MediaMetadata.EMPTY;
|
|
}
|
|
return new MediaItem(str3, clippingProperties, playbackProperties, liveConfiguration, mediaMetadata);
|
|
}
|
|
}
|
|
|
|
public static final class DrmConfiguration {
|
|
public final boolean forceDefaultLicenseUri;
|
|
public final byte[] keySetId;
|
|
public final Uri licenseUri;
|
|
public final boolean multiSession;
|
|
public final boolean playClearContentWithoutKey;
|
|
public final Map requestHeaders;
|
|
public final List sessionForClearTypes;
|
|
public final UUID uuid;
|
|
|
|
public DrmConfiguration(UUID uuid, Uri uri, Map map, boolean z, boolean z2, boolean z3, List list, byte[] bArr) {
|
|
Assertions.checkArgument((z2 && uri == null) ? false : true);
|
|
this.uuid = uuid;
|
|
this.licenseUri = uri;
|
|
this.requestHeaders = map;
|
|
this.multiSession = z;
|
|
this.forceDefaultLicenseUri = z2;
|
|
this.playClearContentWithoutKey = z3;
|
|
this.sessionForClearTypes = list;
|
|
this.keySetId = bArr != null ? Arrays.copyOf(bArr, bArr.length) : null;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof DrmConfiguration)) {
|
|
return false;
|
|
}
|
|
DrmConfiguration drmConfiguration = (DrmConfiguration) obj;
|
|
return this.uuid.equals(drmConfiguration.uuid) && Util.areEqual(this.licenseUri, drmConfiguration.licenseUri) && Util.areEqual(this.requestHeaders, drmConfiguration.requestHeaders) && this.multiSession == drmConfiguration.multiSession && this.forceDefaultLicenseUri == drmConfiguration.forceDefaultLicenseUri && this.playClearContentWithoutKey == drmConfiguration.playClearContentWithoutKey && this.sessionForClearTypes.equals(drmConfiguration.sessionForClearTypes) && Arrays.equals(this.keySetId, drmConfiguration.keySetId);
|
|
}
|
|
|
|
public int hashCode() {
|
|
int hashCode = this.uuid.hashCode() * 31;
|
|
Uri uri = this.licenseUri;
|
|
return ((((((((((((hashCode + (uri != null ? uri.hashCode() : 0)) * 31) + this.requestHeaders.hashCode()) * 31) + (this.multiSession ? 1 : 0)) * 31) + (this.forceDefaultLicenseUri ? 1 : 0)) * 31) + (this.playClearContentWithoutKey ? 1 : 0)) * 31) + this.sessionForClearTypes.hashCode()) * 31) + Arrays.hashCode(this.keySetId);
|
|
}
|
|
}
|
|
|
|
public static final class AdsConfiguration {
|
|
public final Uri adTagUri;
|
|
public final Object adsId;
|
|
|
|
public AdsConfiguration(Uri uri, Object obj) {
|
|
this.adTagUri = uri;
|
|
this.adsId = obj;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof AdsConfiguration)) {
|
|
return false;
|
|
}
|
|
AdsConfiguration adsConfiguration = (AdsConfiguration) obj;
|
|
return this.adTagUri.equals(adsConfiguration.adTagUri) && Util.areEqual(this.adsId, adsConfiguration.adsId);
|
|
}
|
|
|
|
public int hashCode() {
|
|
int hashCode = this.adTagUri.hashCode() * 31;
|
|
Object obj = this.adsId;
|
|
return hashCode + (obj != null ? obj.hashCode() : 0);
|
|
}
|
|
}
|
|
|
|
public static final class PlaybackProperties {
|
|
public final AdsConfiguration adsConfiguration;
|
|
public final String customCacheKey;
|
|
public final DrmConfiguration drmConfiguration;
|
|
public final String mimeType;
|
|
public final List streamKeys;
|
|
public final List subtitles;
|
|
public final Object tag;
|
|
public final Uri uri;
|
|
|
|
public PlaybackProperties(Uri uri, String str, DrmConfiguration drmConfiguration, AdsConfiguration adsConfiguration, List list, String str2, List list2, Object obj) {
|
|
this.uri = uri;
|
|
this.mimeType = str;
|
|
this.drmConfiguration = drmConfiguration;
|
|
this.adsConfiguration = adsConfiguration;
|
|
this.streamKeys = list;
|
|
this.customCacheKey = str2;
|
|
this.subtitles = list2;
|
|
this.tag = obj;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof PlaybackProperties)) {
|
|
return false;
|
|
}
|
|
PlaybackProperties playbackProperties = (PlaybackProperties) obj;
|
|
return this.uri.equals(playbackProperties.uri) && Util.areEqual(this.mimeType, playbackProperties.mimeType) && Util.areEqual(this.drmConfiguration, playbackProperties.drmConfiguration) && Util.areEqual(this.adsConfiguration, playbackProperties.adsConfiguration) && this.streamKeys.equals(playbackProperties.streamKeys) && Util.areEqual(this.customCacheKey, playbackProperties.customCacheKey) && this.subtitles.equals(playbackProperties.subtitles) && Util.areEqual(this.tag, playbackProperties.tag);
|
|
}
|
|
|
|
public int hashCode() {
|
|
int hashCode = this.uri.hashCode() * 31;
|
|
String str = this.mimeType;
|
|
int hashCode2 = (hashCode + (str == null ? 0 : str.hashCode())) * 31;
|
|
DrmConfiguration drmConfiguration = this.drmConfiguration;
|
|
int hashCode3 = (hashCode2 + (drmConfiguration == null ? 0 : drmConfiguration.hashCode())) * 31;
|
|
AdsConfiguration adsConfiguration = this.adsConfiguration;
|
|
int hashCode4 = (((hashCode3 + (adsConfiguration == null ? 0 : adsConfiguration.hashCode())) * 31) + this.streamKeys.hashCode()) * 31;
|
|
String str2 = this.customCacheKey;
|
|
int hashCode5 = (((hashCode4 + (str2 == null ? 0 : str2.hashCode())) * 31) + this.subtitles.hashCode()) * 31;
|
|
Object obj = this.tag;
|
|
return hashCode5 + (obj != null ? obj.hashCode() : 0);
|
|
}
|
|
}
|
|
|
|
public static final class LiveConfiguration {
|
|
public final long maxOffsetMs;
|
|
public final float maxPlaybackSpeed;
|
|
public final long minOffsetMs;
|
|
public final float minPlaybackSpeed;
|
|
public final long targetOffsetMs;
|
|
public static final LiveConfiguration UNSET = new LiveConfiguration(com.mbridge.msdk.playercommon.exoplayer2.C.TIME_UNSET, com.mbridge.msdk.playercommon.exoplayer2.C.TIME_UNSET, com.mbridge.msdk.playercommon.exoplayer2.C.TIME_UNSET, -3.4028235E38f, -3.4028235E38f);
|
|
public static final Bundleable$Creator CREATOR = new MediaItem$$ExternalSyntheticLambda0();
|
|
|
|
public LiveConfiguration(long j, long j2, long j3, float f, float f2) {
|
|
this.targetOffsetMs = j;
|
|
this.minOffsetMs = j2;
|
|
this.maxOffsetMs = j3;
|
|
this.minPlaybackSpeed = f;
|
|
this.maxPlaybackSpeed = f2;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof LiveConfiguration)) {
|
|
return false;
|
|
}
|
|
LiveConfiguration liveConfiguration = (LiveConfiguration) obj;
|
|
return this.targetOffsetMs == liveConfiguration.targetOffsetMs && this.minOffsetMs == liveConfiguration.minOffsetMs && this.maxOffsetMs == liveConfiguration.maxOffsetMs && this.minPlaybackSpeed == liveConfiguration.minPlaybackSpeed && this.maxPlaybackSpeed == liveConfiguration.maxPlaybackSpeed;
|
|
}
|
|
|
|
public int hashCode() {
|
|
long j = this.targetOffsetMs;
|
|
long j2 = this.minOffsetMs;
|
|
int i = ((((int) (j ^ (j >>> 32))) * 31) + ((int) (j2 ^ (j2 >>> 32)))) * 31;
|
|
long j3 = this.maxOffsetMs;
|
|
int i2 = (i + ((int) ((j3 >>> 32) ^ j3))) * 31;
|
|
float f = this.minPlaybackSpeed;
|
|
int floatToIntBits = (i2 + (f != 0.0f ? Float.floatToIntBits(f) : 0)) * 31;
|
|
float f2 = this.maxPlaybackSpeed;
|
|
return floatToIntBits + (f2 != 0.0f ? Float.floatToIntBits(f2) : 0);
|
|
}
|
|
}
|
|
|
|
public static final class ClippingProperties {
|
|
public static final Bundleable$Creator CREATOR = new MediaItem$$ExternalSyntheticLambda0();
|
|
public final long endPositionMs;
|
|
public final boolean relativeToDefaultPosition;
|
|
public final boolean relativeToLiveWindow;
|
|
public final long startPositionMs;
|
|
public final boolean startsAtKeyFrame;
|
|
|
|
public int hashCode() {
|
|
long j = this.startPositionMs;
|
|
int i = ((int) (j ^ (j >>> 32))) * 31;
|
|
long j2 = this.endPositionMs;
|
|
return ((((((i + ((int) ((j2 >>> 32) ^ j2))) * 31) + (this.relativeToLiveWindow ? 1 : 0)) * 31) + (this.relativeToDefaultPosition ? 1 : 0)) * 31) + (this.startsAtKeyFrame ? 1 : 0);
|
|
}
|
|
|
|
public ClippingProperties(long j, long j2, boolean z, boolean z2, boolean z3) {
|
|
this.startPositionMs = j;
|
|
this.endPositionMs = j2;
|
|
this.relativeToLiveWindow = z;
|
|
this.relativeToDefaultPosition = z2;
|
|
this.startsAtKeyFrame = z3;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof ClippingProperties)) {
|
|
return false;
|
|
}
|
|
ClippingProperties clippingProperties = (ClippingProperties) obj;
|
|
return this.startPositionMs == clippingProperties.startPositionMs && this.endPositionMs == clippingProperties.endPositionMs && this.relativeToLiveWindow == clippingProperties.relativeToLiveWindow && this.relativeToDefaultPosition == clippingProperties.relativeToDefaultPosition && this.startsAtKeyFrame == clippingProperties.startsAtKeyFrame;
|
|
}
|
|
}
|
|
|
|
public MediaItem(String str, ClippingProperties clippingProperties, PlaybackProperties playbackProperties, LiveConfiguration liveConfiguration, MediaMetadata mediaMetadata) {
|
|
this.mediaId = str;
|
|
this.playbackProperties = playbackProperties;
|
|
this.liveConfiguration = liveConfiguration;
|
|
this.mediaMetadata = mediaMetadata;
|
|
this.clippingProperties = clippingProperties;
|
|
}
|
|
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (!(obj instanceof MediaItem)) {
|
|
return false;
|
|
}
|
|
MediaItem mediaItem = (MediaItem) obj;
|
|
return Util.areEqual(this.mediaId, mediaItem.mediaId) && this.clippingProperties.equals(mediaItem.clippingProperties) && Util.areEqual(this.playbackProperties, mediaItem.playbackProperties) && Util.areEqual(this.liveConfiguration, mediaItem.liveConfiguration) && Util.areEqual(this.mediaMetadata, mediaItem.mediaMetadata);
|
|
}
|
|
|
|
public int hashCode() {
|
|
int hashCode = this.mediaId.hashCode() * 31;
|
|
PlaybackProperties playbackProperties = this.playbackProperties;
|
|
return ((((((hashCode + (playbackProperties != null ? playbackProperties.hashCode() : 0)) * 31) + this.liveConfiguration.hashCode()) * 31) + this.clippingProperties.hashCode()) * 31) + this.mediaMetadata.hashCode();
|
|
}
|
|
}
|