package androidx.media3.decoder.ffmpeg;

import androidx.media3.decoder.DecoderException;
import androidx.media3.decoder.SimpleDecoderOutputBuffer;
import defpackage.AbstractC0956;
import defpackage.AbstractC3661;
import defpackage.AbstractC4189;
import defpackage.C3008;
import defpackage.C4545;
import defpackage.C5286;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.List;

/* JADX INFO: Access modifiers changed from: package-private */
/* JADX INFO: loaded from: classes3.dex */
public final class FfmpegAudioDecoder extends AbstractC3661 {

    /* JADX INFO: renamed from: ᵜᵪʾ, reason: contains not printable characters */
    public static final byte[] f564 = {102, 76, 97, 67};

    /* JADX INFO: renamed from: ˉᵲ, reason: contains not printable characters */
    public long f565;

    /* JADX INFO: renamed from: ˊᵙᵾᵲ, reason: contains not printable characters */
    public int f566;

    /* JADX INFO: renamed from: ˊᵨᵧ, reason: contains not printable characters */
    public volatile int f567;

    /* JADX INFO: renamed from: ˌᴵ, reason: contains not printable characters */
    public volatile int f568;

    /* JADX INFO: renamed from: ˏːˆ, reason: contains not printable characters */
    public boolean f569;

    /* JADX INFO: renamed from: ᵟᵹᵙ, reason: contains not printable characters */
    public final byte[] f570;

    /* JADX INFO: renamed from: ᵪᵹᵥᵻ, reason: contains not printable characters */
    public final String f571;

    /* JADX INFO: renamed from: ᵱʡˏ, reason: contains not printable characters */
    public final int f572;

    /* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
    /* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
    /* JADX WARN: Failed to restore switch over string. Please report as a decompilation issue */
    /* JADX WARN: Removed duplicated region for block: B:45:0x0096  */
    /* JADX WARN: Removed duplicated region for block: B:46:0x009c  */
    /* JADX WARN: Removed duplicated region for block: B:54:0x00cb  */
    /* JADX WARN: Removed duplicated region for block: B:57:0x00d0 A[LOOP:1: B:31:0x006f->B:57:0x00d0, LOOP_END] */
    /* JADX WARN: Removed duplicated region for block: B:85:0x00ce A[SYNTHETIC] */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public FfmpegAudioDecoder(int i, C5286 c5286, boolean z) throws FfmpegDecoderException {
        byte[] bArr;
        int i2;
        byte[] bArr2;
        super(new C3008[16], new SimpleDecoderOutputBuffer[16]);
        int i3 = 16;
        if (!FfmpegLibrary.m371()) {
            throw new FfmpegDecoderException("Failed to load decoder native libraries.");
        }
        String str = c5286.f19987;
        str.getClass();
        String strM370 = FfmpegLibrary.m370(str);
        strM370.getClass();
        this.f571 = strM370;
        List list = c5286.f19967;
        byte b = -1;
        switch (str.hashCode()) {
            case -1003765268:
                if (str.equals("audio/vorbis")) {
                    b = 0;
                }
                break;
            case -53558318:
                if (str.equals("audio/mp4a-latm")) {
                    b = 1;
                }
                break;
            case 1504470054:
                if (str.equals("audio/alac")) {
                    b = 2;
                }
                break;
            case 1504619009:
                if (str.equals("audio/flac")) {
                    b = 3;
                }
                break;
            case 1504891608:
                if (str.equals("audio/opus")) {
                    b = 4;
                }
                break;
        }
        byte[] bArrArray = null;
        switch (b) {
            case 0:
                byte[] bArr3 = (byte[]) list.get(0);
                byte[] bArr4 = (byte[]) list.get(1);
                byte[] bArr5 = new byte[bArr3.length + bArr4.length + 6];
                bArr5[0] = (byte) (bArr3.length >> 8);
                bArr5[1] = (byte) (bArr3.length & 255);
                System.arraycopy(bArr3, 0, bArr5, 2, bArr3.length);
                bArr5[bArr3.length + 2] = 0;
                bArr5[bArr3.length + 3] = 0;
                bArr5[bArr3.length + 4] = (byte) (bArr4.length >> 8);
                bArr5[bArr3.length + 5] = (byte) (bArr4.length & 255);
                System.arraycopy(bArr4, 0, bArr5, bArr3.length + 6, bArr4.length);
                bArr = bArr5;
                break;
            case 1:
            case 4:
                bArrArray = (byte[]) list.get(0);
                bArr = bArrArray;
                break;
            case 2:
                byte[] bArr6 = (byte[]) list.get(0);
                int length = bArr6.length + 12;
                ByteBuffer byteBufferAllocate = ByteBuffer.allocate(length);
                byteBufferAllocate.putInt(length);
                byteBufferAllocate.putInt(1634492771);
                byteBufferAllocate.putInt(0);
                byteBufferAllocate.put(bArr6, 0, bArr6.length);
                bArrArray = byteBufferAllocate.array();
                bArr = bArrArray;
                break;
            case 3:
                int i4 = 0;
                while (i4 < list.size()) {
                    byte[] bArr7 = (byte[]) list.get(i4);
                    if (bArr7.length < 4) {
                        i2 = 0;
                        if (bArr7.length - i2 == 34) {
                            bArr2 = new byte[34];
                            System.arraycopy(bArr7, i2, bArr2, 0, 34);
                        } else {
                            int i5 = i2 + 4;
                            if (bArr7.length >= i5) {
                                int i6 = bArr7[i2] & 127;
                                int i7 = ((bArr7[i2 + 2] & 255) << 8) | ((bArr7[i2 + 1] & 255) << i3) | (bArr7[i2 + 3] & 255);
                                if (i6 == 0 && i7 == 34 && bArr7.length >= i2 + 38) {
                                    bArr2 = new byte[34];
                                    System.arraycopy(bArr7, i5, bArr2, 0, 34);
                                } else {
                                    bArr2 = null;
                                }
                            }
                        }
                        if (bArr2 != null) {
                            bArr = bArr2;
                        } else {
                            i4++;
                            i3 = 16;
                        }
                        break;
                    } else {
                        for (int i8 = 0; i8 < 4; i8++) {
                            if (bArr7[i8] != f564[i8]) {
                                i2 = 0;
                                if (bArr7.length - i2 == 34) {
                                }
                                if (bArr2 != null) {
                                }
                            }
                        }
                        i2 = 4;
                        if (bArr7.length - i2 == 34) {
                        }
                        if (bArr2 != null) {
                        }
                    }
                }
                bArr = bArrArray;
                break;
            default:
                bArr = bArrArray;
                break;
        }
        this.f570 = bArr;
        this.f572 = z ? 4 : 2;
        this.f566 = z ? 131070 : 65535;
        long jFfmpegInitialize = ffmpegInitialize(this.f571, bArr, z, c5286.f19966, c5286.f19984);
        this.f565 = jFfmpegInitialize;
        if (jFfmpegInitialize == 0) {
            throw new FfmpegDecoderException("Initialization failed.");
        }
        int i9 = this.f13893;
        C3008[] c3008Arr = this.f13889;
        ᵻᵪ.ˌᴵ(i9 == c3008Arr.length);
        for (C3008 c3008 : c3008Arr) {
            c3008.m7093(i);
        }
    }

    private native int ffmpegDecode(long j, ByteBuffer byteBuffer, int i, SimpleDecoderOutputBuffer simpleDecoderOutputBuffer, ByteBuffer byteBuffer2, int i2);

    private native int ffmpegGetChannelCount(long j);

    private native int ffmpegGetSampleRate(long j);

    private native long ffmpegInitialize(String str, byte[] bArr, boolean z, int i, int i2);

    private native void ffmpegRelease(long j);

    private native long ffmpegReset(long j, byte[] bArr);

    private ByteBuffer growOutputBuffer(SimpleDecoderOutputBuffer simpleDecoderOutputBuffer, int i) {
        this.f566 = i;
        ByteBuffer byteBuffer = simpleDecoderOutputBuffer.f562;
        byteBuffer.getClass();
        ᵻᵪ.ᵱᵽʡᵚ(i >= byteBuffer.limit());
        ByteBuffer byteBufferOrder = ByteBuffer.allocateDirect(i).order(ByteOrder.nativeOrder());
        int iPosition = byteBuffer.position();
        byteBuffer.position(0);
        byteBufferOrder.put(byteBuffer);
        byteBufferOrder.position(iPosition);
        byteBufferOrder.limit(i);
        simpleDecoderOutputBuffer.f562 = byteBufferOrder;
        return byteBufferOrder;
    }

    @Override // defpackage.AbstractC3661
    /* JADX INFO: renamed from: ˊᵫᵗ, reason: contains not printable characters */
    public final AbstractC4189 mo361() {
        return new SimpleDecoderOutputBuffer(new C0014(this));
    }

    /* JADX INFO: renamed from: ᵟᵹᵙ, reason: contains not printable characters */
    public final String m362() {
        return "ffmpeg" + FfmpegLibrary.m368() + "-" + this.f571;
    }

    @Override // defpackage.AbstractC3661
    /* JADX INFO: renamed from: ᵱᵽʡᵚ, reason: contains not printable characters */
    public final DecoderException mo363(C3008 c3008, AbstractC4189 abstractC4189, boolean z) {
        SimpleDecoderOutputBuffer simpleDecoderOutputBuffer = (SimpleDecoderOutputBuffer) abstractC4189;
        if (z) {
            long jFfmpegReset = ffmpegReset(this.f565, this.f570);
            this.f565 = jFfmpegReset;
            if (jFfmpegReset == 0) {
                return new FfmpegDecoderException("Error resetting (see logcat).");
            }
        }
        ByteBuffer byteBuffer = c3008.f11582;
        String str = AbstractC0956.f4222;
        int iLimit = byteBuffer.limit();
        long j = c3008.f11577;
        int i = this.f566;
        simpleDecoderOutputBuffer.f15983 = j;
        ByteBuffer byteBuffer2 = simpleDecoderOutputBuffer.f562;
        if (byteBuffer2 == null || byteBuffer2.capacity() < i) {
            simpleDecoderOutputBuffer.f562 = ByteBuffer.allocateDirect(i).order(ByteOrder.nativeOrder());
        }
        simpleDecoderOutputBuffer.f562.position(0);
        simpleDecoderOutputBuffer.f562.limit(i);
        int iFfmpegDecode = ffmpegDecode(this.f565, byteBuffer, iLimit, simpleDecoderOutputBuffer, simpleDecoderOutputBuffer.f562, this.f566);
        if (iFfmpegDecode == -2) {
            return new FfmpegDecoderException("Error decoding (see logcat).");
        }
        if (iFfmpegDecode == -1) {
            simpleDecoderOutputBuffer.f15985 = true;
            return null;
        }
        if (iFfmpegDecode == 0) {
            simpleDecoderOutputBuffer.f15985 = true;
            return null;
        }
        if (!this.f569) {
            this.f567 = ffmpegGetChannelCount(this.f565);
            this.f568 = ffmpegGetSampleRate(this.f565);
            if (this.f568 == 0 && "alac".equals(this.f571)) {
                this.f570.getClass();
                C4545 c4545 = new C4545(this.f570);
                c4545.m9624(this.f570.length - 4);
                this.f568 = c4545.m9610();
            }
            this.f569 = true;
        }
        ByteBuffer byteBuffer3 = simpleDecoderOutputBuffer.f562;
        byteBuffer3.getClass();
        byteBuffer3.position(0);
        byteBuffer3.limit(iFfmpegDecode);
        return null;
    }

    @Override // defpackage.AbstractC3661, defpackage.InterfaceC0820
    /* JADX INFO: renamed from: ᵲᵶᵳˈ, reason: contains not printable characters */
    public final void mo364() {
        super.mo364();
        ffmpegRelease(this.f565);
        this.f565 = 0L;
    }

    @Override // defpackage.AbstractC3661
    /* JADX INFO: renamed from: ᵵᵽ, reason: contains not printable characters */
    public final C3008 mo365() {
        return new C3008(2, FfmpegLibrary.m367());
    }

    @Override // defpackage.AbstractC3661
    /* JADX INFO: renamed from: ᵻʽᵯ, reason: contains not printable characters */
    public final DecoderException mo366(Throwable th) {
        return new FfmpegDecoderException("Unexpected decode error", th);
    }
}
