package androidx.media3.extractor;

import androidx.media3.common.DrmInitData;
import androidx.media3.common.Format;
import androidx.media3.common.MimeTypes;
import androidx.media3.common.PlaybackException;
import androidx.media3.common.util.ParsableBitArray;
import androidx.media3.common.util.ParsableByteArray;
import androidx.media3.common.util.UnstableApi;
import com.revenuecat.purchases.common.networking.RCHTTPStatusCodes;
import java.nio.ByteBuffer;

/* JADX INFO: loaded from: classes.dex */
@UnstableApi
public final class Ac4Util {
    public static final int AC40_SYNCWORD = 44096;
    public static final int AC41_SYNCWORD = 44097;
    private static final int CHANNEL_COUNT_2 = 2;
    public static final int HEADER_SIZE_FOR_PARSER = 16;
    public static final int MAX_RATE_BYTES_PER_SECOND = 336000;
    private static final int[] SAMPLE_COUNT = {PlaybackException.ERROR_CODE_IO_NETWORK_CONNECTION_TIMEOUT, 2000, 1920, 1601, 1600, 1001, 1000, 960, 800, 800, 480, RCHTTPStatusCodes.BAD_REQUEST, RCHTTPStatusCodes.BAD_REQUEST, 2048};
    public static final int SAMPLE_HEADER_SIZE = 7;

    public static final class SyncFrameInfo {
        public final int bitstreamVersion;
        public final int channelCount;
        public final int frameSize;
        public final int sampleCount;
        public final int sampleRate;

        private SyncFrameInfo(int i6, int i7, int i8, int i9, int i10) {
            this.bitstreamVersion = i6;
            this.channelCount = i7;
            this.sampleRate = i8;
            this.frameSize = i9;
            this.sampleCount = i10;
        }
    }

    private Ac4Util() {
    }

    public static void getAc4SampleHeader(int i6, ParsableByteArray parsableByteArray) {
        parsableByteArray.reset(7);
        byte[] data = parsableByteArray.getData();
        data[0] = -84;
        data[1] = 64;
        data[2] = -1;
        data[3] = -1;
        data[4] = (byte) ((i6 >> 16) & 255);
        data[5] = (byte) ((i6 >> 8) & 255);
        data[6] = (byte) (i6 & 255);
    }

    public static Format parseAc4AnnexEFormat(ParsableByteArray parsableByteArray, String str, String str2, DrmInitData drmInitData) {
        parsableByteArray.skipBytes(1);
        return new Format.Builder().setId(str).setSampleMimeType(MimeTypes.AUDIO_AC4).setChannelCount(2).setSampleRate(((parsableByteArray.readUnsignedByte() & 32) >> 5) == 1 ? OpusUtil.SAMPLE_RATE : 44100).setDrmInitData(drmInitData).setLanguage(str2).build();
    }

    public static int parseAc4SyncframeAudioSampleCount(ByteBuffer byteBuffer) {
        byte[] bArr = new byte[16];
        int iPosition = byteBuffer.position();
        byteBuffer.get(bArr);
        byteBuffer.position(iPosition);
        return parseAc4SyncframeInfo(new ParsableBitArray(bArr)).sampleCount;
    }

    /* JADX WARN: Code restructure failed: missing block: B:39:0x0082, code lost:
    
        if (r11 != 11) goto L47;
     */
    /* JADX WARN: Code restructure failed: missing block: B:42:0x0089, code lost:
    
        if (r11 != 11) goto L47;
     */
    /* JADX WARN: Code restructure failed: missing block: B:45:0x008e, code lost:
    
        if (r11 != 8) goto L47;
     */
    /* JADX WARN: Removed duplicated region for block: B:44:0x008c  */
    /* JADX WARN: Removed duplicated region for block: B:48:0x0093  */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public static SyncFrameInfo parseAc4SyncframeInfo(ParsableBitArray parsableBitArray) {
        int i6;
        int i7;
        int i8;
        int i9;
        int bits = parsableBitArray.readBits(16);
        int bits2 = parsableBitArray.readBits(16);
        if (bits2 == 65535) {
            bits2 = parsableBitArray.readBits(24);
            i6 = 7;
        } else {
            i6 = 4;
        }
        int i10 = bits2 + i6;
        if (bits == 44097) {
            i10 += 2;
        }
        int i11 = i10;
        int bits3 = parsableBitArray.readBits(2);
        if (bits3 == 3) {
            bits3 += readVariableBits(parsableBitArray, 2);
        }
        int i12 = bits3;
        int bits4 = parsableBitArray.readBits(10);
        if (parsableBitArray.readBit() && parsableBitArray.readBits(3) > 0) {
            parsableBitArray.skipBits(2);
        }
        boolean bit = parsableBitArray.readBit();
        int i13 = OpusUtil.SAMPLE_RATE;
        if (bit) {
            i7 = 48000;
        } else {
            i7 = 48000;
            i13 = 44100;
        }
        int bits5 = parsableBitArray.readBits(4);
        if (i13 != 44100 || bits5 != 13) {
            if (i13 == i7) {
                int[] iArr = SAMPLE_COUNT;
                if (bits5 < iArr.length) {
                    int i14 = iArr[bits5];
                    int i15 = bits4 % 5;
                    if (i15 == 1) {
                        if (bits5 != 3) {
                        }
                        i8 = i14 + 1;
                    } else if (i15 == 2) {
                        if (bits5 != 8) {
                        }
                        i8 = i14 + 1;
                    } else if (i15 != 3) {
                        if (i15 == 4) {
                            if (bits5 != 3) {
                                if (bits5 != 8) {
                                }
                            }
                            i8 = i14 + 1;
                        }
                        i9 = i14;
                    }
                } else {
                    i8 = 0;
                }
            }
            return new SyncFrameInfo(i12, 2, i13, i11, i9);
        }
        i8 = SAMPLE_COUNT[bits5];
        i9 = i8;
        return new SyncFrameInfo(i12, 2, i13, i11, i9);
    }

    public static int parseAc4SyncframeSize(byte[] bArr, int i6) {
        int i7 = 7;
        if (bArr.length < 7) {
            return -1;
        }
        int i8 = ((bArr[2] & 255) << 8) | (bArr[3] & 255);
        if (i8 == 65535) {
            i8 = ((bArr[4] & 255) << 16) | ((bArr[5] & 255) << 8) | (bArr[6] & 255);
        } else {
            i7 = 4;
        }
        if (i6 == 44097) {
            i7 += 2;
        }
        return i8 + i7;
    }

    private static int readVariableBits(ParsableBitArray parsableBitArray, int i6) {
        int i7 = 0;
        while (true) {
            int bits = parsableBitArray.readBits(i6) + i7;
            if (!parsableBitArray.readBit()) {
                return bits;
            }
            i7 = (bits + 1) << i6;
        }
    }
}
