CrackMe.apk
Download file
package com.google.android.exoplayer2.source;
import android.os.Handler;
import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.drm.DrmSessionEventListener;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.MediaSourceEventListener;
import com.google.android.exoplayer2.upstream.TransferListener;
import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Util;
import java.io.IOException;
import java.util.HashMap;
public abstract class CompositeMediaSource<T> extends BaseMediaSource {
private final HashMap<T, MediaSourceAndListener<T>> childSources = new HashMap<>();
private Handler eventHandler;
private TransferListener mediaTransferListener;
/* access modifiers changed from: protected */
public MediaSource.MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(T t, MediaSource.MediaPeriodId mediaPeriodId) {
return mediaPeriodId;
}
/* access modifiers changed from: protected */
public long getMediaTimeForChildMediaTime(T t, long j) {
return j;
}
/* access modifiers changed from: protected */
public int getWindowIndexForChildWindowIndex(T t, int i) {
return i;
}
/* access modifiers changed from: protected */
/* renamed from: onChildSourceInfoRefreshed */
public abstract void m82lambda$prepareChildSource$0$comgoogleandroidexoplayer2sourceCompositeMediaSource(T t, MediaSource mediaSource, Timeline timeline);
protected CompositeMediaSource() {
}
/* access modifiers changed from: protected */
public void prepareSourceInternal(TransferListener transferListener) {
this.mediaTransferListener = transferListener;
this.eventHandler = Util.createHandlerForCurrentLooper();
}
public void maybeThrowSourceInfoRefreshError() throws IOException {
for (MediaSourceAndListener<T> mediaSourceAndListener : this.childSources.values()) {
mediaSourceAndListener.mediaSource.maybeThrowSourceInfoRefreshError();
}
}
/* access modifiers changed from: protected */
public void enableInternal() {
for (MediaSourceAndListener next : this.childSources.values()) {
next.mediaSource.enable(next.caller);
}
}
/* access modifiers changed from: protected */
public void disableInternal() {
for (MediaSourceAndListener next : this.childSources.values()) {
next.mediaSource.disable(next.caller);
}
}
/* access modifiers changed from: protected */
public void releaseSourceInternal() {
for (MediaSourceAndListener next : this.childSources.values()) {
next.mediaSource.releaseSource(next.caller);
next.mediaSource.removeEventListener(next.eventListener);
next.mediaSource.removeDrmEventListener(next.eventListener);
}
this.childSources.clear();
}
/* access modifiers changed from: protected */
public final void prepareChildSource(T t, MediaSource mediaSource) {
Assertions.checkArgument(!this.childSources.containsKey(t));
CompositeMediaSource$$ExternalSyntheticLambda0 compositeMediaSource$$ExternalSyntheticLambda0 = new CompositeMediaSource$$ExternalSyntheticLambda0(this, t);
ForwardingEventListener forwardingEventListener = new ForwardingEventListener(t);
this.childSources.put(t, new MediaSourceAndListener(mediaSource, compositeMediaSource$$ExternalSyntheticLambda0, forwardingEventListener));
mediaSource.addEventListener((Handler) Assertions.checkNotNull(this.eventHandler), forwardingEventListener);
mediaSource.addDrmEventListener((Handler) Assertions.checkNotNull(this.eventHandler), forwardingEventListener);
mediaSource.prepareSource(compositeMediaSource$$ExternalSyntheticLambda0, this.mediaTransferListener, getPlayerId());
if (!isEnabled()) {
mediaSource.disable(compositeMediaSource$$ExternalSyntheticLambda0);
}
}
/* access modifiers changed from: protected */
public final void enableChildSource(T t) {
MediaSourceAndListener mediaSourceAndListener = (MediaSourceAndListener) Assertions.checkNotNull(this.childSources.get(t));
mediaSourceAndListener.mediaSource.enable(mediaSourceAndListener.caller);
}
/* access modifiers changed from: protected */
public final void disableChildSource(T t) {
MediaSourceAndListener mediaSourceAndListener = (MediaSourceAndListener) Assertions.checkNotNull(this.childSources.get(t));
mediaSourceAndListener.mediaSource.disable(mediaSourceAndListener.caller);
}
/* access modifiers changed from: protected */
public final void releaseChildSource(T t) {
MediaSourceAndListener mediaSourceAndListener = (MediaSourceAndListener) Assertions.checkNotNull(this.childSources.remove(t));
mediaSourceAndListener.mediaSource.releaseSource(mediaSourceAndListener.caller);
mediaSourceAndListener.mediaSource.removeEventListener(mediaSourceAndListener.eventListener);
mediaSourceAndListener.mediaSource.removeDrmEventListener(mediaSourceAndListener.eventListener);
}
private static final class MediaSourceAndListener<T> {
public final MediaSource.MediaSourceCaller caller;
public final CompositeMediaSource<T>.ForwardingEventListener eventListener;
public final MediaSource mediaSource;
public MediaSourceAndListener(MediaSource mediaSource2, MediaSource.MediaSourceCaller mediaSourceCaller, CompositeMediaSource<T>.ForwardingEventListener forwardingEventListener) {
this.mediaSource = mediaSource2;
this.caller = mediaSourceCaller;
this.eventListener = forwardingEventListener;
}
}
private final class ForwardingEventListener implements MediaSourceEventListener, DrmSessionEventListener {
private DrmSessionEventListener.EventDispatcher drmEventDispatcher;
private final T id;
private MediaSourceEventListener.EventDispatcher mediaSourceEventDispatcher;
public /* synthetic */ void onDrmSessionAcquired(int i, MediaSource.MediaPeriodId mediaPeriodId) {
DrmSessionEventListener.CC.$default$onDrmSessionAcquired(this, i, mediaPeriodId);
}
public ForwardingEventListener(T t) {
this.mediaSourceEventDispatcher = CompositeMediaSource.this.createEventDispatcher((MediaSource.MediaPeriodId) null);
this.drmEventDispatcher = CompositeMediaSource.this.createDrmEventDispatcher((MediaSource.MediaPeriodId) null);
this.id = t;
}
public void onLoadStarted(int i, MediaSource.MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.mediaSourceEventDispatcher.loadStarted(loadEventInfo, maybeUpdateMediaLoadData(mediaLoadData));
}
}
public void onLoadCompleted(int i, MediaSource.MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.mediaSourceEventDispatcher.loadCompleted(loadEventInfo, maybeUpdateMediaLoadData(mediaLoadData));
}
}
public void onLoadCanceled(int i, MediaSource.MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.mediaSourceEventDispatcher.loadCanceled(loadEventInfo, maybeUpdateMediaLoadData(mediaLoadData));
}
}
public void onLoadError(int i, MediaSource.MediaPeriodId mediaPeriodId, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData, IOException iOException, boolean z) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.mediaSourceEventDispatcher.loadError(loadEventInfo, maybeUpdateMediaLoadData(mediaLoadData), iOException, z);
}
}
public void onUpstreamDiscarded(int i, MediaSource.MediaPeriodId mediaPeriodId, MediaLoadData mediaLoadData) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.mediaSourceEventDispatcher.upstreamDiscarded(maybeUpdateMediaLoadData(mediaLoadData));
}
}
public void onDownstreamFormatChanged(int i, MediaSource.MediaPeriodId mediaPeriodId, MediaLoadData mediaLoadData) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.mediaSourceEventDispatcher.downstreamFormatChanged(maybeUpdateMediaLoadData(mediaLoadData));
}
}
public void onDrmSessionAcquired(int i, MediaSource.MediaPeriodId mediaPeriodId, int i2) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.drmEventDispatcher.drmSessionAcquired(i2);
}
}
public void onDrmKeysLoaded(int i, MediaSource.MediaPeriodId mediaPeriodId) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.drmEventDispatcher.drmKeysLoaded();
}
}
public void onDrmSessionManagerError(int i, MediaSource.MediaPeriodId mediaPeriodId, Exception exc) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.drmEventDispatcher.drmSessionManagerError(exc);
}
}
public void onDrmKeysRestored(int i, MediaSource.MediaPeriodId mediaPeriodId) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.drmEventDispatcher.drmKeysRestored();
}
}
public void onDrmKeysRemoved(int i, MediaSource.MediaPeriodId mediaPeriodId) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.drmEventDispatcher.drmKeysRemoved();
}
}
public void onDrmSessionReleased(int i, MediaSource.MediaPeriodId mediaPeriodId) {
if (maybeUpdateEventDispatcher(i, mediaPeriodId)) {
this.drmEventDispatcher.drmSessionReleased();
}
}
private boolean maybeUpdateEventDispatcher(int i, MediaSource.MediaPeriodId mediaPeriodId) {
MediaSource.MediaPeriodId mediaPeriodId2;
if (mediaPeriodId != null) {
mediaPeriodId2 = CompositeMediaSource.this.getMediaPeriodIdForChildMediaPeriodId(this.id, mediaPeriodId);
if (mediaPeriodId2 == null) {
return false;
}
} else {
mediaPeriodId2 = null;
}
int windowIndexForChildWindowIndex = CompositeMediaSource.this.getWindowIndexForChildWindowIndex(this.id, i);
if (this.mediaSourceEventDispatcher.windowIndex != windowIndexForChildWindowIndex || !Util.areEqual(this.mediaSourceEventDispatcher.mediaPeriodId, mediaPeriodId2)) {
this.mediaSourceEventDispatcher = CompositeMediaSource.this.createEventDispatcher(windowIndexForChildWindowIndex, mediaPeriodId2, 0);
}
if (this.drmEventDispatcher.windowIndex == windowIndexForChildWindowIndex && Util.areEqual(this.drmEventDispatcher.mediaPeriodId, mediaPeriodId2)) {
return true;
}
this.drmEventDispatcher = CompositeMediaSource.this.createDrmEventDispatcher(windowIndexForChildWindowIndex, mediaPeriodId2);
return true;
}
private MediaLoadData maybeUpdateMediaLoadData(MediaLoadData mediaLoadData) {
long mediaTimeForChildMediaTime = CompositeMediaSource.this.getMediaTimeForChildMediaTime(this.id, mediaLoadData.mediaStartTimeMs);
long mediaTimeForChildMediaTime2 = CompositeMediaSource.this.getMediaTimeForChildMediaTime(this.id, mediaLoadData.mediaEndTimeMs);
if (mediaTimeForChildMediaTime == mediaLoadData.mediaStartTimeMs && mediaTimeForChildMediaTime2 == mediaLoadData.mediaEndTimeMs) {
return mediaLoadData;
}
return new MediaLoadData(mediaLoadData.dataType, mediaLoadData.trackType, mediaLoadData.trackFormat, mediaLoadData.trackSelectionReason, mediaLoadData.trackSelectionData, mediaTimeForChildMediaTime, mediaTimeForChildMediaTime2);
}
}
}
Download file