package androidx.media3.extractor.mp3;

import androidx.media3.common.C;
import androidx.media3.common.util.LongArray;
import androidx.media3.common.util.Util;
import androidx.media3.extractor.SeekMap;
import androidx.media3.extractor.SeekPoint;
import java.math.RoundingMode;

/* JADX INFO: loaded from: classes.dex */
final class IndexSeeker implements Seeker {
    static final long MIN_TIME_BETWEEN_POINTS_US = 100000;
    private final int averageBitrate;
    private final long dataEndPosition;
    private long durationUs;
    private final LongArray positions;
    private final LongArray timesUs;

    public IndexSeeker(long j4, long j6, long j7) {
        this.durationUs = j4;
        this.dataEndPosition = j7;
        LongArray longArray = new LongArray();
        this.timesUs = longArray;
        LongArray longArray2 = new LongArray();
        this.positions = longArray2;
        longArray.add(0L);
        longArray2.add(j6);
        int i6 = C.RATE_UNSET_INT;
        if (j4 == C.TIME_UNSET) {
            this.averageBitrate = C.RATE_UNSET_INT;
            return;
        }
        long jScaleLargeValue = Util.scaleLargeValue(j6 - j7, 8L, j4, RoundingMode.HALF_UP);
        if (jScaleLargeValue > 0 && jScaleLargeValue <= 2147483647L) {
            i6 = (int) jScaleLargeValue;
        }
        this.averageBitrate = i6;
    }

    @Override // androidx.media3.extractor.mp3.Seeker
    public int getAverageBitrate() {
        return this.averageBitrate;
    }

    @Override // androidx.media3.extractor.mp3.Seeker
    public long getDataEndPosition() {
        return this.dataEndPosition;
    }

    @Override // androidx.media3.extractor.SeekMap
    public long getDurationUs() {
        return this.durationUs;
    }

    @Override // androidx.media3.extractor.SeekMap
    public SeekMap.SeekPoints getSeekPoints(long j4) {
        int iBinarySearchFloor = Util.binarySearchFloor(this.timesUs, j4, true, true);
        SeekPoint seekPoint = new SeekPoint(this.timesUs.get(iBinarySearchFloor), this.positions.get(iBinarySearchFloor));
        if (seekPoint.timeUs == j4 || iBinarySearchFloor == this.timesUs.size() - 1) {
            return new SeekMap.SeekPoints(seekPoint);
        }
        int i6 = iBinarySearchFloor + 1;
        return new SeekMap.SeekPoints(seekPoint, new SeekPoint(this.timesUs.get(i6), this.positions.get(i6)));
    }

    @Override // androidx.media3.extractor.mp3.Seeker
    public long getTimeUs(long j4) {
        return this.timesUs.get(Util.binarySearchFloor(this.positions, j4, true, true));
    }

    @Override // androidx.media3.extractor.SeekMap
    public boolean isSeekable() {
        return true;
    }

    public boolean isTimeUsInIndex(long j4) {
        LongArray longArray = this.timesUs;
        return j4 - longArray.get(longArray.size() - 1) < 100000;
    }

    public void maybeAddSeekPoint(long j4, long j6) {
        if (isTimeUsInIndex(j4)) {
            return;
        }
        this.timesUs.add(j4);
        this.positions.add(j6);
    }

    public void setDurationUs(long j4) {
        this.durationUs = j4;
    }
}
