package tv.danmaku.ijk.media.player.ui.subtitleconverter.subtitleFile;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.ArrayList;

/* JADX INFO: loaded from: classes3.dex */
public class FormatSRT implements TimedTextFileFormat {
    private String[] cleanTextForSRT(Caption caption) {
        String[] strArrSplit = caption.content.split("<br />");
        for (int i10 = 0; i10 < strArrSplit.length; i10++) {
            strArrSplit[i10] = strArrSplit[i10].replaceAll("\\<.*?\\>", "");
        }
        return strArrSplit;
    }

    @Override // tv.danmaku.ijk.media.player.ui.subtitleconverter.subtitleFile.TimedTextFileFormat
    public TimedTextObject parseFile(String str, InputStream inputStream) throws IOException {
        return parseFile(str, inputStream, Charset.defaultCharset());
    }

    @Override // tv.danmaku.ijk.media.player.ui.subtitleconverter.subtitleFile.TimedTextFileFormat
    public TimedTextObject parseFile(String str, InputStream inputStream, Charset charset) throws IOException {
        boolean z10;
        TimedTextObject timedTextObject = new TimedTextObject();
        Caption caption = new Caption();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, charset));
        timedTextObject.fileName = str;
        int i10 = 1;
        int i11 = 0;
        for (String strReplace = bufferedReader.readLine().replace("\ufeff", ""); strReplace != null; strReplace = bufferedReader.readLine()) {
            try {
                try {
                    String strTrim = strReplace.trim();
                    int i12 = i11 + 1;
                    if (!strTrim.isEmpty()) {
                        try {
                            if (Integer.parseInt(strTrim) != i10) {
                                throw new Exception();
                            }
                            i10++;
                            z10 = true;
                        } catch (Exception unused) {
                            timedTextObject.warnings += i10 + " expected at line " + i12;
                            timedTextObject.warnings += "\n skipping to next line\n\n";
                            z10 = false;
                        }
                        if (z10) {
                            i12 = i11 + 2;
                            try {
                                strTrim = bufferedReader.readLine().trim();
                                String strSubstring = strTrim.substring(0, 12);
                                String strSubstring2 = strTrim.substring(17, 29);
                                caption.start = new Time("hh:mm:ss,ms", strSubstring);
                                caption.end = new Time("hh:mm:ss,ms", strSubstring2);
                            } catch (Exception unused2) {
                                timedTextObject.warnings += "incorrect time format at line " + i12;
                                z10 = false;
                            }
                        }
                        if (z10) {
                            i12++;
                            strTrim = bufferedReader.readLine().trim();
                            StringBuilder sb = new StringBuilder();
                            while (!strTrim.isEmpty()) {
                                sb.append(strTrim);
                                sb.append("<br/>");
                                strTrim = bufferedReader.readLine().trim();
                                i12++;
                            }
                            if (sb.length() > 5 && sb.substring(sb.length() - 5).equals("<br/>")) {
                                sb.delete(sb.length() - 5, sb.length());
                            }
                            caption.content = sb.toString();
                            int i13 = caption.start.mseconds;
                            while (timedTextObject.captions.containsKey(Integer.valueOf(i13))) {
                                i13++;
                            }
                            if (i13 != caption.start.mseconds) {
                                timedTextObject.warnings += "caption with same start time found...\n\n";
                            }
                            timedTextObject.captions.put(Integer.valueOf(i13), caption);
                        }
                        while (!strTrim.isEmpty()) {
                            strTrim = bufferedReader.readLine().trim();
                            i12++;
                        }
                        caption = new Caption();
                    }
                    i11 = i12;
                } finally {
                    inputStream.close();
                }
            } catch (NullPointerException unused3) {
                timedTextObject.warnings += "unexpected end of file, maybe last caption is not complete.\n\n";
            }
        }
        timedTextObject.built = true;
        return timedTextObject;
    }

    @Override // tv.danmaku.ijk.media.player.ui.subtitleconverter.subtitleFile.TimedTextFileFormat
    public String[] toFile(TimedTextObject timedTextObject) {
        if (!timedTextObject.built) {
            return null;
        }
        ArrayList arrayList = new ArrayList(timedTextObject.captions.size() * 5);
        int i10 = 1;
        int i11 = 0;
        for (Caption caption : timedTextObject.captions.values()) {
            int i12 = i11 + 1;
            int i13 = i10 + 1;
            arrayList.add(i11, Integer.toString(i10));
            int i14 = timedTextObject.offset;
            if (i14 != 0) {
                caption.start.mseconds += i14;
                caption.end.mseconds += i14;
            }
            int i15 = i11 + 2;
            arrayList.add(i12, caption.start.getTime("hh:mm:ss,ms") + " --> " + caption.end.getTime("hh:mm:ss,ms"));
            int i16 = timedTextObject.offset;
            if (i16 != 0) {
                caption.start.mseconds -= i16;
                caption.end.mseconds -= i16;
            }
            String[] strArrCleanTextForSRT = cleanTextForSRT(caption);
            for (String str : strArrCleanTextForSRT) {
                arrayList.add(i15, "" + str);
                i15++;
            }
            arrayList.add(i15, "");
            i11 = i15 + 1;
            i10 = i13;
        }
        int size = arrayList.size();
        String[] strArr = new String[size];
        for (int i17 = 0; i17 < size; i17++) {
            strArr[i17] = (String) arrayList.get(i17);
        }
        return strArr;
    }
}
