package androidx.media3.extractor.mp3;

import androidx.media3.common.C;
import androidx.media3.common.util.ParsableByteArray;
import androidx.media3.common.util.Util;
import androidx.media3.extractor.MpegAudioUtil;

/* JADX INFO: loaded from: classes.dex */
final class XingFrame {
    public final long dataSize;
    public final int encoderDelay;
    public final int encoderPadding;
    public final long frameCount;
    public final MpegAudioUtil.Header header;
    public final long[] tableOfContents;

    private XingFrame(MpegAudioUtil.Header header, long j4, long j6, long[] jArr, int i6, int i7) {
        this.header = new MpegAudioUtil.Header(header);
        this.frameCount = j4;
        this.dataSize = j6;
        this.tableOfContents = jArr;
        this.encoderDelay = i6;
        this.encoderPadding = i7;
    }

    public static XingFrame parse(MpegAudioUtil.Header header, ParsableByteArray parsableByteArray) {
        long[] jArr;
        int i6;
        int i7;
        int i8 = parsableByteArray.readInt();
        int unsignedIntToInt = (i8 & 1) != 0 ? parsableByteArray.readUnsignedIntToInt() : -1;
        long unsignedInt = (i8 & 2) != 0 ? parsableByteArray.readUnsignedInt() : -1L;
        if ((i8 & 4) == 4) {
            jArr = new long[100];
            for (int i9 = 0; i9 < 100; i9++) {
                jArr[i9] = parsableByteArray.readUnsignedByte();
            }
        } else {
            jArr = null;
        }
        long[] jArr2 = jArr;
        if ((i8 & 8) != 0) {
            parsableByteArray.skipBytes(4);
        }
        if (parsableByteArray.bytesLeft() >= 24) {
            parsableByteArray.skipBytes(21);
            int unsignedInt24 = parsableByteArray.readUnsignedInt24();
            i7 = unsignedInt24 & 4095;
            i6 = (16773120 & unsignedInt24) >> 12;
        } else {
            i6 = -1;
            i7 = -1;
        }
        return new XingFrame(header, unsignedIntToInt, unsignedInt, jArr2, i6, i7);
    }

    public long computeDurationUs() {
        long j4 = this.frameCount;
        if (j4 == -1 || j4 == 0) {
            return C.TIME_UNSET;
        }
        MpegAudioUtil.Header header = this.header;
        return Util.sampleCountToDurationUs((j4 * ((long) header.samplesPerFrame)) - 1, header.sampleRate);
    }
}
