Rabbit-R1/android (non root)/java/sources/androidx/media3/exoplayer/source/chunk/InitializationChunk.java

51 lines
2.1 KiB
Java
Raw Normal View History

2024-05-21 21:08:36 +00:00
package androidx.media3.exoplayer.source.chunk;
import androidx.media3.common.Format;
import androidx.media3.datasource.DataSource;
import androidx.media3.datasource.DataSourceUtil;
import androidx.media3.datasource.DataSpec;
import androidx.media3.exoplayer.source.chunk.ChunkExtractor;
import androidx.media3.extractor.DefaultExtractorInput;
import java.io.IOException;
/* loaded from: classes2.dex */
public final class InitializationChunk extends Chunk {
private final ChunkExtractor chunkExtractor;
private volatile boolean loadCanceled;
private long nextLoadPosition;
private ChunkExtractor.TrackOutputProvider trackOutputProvider;
@Override // androidx.media3.exoplayer.upstream.Loader.Loadable
public void cancelLoad() {
this.loadCanceled = true;
}
public void init(ChunkExtractor.TrackOutputProvider trackOutputProvider) {
this.trackOutputProvider = trackOutputProvider;
}
public InitializationChunk(DataSource dataSource, DataSpec dataSpec, Format format, int i, Object obj, ChunkExtractor chunkExtractor) {
super(dataSource, dataSpec, 2, format, i, obj, -9223372036854775807L, -9223372036854775807L);
this.chunkExtractor = chunkExtractor;
}
@Override // androidx.media3.exoplayer.upstream.Loader.Loadable
public void load() throws IOException {
if (this.nextLoadPosition == 0) {
this.chunkExtractor.init(this.trackOutputProvider, -9223372036854775807L, -9223372036854775807L);
}
try {
DataSpec subrange = this.dataSpec.subrange(this.nextLoadPosition);
DefaultExtractorInput defaultExtractorInput = new DefaultExtractorInput(this.dataSource, subrange.position, this.dataSource.open(subrange));
while (!this.loadCanceled && this.chunkExtractor.read(defaultExtractorInput)) {
try {
} finally {
this.nextLoadPosition = defaultExtractorInput.getPosition() - this.dataSpec.position;
}
}
} finally {
DataSourceUtil.closeQuietly(this.dataSource);
}
}
}