package o2;

import android.text.SpannableStringBuilder;
import androidx.annotation.Nullable;
import androidx.media3.common.text.Cue;
import androidx.media3.common.util.Assertions;
import androidx.media3.common.util.CodecSpecificDataUtil;
import androidx.media3.common.util.Log;
import androidx.media3.common.util.ParsableBitArray;
import androidx.media3.common.util.ParsableByteArray;
import androidx.media3.extractor.text.SubtitleDecoderException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import n2.l;
import okio.Utf8;
import tv.danmaku.ijk.media.player.IjkMediaMeta;

/* JADX INFO: loaded from: classes.dex */
public final class g extends j {

    @Nullable
    private List<Cue> cues;

    @Nullable
    private f currentDtvCcPacket;

    /* JADX INFO: renamed from: g, reason: collision with root package name */
    public final ParsableByteArray f31353g = new ParsableByteArray();

    /* JADX INFO: renamed from: h, reason: collision with root package name */
    public final ParsableBitArray f31354h = new ParsableBitArray();

    /* JADX INFO: renamed from: i, reason: collision with root package name */
    public int f31355i = -1;

    /* JADX INFO: renamed from: j, reason: collision with root package name */
    public final int f31356j;

    /* JADX INFO: renamed from: k, reason: collision with root package name */
    public final e[] f31357k;

    /* JADX INFO: renamed from: l, reason: collision with root package name */
    public e f31358l;

    @Nullable
    private List<Cue> lastCues;

    /* JADX INFO: renamed from: m, reason: collision with root package name */
    public int f31359m;

    public g(int i10, @Nullable List<byte[]> list) {
        this.f31356j = i10 == -1 ? 1 : i10;
        if (list != null) {
            CodecSpecificDataUtil.parseCea708InitializationData(list);
        }
        this.f31357k = new e[8];
        for (int i11 = 0; i11 < 8; i11++) {
            this.f31357k[i11] = new e();
        }
        this.f31358l = this.f31357k[0];
    }

    @Override // o2.j
    public final k a() {
        List<Cue> list = this.cues;
        this.lastCues = list;
        return new k((List) Assertions.checkNotNull(list));
    }

    @Override // o2.j
    public final void b(h hVar) {
        ByteBuffer byteBuffer = (ByteBuffer) Assertions.checkNotNull(hVar.data);
        byte[] bArrArray = byteBuffer.array();
        int iLimit = byteBuffer.limit();
        ParsableByteArray parsableByteArray = this.f31353g;
        parsableByteArray.reset(bArrArray, iLimit);
        while (parsableByteArray.bytesLeft() >= 3) {
            int unsignedByte = parsableByteArray.readUnsignedByte();
            int i10 = unsignedByte & 3;
            boolean z10 = (unsignedByte & 4) == 4;
            byte unsignedByte2 = (byte) parsableByteArray.readUnsignedByte();
            byte unsignedByte3 = (byte) parsableByteArray.readUnsignedByte();
            if (i10 == 2 || i10 == 3) {
                if (z10) {
                    if (i10 == 3) {
                        d();
                        int i11 = (unsignedByte2 & 192) >> 6;
                        int i12 = this.f31355i;
                        if (i12 != -1 && i11 != (i12 + 1) % 4) {
                            f();
                            Log.w("Cea708Decoder", "Sequence number discontinuity. previous=" + this.f31355i + " current=" + i11);
                        }
                        this.f31355i = i11;
                        int i13 = unsignedByte2 & Utf8.REPLACEMENT_BYTE;
                        if (i13 == 0) {
                            i13 = 64;
                        }
                        f fVar = new f(i11, i13);
                        this.currentDtvCcPacket = fVar;
                        fVar.f31352d = 1;
                        fVar.f31351c[0] = unsignedByte3;
                    } else {
                        Assertions.checkArgument(i10 == 2);
                        f fVar2 = this.currentDtvCcPacket;
                        if (fVar2 == null) {
                            Log.e("Cea708Decoder", "Encountered DTVCC_PACKET_DATA before DTVCC_PACKET_START");
                        } else {
                            int i14 = fVar2.f31352d;
                            byte[] bArr = fVar2.f31351c;
                            bArr[i14] = unsignedByte2;
                            fVar2.f31352d = i14 + 2;
                            bArr[i14 + 1] = unsignedByte3;
                        }
                    }
                    f fVar3 = this.currentDtvCcPacket;
                    if (fVar3.f31352d == (fVar3.f31350b * 2) - 1) {
                        d();
                    }
                }
            }
        }
    }

    @Override // o2.j
    public final boolean c() {
        return this.cues != this.lastCues;
    }

    /* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
    public final void d() {
        int i10;
        int i11;
        boolean z10;
        char c6;
        int i12;
        f fVar = this.currentDtvCcPacket;
        if (fVar == null) {
            return;
        }
        int i13 = 2;
        if (fVar.f31352d != (fVar.f31350b * 2) - 1) {
            Log.d("Cea708Decoder", "DtvCcPacket ended prematurely; size is " + ((this.currentDtvCcPacket.f31350b * 2) - 1) + ", but current index is " + this.currentDtvCcPacket.f31352d + " (sequence number " + this.currentDtvCcPacket.f31349a + ");");
        }
        f fVar2 = this.currentDtvCcPacket;
        byte[] bArr = fVar2.f31351c;
        int i14 = fVar2.f31352d;
        ParsableBitArray parsableBitArray = this.f31354h;
        parsableBitArray.reset(bArr, i14);
        boolean z11 = false;
        while (true) {
            if (parsableBitArray.bitsLeft() > 0) {
                int i15 = 3;
                int bits = parsableBitArray.readBits(3);
                int bits2 = parsableBitArray.readBits(5);
                if (bits == 7) {
                    parsableBitArray.skipBits(i13);
                    bits = parsableBitArray.readBits(6);
                    if (bits < 7) {
                        defpackage.e.z("Invalid extended service number: ", bits, "Cea708Decoder");
                    }
                }
                if (bits2 == 0) {
                    if (bits != 0) {
                        Log.w("Cea708Decoder", "serviceNumber is non-zero (" + bits + ") when blockSize is 0");
                    }
                } else if (bits != this.f31356j) {
                    parsableBitArray.skipBytes(bits2);
                } else {
                    int position = (bits2 * 8) + parsableBitArray.getPosition();
                    while (parsableBitArray.getPosition() < position) {
                        int bits3 = parsableBitArray.readBits(8);
                        if (bits3 != 16) {
                            if (bits3 <= 31) {
                                if (bits3 != 0) {
                                    if (bits3 == i15) {
                                        this.cues = e();
                                    } else if (bits3 != 8) {
                                        switch (bits3) {
                                            case 12:
                                                f();
                                                break;
                                            case 13:
                                                this.f31358l.a('\n');
                                                break;
                                            case 14:
                                                break;
                                            default:
                                                if (bits3 >= 17 && bits3 <= 23) {
                                                    Log.w("Cea708Decoder", "Currently unsupported COMMAND_EXT1 Command: " + bits3);
                                                    parsableBitArray.skipBits(8);
                                                } else if (bits3 < 24 || bits3 > 31) {
                                                    defpackage.e.z("Invalid C0 command: ", bits3, "Cea708Decoder");
                                                } else {
                                                    Log.w("Cea708Decoder", "Currently unsupported COMMAND_P16 Command: " + bits3);
                                                    parsableBitArray.skipBits(16);
                                                }
                                                break;
                                        }
                                    } else {
                                        SpannableStringBuilder spannableStringBuilder = this.f31358l.f31329b;
                                        int length = spannableStringBuilder.length();
                                        if (length > 0) {
                                            spannableStringBuilder.delete(length - 1, length);
                                        }
                                    }
                                }
                                i12 = i13;
                                i10 = i15;
                                i11 = position;
                            } else if (bits3 <= 127) {
                                if (bits3 == 127) {
                                    this.f31358l.a((char) 9835);
                                } else {
                                    this.f31358l.a((char) (bits3 & 255));
                                }
                                i12 = i13;
                                i10 = i15;
                                i11 = position;
                                z11 = true;
                            } else {
                                if (bits3 <= 159) {
                                    e[] eVarArr = this.f31357k;
                                    switch (bits3) {
                                        case 128:
                                        case 129:
                                        case 130:
                                        case 131:
                                        case 132:
                                        case 133:
                                        case 134:
                                        case 135:
                                            i10 = i15;
                                            i11 = position;
                                            z10 = true;
                                            int i16 = bits3 - 128;
                                            if (this.f31359m != i16) {
                                                this.f31359m = i16;
                                                this.f31358l = eVarArr[i16];
                                            }
                                            break;
                                        case 136:
                                            i10 = i15;
                                            i11 = position;
                                            z10 = true;
                                            for (int i17 = 1; i17 <= 8; i17++) {
                                                if (parsableBitArray.readBit()) {
                                                    e eVar = eVarArr[8 - i17];
                                                    eVar.f31328a.clear();
                                                    eVar.f31329b.clear();
                                                    eVar.f31342o = -1;
                                                    eVar.f31343p = -1;
                                                    eVar.f31344q = -1;
                                                    eVar.f31346s = -1;
                                                    eVar.f31348u = 0;
                                                }
                                            }
                                            break;
                                        case 137:
                                            i10 = i15;
                                            i11 = position;
                                            for (int i18 = 1; i18 <= 8; i18++) {
                                                if (parsableBitArray.readBit()) {
                                                    eVarArr[8 - i18].f31331d = true;
                                                }
                                            }
                                            z10 = true;
                                            break;
                                        case 138:
                                            i10 = i15;
                                            i11 = position;
                                            for (int i19 = 1; i19 <= 8; i19++) {
                                                if (parsableBitArray.readBit()) {
                                                    eVarArr[8 - i19].f31331d = false;
                                                }
                                            }
                                            z10 = true;
                                            break;
                                        case 139:
                                            i10 = i15;
                                            i11 = position;
                                            for (int i20 = 1; i20 <= 8; i20++) {
                                                if (parsableBitArray.readBit()) {
                                                    eVarArr[8 - i20].f31331d = !r1.f31331d;
                                                }
                                            }
                                            z10 = true;
                                            break;
                                        case 140:
                                            i10 = i15;
                                            i11 = position;
                                            for (int i21 = 1; i21 <= 8; i21++) {
                                                if (parsableBitArray.readBit()) {
                                                    eVarArr[8 - i21].d();
                                                }
                                            }
                                            z10 = true;
                                            break;
                                        case 141:
                                            i10 = i15;
                                            i11 = position;
                                            parsableBitArray.skipBits(8);
                                            z10 = true;
                                            break;
                                        case 142:
                                            i10 = i15;
                                            i11 = position;
                                            z10 = true;
                                            break;
                                        case 143:
                                            i10 = i15;
                                            i11 = position;
                                            f();
                                            z10 = true;
                                            break;
                                        case IjkMediaMeta.FF_PROFILE_H264_HIGH_444 /* 144 */:
                                            i11 = position;
                                            if (this.f31358l.f31330c) {
                                                parsableBitArray.readBits(4);
                                                parsableBitArray.readBits(2);
                                                parsableBitArray.readBits(2);
                                                boolean bit = parsableBitArray.readBit();
                                                boolean bit2 = parsableBitArray.readBit();
                                                i10 = 3;
                                                parsableBitArray.readBits(3);
                                                parsableBitArray.readBits(3);
                                                this.f31358l.e(bit, bit2);
                                                z10 = true;
                                            } else {
                                                parsableBitArray.skipBits(16);
                                                i10 = 3;
                                                z10 = true;
                                            }
                                            break;
                                        case 145:
                                            i11 = position;
                                            if (this.f31358l.f31330c) {
                                                int iC = e.c(parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2));
                                                int iC2 = e.c(parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2));
                                                parsableBitArray.skipBits(2);
                                                e.c(parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2), 0);
                                                this.f31358l.f(iC, iC2);
                                            } else {
                                                parsableBitArray.skipBits(24);
                                            }
                                            i10 = 3;
                                            z10 = true;
                                            break;
                                        case 146:
                                            i11 = position;
                                            if (this.f31358l.f31330c) {
                                                parsableBitArray.skipBits(4);
                                                int bits4 = parsableBitArray.readBits(4);
                                                parsableBitArray.skipBits(2);
                                                parsableBitArray.readBits(6);
                                                e eVar2 = this.f31358l;
                                                if (eVar2.f31348u != bits4) {
                                                    eVar2.a('\n');
                                                }
                                                eVar2.f31348u = bits4;
                                            } else {
                                                parsableBitArray.skipBits(16);
                                            }
                                            i10 = 3;
                                            z10 = true;
                                            break;
                                        case 147:
                                        case 148:
                                        case 149:
                                        case 150:
                                        default:
                                            defpackage.e.z("Invalid C1 command: ", bits3, "Cea708Decoder");
                                            i10 = i15;
                                            i11 = position;
                                            z10 = true;
                                            break;
                                        case 151:
                                            i11 = position;
                                            if (this.f31358l.f31330c) {
                                                int iC3 = e.c(parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2));
                                                parsableBitArray.readBits(2);
                                                e.c(parsableBitArray.readBits(2), parsableBitArray.readBits(2), parsableBitArray.readBits(2), 0);
                                                parsableBitArray.readBit();
                                                parsableBitArray.readBit();
                                                parsableBitArray.readBits(2);
                                                parsableBitArray.readBits(2);
                                                int bits5 = parsableBitArray.readBits(2);
                                                parsableBitArray.skipBits(8);
                                                e eVar3 = this.f31358l;
                                                eVar3.f31341n = iC3;
                                                eVar3.f31338k = bits5;
                                            } else {
                                                parsableBitArray.skipBits(32);
                                            }
                                            i10 = 3;
                                            z10 = true;
                                            break;
                                        case 152:
                                        case 153:
                                        case 154:
                                        case 155:
                                        case 156:
                                        case 157:
                                        case 158:
                                        case 159:
                                            int i22 = bits3 - 152;
                                            e eVar4 = eVarArr[i22];
                                            parsableBitArray.skipBits(i13);
                                            boolean bit3 = parsableBitArray.readBit();
                                            parsableBitArray.skipBits(i13);
                                            int bits6 = parsableBitArray.readBits(i15);
                                            boolean bit4 = parsableBitArray.readBit();
                                            int bits7 = parsableBitArray.readBits(7);
                                            int bits8 = parsableBitArray.readBits(8);
                                            int bits9 = parsableBitArray.readBits(4);
                                            int bits10 = parsableBitArray.readBits(4);
                                            parsableBitArray.skipBits(i13);
                                            parsableBitArray.skipBits(6);
                                            parsableBitArray.skipBits(i13);
                                            int bits11 = parsableBitArray.readBits(3);
                                            i11 = position;
                                            int bits12 = parsableBitArray.readBits(3);
                                            eVar4.f31330c = true;
                                            eVar4.f31331d = bit3;
                                            eVar4.f31332e = bits6;
                                            eVar4.f31333f = bit4;
                                            eVar4.f31334g = bits7;
                                            eVar4.f31335h = bits8;
                                            eVar4.f31336i = bits9;
                                            int i23 = bits10 + 1;
                                            if (eVar4.f31337j != i23) {
                                                eVar4.f31337j = i23;
                                                while (true) {
                                                    ArrayList arrayList = eVar4.f31328a;
                                                    if (arrayList.size() >= eVar4.f31337j || arrayList.size() >= 15) {
                                                        arrayList.remove(0);
                                                    }
                                                }
                                            }
                                            if (bits11 != 0 && eVar4.f31339l != bits11) {
                                                eVar4.f31339l = bits11;
                                                int i24 = bits11 - 1;
                                                int i25 = e.B[i24];
                                                boolean z12 = e.A[i24];
                                                int i26 = e.f31326y[i24];
                                                int i27 = e.f31327z[i24];
                                                int i28 = e.f31325x[i24];
                                                eVar4.f31341n = i25;
                                                eVar4.f31338k = i28;
                                            }
                                            if (bits12 != 0 && eVar4.f31340m != bits12) {
                                                eVar4.f31340m = bits12;
                                                int i29 = bits12 - 1;
                                                int i30 = e.D[i29];
                                                int i31 = e.C[i29];
                                                eVar4.e(false, false);
                                                eVar4.f(e.f31323v, e.E[i29]);
                                            }
                                            if (this.f31359m != i22) {
                                                this.f31359m = i22;
                                                this.f31358l = eVarArr[i22];
                                            }
                                            i10 = 3;
                                            z10 = true;
                                            break;
                                    }
                                } else {
                                    i10 = i15;
                                    i11 = position;
                                    z10 = true;
                                    if (bits3 <= 255) {
                                        this.f31358l.a((char) (bits3 & 255));
                                    } else {
                                        defpackage.e.z("Invalid base command: ", bits3, "Cea708Decoder");
                                        i12 = 2;
                                        c6 = 7;
                                    }
                                }
                                z11 = z10;
                                i12 = 2;
                                c6 = 7;
                            }
                            z10 = true;
                            c6 = 7;
                        } else {
                            i10 = i15;
                            i11 = position;
                            z10 = true;
                            int bits13 = parsableBitArray.readBits(8);
                            if (bits13 <= 31) {
                                c6 = 7;
                                if (bits13 > 7) {
                                    if (bits13 <= 15) {
                                        parsableBitArray.skipBits(8);
                                    } else if (bits13 <= 23) {
                                        parsableBitArray.skipBits(16);
                                    } else if (bits13 <= 31) {
                                        parsableBitArray.skipBits(24);
                                    }
                                }
                            } else {
                                c6 = 7;
                                if (bits13 <= 127) {
                                    if (bits13 == 32) {
                                        this.f31358l.a(' ');
                                    } else if (bits13 == 33) {
                                        this.f31358l.a((char) 160);
                                    } else if (bits13 == 37) {
                                        this.f31358l.a((char) 8230);
                                    } else if (bits13 == 42) {
                                        this.f31358l.a((char) 352);
                                    } else if (bits13 == 44) {
                                        this.f31358l.a((char) 338);
                                    } else if (bits13 == 63) {
                                        this.f31358l.a((char) 376);
                                    } else if (bits13 == 57) {
                                        this.f31358l.a((char) 8482);
                                    } else if (bits13 == 58) {
                                        this.f31358l.a((char) 353);
                                    } else if (bits13 == 60) {
                                        this.f31358l.a((char) 339);
                                    } else if (bits13 != 61) {
                                        switch (bits13) {
                                            case 48:
                                                this.f31358l.a((char) 9608);
                                                break;
                                            case 49:
                                                this.f31358l.a((char) 8216);
                                                break;
                                            case 50:
                                                this.f31358l.a((char) 8217);
                                                break;
                                            case 51:
                                                this.f31358l.a((char) 8220);
                                                break;
                                            case 52:
                                                this.f31358l.a((char) 8221);
                                                break;
                                            case 53:
                                                this.f31358l.a((char) 8226);
                                                break;
                                            default:
                                                switch (bits13) {
                                                    case 118:
                                                        this.f31358l.a((char) 8539);
                                                        break;
                                                    case 119:
                                                        this.f31358l.a((char) 8540);
                                                        break;
                                                    case 120:
                                                        this.f31358l.a((char) 8541);
                                                        break;
                                                    case 121:
                                                        this.f31358l.a((char) 8542);
                                                        break;
                                                    case 122:
                                                        this.f31358l.a((char) 9474);
                                                        break;
                                                    case 123:
                                                        this.f31358l.a((char) 9488);
                                                        break;
                                                    case 124:
                                                        this.f31358l.a((char) 9492);
                                                        break;
                                                    case 125:
                                                        this.f31358l.a((char) 9472);
                                                        break;
                                                    case 126:
                                                        this.f31358l.a((char) 9496);
                                                        break;
                                                    case 127:
                                                        this.f31358l.a((char) 9484);
                                                        break;
                                                    default:
                                                        defpackage.e.z("Invalid G2 character: ", bits13, "Cea708Decoder");
                                                        break;
                                                }
                                                break;
                                        }
                                    } else {
                                        this.f31358l.a((char) 8480);
                                    }
                                    z11 = true;
                                } else if (bits13 > 159) {
                                    i12 = 2;
                                    if (bits13 <= 255) {
                                        if (bits13 == 160) {
                                            this.f31358l.a((char) 13252);
                                        } else {
                                            defpackage.e.z("Invalid G3 character: ", bits13, "Cea708Decoder");
                                            this.f31358l.a('_');
                                        }
                                        z11 = true;
                                    } else {
                                        defpackage.e.z("Invalid extended command: ", bits13, "Cea708Decoder");
                                    }
                                } else if (bits13 <= 135) {
                                    parsableBitArray.skipBits(32);
                                } else if (bits13 <= 143) {
                                    parsableBitArray.skipBits(40);
                                } else if (bits13 <= 159) {
                                    i12 = 2;
                                    parsableBitArray.skipBits(2);
                                    parsableBitArray.skipBits(parsableBitArray.readBits(6) * 8);
                                }
                            }
                            i12 = 2;
                        }
                        i15 = i10;
                        position = i11;
                        i13 = i12;
                    }
                }
            }
        }
        if (z11) {
            this.cues = e();
        }
        this.currentDtvCcPacket = null;
    }

    @Override // o2.j, n2.h, s1.e
    @Nullable
    public /* bridge */ /* synthetic */ n2.k dequeueInputBuffer() throws SubtitleDecoderException {
        return super.dequeueInputBuffer();
    }

    @Override // o2.j, n2.h, s1.e, androidx.media3.exoplayer.image.ImageDecoder
    @Nullable
    public /* bridge */ /* synthetic */ l dequeueOutputBuffer() throws SubtitleDecoderException {
        return super.dequeueOutputBuffer();
    }

    public final List e() {
        d dVarBuild;
        ArrayList arrayList = new ArrayList();
        for (int i10 = 0; i10 < 8; i10++) {
            e[] eVarArr = this.f31357k;
            e eVar = eVarArr[i10];
            if (eVar.f31330c && (!eVar.f31328a.isEmpty() || eVar.f31329b.length() != 0)) {
                e eVar2 = eVarArr[i10];
                if (eVar2.f31331d && (dVarBuild = eVar2.build()) != null) {
                    arrayList.add(dVarBuild);
                }
            }
        }
        Collections.sort(arrayList, d.f31320c);
        ArrayList arrayList2 = new ArrayList(arrayList.size());
        for (int i11 = 0; i11 < arrayList.size(); i11++) {
            arrayList2.add(((d) arrayList.get(i11)).f31321a);
        }
        return Collections.unmodifiableList(arrayList2);
    }

    public final void f() {
        for (int i10 = 0; i10 < 8; i10++) {
            this.f31357k[i10].d();
        }
    }

    @Override // o2.j, s1.e
    public final void flush() {
        super.flush();
        this.cues = null;
        this.lastCues = null;
        this.f31359m = 0;
        this.f31358l = this.f31357k[0];
        f();
        this.currentDtvCcPacket = null;
    }

    @Override // s1.e, androidx.media3.exoplayer.image.ImageDecoder
    public final String getName() {
        return "Cea708Decoder";
    }
}
