Rabbit-R1/original r1/java/sources/androidx/media3/exoplayer/trackselection/ExoTrackSelection.java
2024-05-21 17:08:36 -04:00

83 lines
2.4 KiB
Java

package androidx.media3.exoplayer.trackselection;
import androidx.media3.common.Format;
import androidx.media3.common.Timeline;
import androidx.media3.common.TrackGroup;
import androidx.media3.common.util.Log;
import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.source.chunk.Chunk;
import androidx.media3.exoplayer.source.chunk.MediaChunk;
import androidx.media3.exoplayer.source.chunk.MediaChunkIterator;
import androidx.media3.exoplayer.upstream.BandwidthMeter;
import java.util.List;
/* loaded from: classes2.dex */
public interface ExoTrackSelection extends TrackSelection {
/* loaded from: classes2.dex */
public interface Factory {
ExoTrackSelection[] createTrackSelections(Definition[] definitionArr, BandwidthMeter bandwidthMeter, MediaSource.MediaPeriodId mediaPeriodId, Timeline timeline);
}
void disable();
void enable();
int evaluateQueueSize(long j, List<? extends MediaChunk> list);
boolean excludeTrack(int i, long j);
default long getLatestBitrateEstimate() {
return Long.MIN_VALUE;
}
Format getSelectedFormat();
int getSelectedIndex();
int getSelectedIndexInTrackGroup();
Object getSelectionData();
int getSelectionReason();
boolean isTrackExcluded(int i, long j);
default void onDiscontinuity() {
}
default void onPlayWhenReadyChanged(boolean z) {
}
void onPlaybackSpeed(float f);
default void onRebuffer() {
}
default boolean shouldCancelChunkLoad(long j, Chunk chunk, List<? extends MediaChunk> list) {
return false;
}
void updateSelectedTrack(long j, long j2, long j3, List<? extends MediaChunk> list, MediaChunkIterator[] mediaChunkIteratorArr);
/* loaded from: classes2.dex */
public static final class Definition {
private static final String TAG = "ETSDefinition";
public final TrackGroup group;
public final int[] tracks;
public final int type;
public Definition(TrackGroup trackGroup, int... iArr) {
this(trackGroup, iArr, 0);
}
public Definition(TrackGroup trackGroup, int[] iArr, int i) {
if (iArr.length == 0) {
Log.e(TAG, "Empty tracks are not allowed", new IllegalArgumentException());
}
this.group = trackGroup;
this.tracks = iArr;
this.type = i;
}
}
}