package androidx.media3.exoplayer.source.chunk;

import androidx.annotation.Nullable;
import androidx.media3.common.Format;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.exoplayer.analytics.PlayerId;
import androidx.media3.extractor.o;
import androidx.media3.extractor.z;
import androidx.media3.extractor.z0;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import java.io.IOException;
import java.util.List;
import n2.n;

/* JADX INFO: loaded from: classes.dex */
@UnstableApi
public interface ChunkExtractor {

    public interface Factory {
        @Nullable
        ChunkExtractor createProgressiveMediaExtractor(int i10, Format format, boolean z10, List<Format> list, @Nullable z0 z0Var, PlayerId playerId);

        @CanIgnoreReturnValue
        default Factory experimentalParseSubtitlesDuringExtraction(boolean z10) {
            return this;
        }

        @CanIgnoreReturnValue
        default Factory experimentalSetCodecsToParseWithinGopSampleDependencies(int i10) {
            return this;
        }

        default Format getOutputTextFormat(Format format) {
            return format;
        }

        @CanIgnoreReturnValue
        default Factory setSubtitleParserFactory(n nVar) {
            return this;
        }
    }

    public interface TrackOutputProvider {
        z0 track(int i10, int i11);
    }

    @Nullable
    o getChunkIndex();

    @Nullable
    Format[] getSampleFormats();

    void init(@Nullable TrackOutputProvider trackOutputProvider, long j10, long j11);

    boolean read(z zVar) throws IOException;

    void release();
}
