CrackMe.apk
Download file
package com.google.android.exoplayer2.source;
import android.net.Uri;
import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.upstream.Allocator;
import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.DataSpec;
import com.google.android.exoplayer2.upstream.DefaultLoadErrorHandlingPolicy;
import com.google.android.exoplayer2.upstream.LoadErrorHandlingPolicy;
import com.google.android.exoplayer2.upstream.TransferListener;
import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.MimeTypes;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
public final class SingleSampleMediaSource extends BaseMediaSource {
private final DataSource.Factory dataSourceFactory;
private final DataSpec dataSpec;
private final long durationUs;
private final Format format;
private final LoadErrorHandlingPolicy loadErrorHandlingPolicy;
private final MediaItem mediaItem;
private final Timeline timeline;
private TransferListener transferListener;
private final boolean treatLoadErrorsAsEndOfStream;
public void maybeThrowSourceInfoRefreshError() {
}
/* access modifiers changed from: protected */
public void releaseSourceInternal() {
}
public static final class Factory {
private final DataSource.Factory dataSourceFactory;
private LoadErrorHandlingPolicy loadErrorHandlingPolicy = new DefaultLoadErrorHandlingPolicy();
private Object tag;
private String trackId;
private boolean treatLoadErrorsAsEndOfStream = true;
public Factory(DataSource.Factory factory) {
this.dataSourceFactory = (DataSource.Factory) Assertions.checkNotNull(factory);
}
public Factory setTag(Object obj) {
this.tag = obj;
return this;
}
@Deprecated
public Factory setTrackId(String str) {
this.trackId = str;
return this;
}
public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy2) {
if (loadErrorHandlingPolicy2 == null) {
loadErrorHandlingPolicy2 = new DefaultLoadErrorHandlingPolicy();
}
this.loadErrorHandlingPolicy = loadErrorHandlingPolicy2;
return this;
}
public Factory setTreatLoadErrorsAsEndOfStream(boolean z) {
this.treatLoadErrorsAsEndOfStream = z;
return this;
}
public SingleSampleMediaSource createMediaSource(MediaItem.SubtitleConfiguration subtitleConfiguration, long j) {
return new SingleSampleMediaSource(this.trackId, subtitleConfiguration, this.dataSourceFactory, j, this.loadErrorHandlingPolicy, this.treatLoadErrorsAsEndOfStream, this.tag);
}
}
private SingleSampleMediaSource(String str, MediaItem.SubtitleConfiguration subtitleConfiguration, DataSource.Factory factory, long j, LoadErrorHandlingPolicy loadErrorHandlingPolicy2, boolean z, Object obj) {
MediaItem.SubtitleConfiguration subtitleConfiguration2 = subtitleConfiguration;
this.dataSourceFactory = factory;
this.durationUs = j;
this.loadErrorHandlingPolicy = loadErrorHandlingPolicy2;
this.treatLoadErrorsAsEndOfStream = z;
MediaItem build = new MediaItem.Builder().setUri(Uri.EMPTY).setMediaId(subtitleConfiguration2.uri.toString()).setSubtitleConfigurations(ImmutableList.of(subtitleConfiguration)).setTag(obj).build();
this.mediaItem = build;
this.format = new Format.Builder().setSampleMimeType((String) MoreObjects.firstNonNull(subtitleConfiguration2.mimeType, MimeTypes.TEXT_UNKNOWN)).setLanguage(subtitleConfiguration2.language).setSelectionFlags(subtitleConfiguration2.selectionFlags).setRoleFlags(subtitleConfiguration2.roleFlags).setLabel(subtitleConfiguration2.label).setId(subtitleConfiguration2.id != null ? subtitleConfiguration2.id : str).build();
this.dataSpec = new DataSpec.Builder().setUri(subtitleConfiguration2.uri).setFlags(1).build();
this.timeline = new SinglePeriodTimeline(j, true, false, false, (Object) null, build);
}
public MediaItem getMediaItem() {
return this.mediaItem;
}
/* access modifiers changed from: protected */
public void prepareSourceInternal(TransferListener transferListener2) {
this.transferListener = transferListener2;
refreshSourceInfo(this.timeline);
}
public MediaPeriod createPeriod(MediaSource.MediaPeriodId mediaPeriodId, Allocator allocator, long j) {
return new SingleSampleMediaPeriod(this.dataSpec, this.dataSourceFactory, this.transferListener, this.format, this.durationUs, this.loadErrorHandlingPolicy, createEventDispatcher(mediaPeriodId), this.treatLoadErrorsAsEndOfStream);
}
public void releasePeriod(MediaPeriod mediaPeriod) {
((SingleSampleMediaPeriod) mediaPeriod).release();
}
}
Download file