package androidx.media3.exoplayer.rtsp;

import android.net.Uri;
import androidx.media3.common.ParserException;
import androidx.media3.common.util.Log;
import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.rtsp.MediaDescription;
import androidx.media3.exoplayer.rtsp.SessionDescription;
import androidx.media3.extractor.metadata.dvbsi.AppInfoTableDecoder;
import defpackage.if7;
import defpackage.rq6;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import net.zetetic.database.DatabaseUtils;

/* JADX INFO: loaded from: classes.dex */
final class SessionDescriptionParser {
    private static final String ATTRIBUTE_TYPE = "a";
    private static final String BANDWIDTH_TYPE = "b";
    private static final String CONNECTION_TYPE = "c";
    private static final String EMAIL_TYPE = "e";
    private static final String INFORMATION_TYPE = "i";
    private static final String KEY_TYPE = "k";
    private static final String MEDIA_TYPE = "m";
    private static final String ORIGIN_TYPE = "o";
    private static final String PHONE_NUMBER_TYPE = "p";
    private static final String REPEAT_TYPE = "r";
    private static final String SESSION_TYPE = "s";
    private static final String TAG = "SDPParser";
    private static final String TIMING_TYPE = "t";
    private static final String URI_TYPE = "u";
    private static final String VERSION_TYPE = "v";
    private static final String ZONE_TYPE = "z";
    private static final Pattern SDP_LINE_PATTERN = Pattern.compile("([a-z])=\\s?((?:.|\f)++)");
    private static final Pattern SDP_LINE_WITH_EMPTY_VALUE_PATTERN = Pattern.compile("^([a-z])=$");
    private static final Pattern ATTRIBUTE_PATTERN = Pattern.compile("([\\x21\\x23-\\x27\\x2a\\x2b\\x2d\\x2e\\x30-\\x39\\x41-\\x5a\\x5e-\\x7e]+)(?::((?:.|\f)*+))?");
    private static final Pattern MEDIA_DESCRIPTION_PATTERN = Pattern.compile("(\\S+)\\s(\\S+)\\s(\\S+)\\s(\\S+)");

    private SessionDescriptionParser() {
    }

    private static void addMediaDescriptionToSession(SessionDescription.Builder builder, MediaDescription.Builder builder2) throws ParserException {
        try {
            builder.addMediaDescription(builder2.build());
        } catch (IllegalArgumentException | IllegalStateException e) {
            throw ParserException.createForMalformedManifest(null, e);
        }
    }

    /* JADX WARN: Code restructure failed: missing block: B:153:0x01b8, code lost:
    
        continue;
     */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public static SessionDescription parse(String str) throws ParserException {
        String str2;
        SessionDescription.Builder builder = new SessionDescription.Builder();
        MediaDescription.Builder mediaDescriptionLine = null;
        boolean z = false;
        for (String str3 : RtspMessageUtil.splitRtspMessageBody(str)) {
            String strTrim = str3.trim();
            if (!strTrim.isEmpty()) {
                Matcher matcher = SDP_LINE_PATTERN.matcher(strTrim);
                if (matcher.matches()) {
                    String strGroup = matcher.group(1);
                    strGroup.getClass();
                    String strGroup2 = matcher.group(2);
                    strGroup2.getClass();
                    switch (strGroup.hashCode()) {
                        case 97:
                            if (!strGroup.equals("a")) {
                                continue;
                            } else if (!z) {
                                Matcher matcher2 = ATTRIBUTE_PATTERN.matcher(strGroup2);
                                if (!matcher2.matches()) {
                                    throw ParserException.createForMalformedManifest("Malformed Attribute line: ".concat(strTrim), null);
                                }
                                String strGroup3 = matcher2.group(1);
                                strGroup3.getClass();
                                String strGroup4 = matcher2.group(2);
                                if (strGroup4 == null) {
                                    strGroup4 = "";
                                }
                                if (mediaDescriptionLine == null) {
                                    builder.addAttribute(strGroup3, strGroup4);
                                } else {
                                    mediaDescriptionLine.addAttribute(strGroup3, strGroup4);
                                }
                            } else {
                                continue;
                            }
                            break;
                        case 98:
                            if (!strGroup.equals(BANDWIDTH_TYPE)) {
                                continue;
                            } else if (!z) {
                                String[] strArrSplit = Util.split(strGroup2, ":\\s?");
                                if7.e(strArrSplit.length == 2);
                                int i = Integer.parseInt(strArrSplit[1]);
                                if (mediaDescriptionLine == null) {
                                    builder.setBitrate(i * 1000);
                                } else {
                                    mediaDescriptionLine.setBitrate(i * 1000);
                                }
                            }
                            break;
                        case DatabaseUtils.STATEMENT_OTHER /* 99 */:
                            if (!strGroup.equals(CONNECTION_TYPE)) {
                                continue;
                            } else if (!z) {
                                if (mediaDescriptionLine == null) {
                                    builder.setConnection(strGroup2);
                                } else {
                                    mediaDescriptionLine.setConnection(strGroup2);
                                }
                            }
                            break;
                        case 101:
                            if (strGroup.equals(EMAIL_TYPE)) {
                                builder.setEmailAddress(strGroup2);
                            } else {
                                continue;
                            }
                            break;
                        case 105:
                            if (!strGroup.equals("i")) {
                                continue;
                            } else if (!z) {
                                if (mediaDescriptionLine == null) {
                                    builder.setSessionInfo(strGroup2);
                                } else {
                                    mediaDescriptionLine.setMediaTitle(strGroup2);
                                }
                            }
                            break;
                        case 107:
                            if (!strGroup.equals(KEY_TYPE)) {
                                continue;
                            } else if (!z) {
                                if (mediaDescriptionLine == null) {
                                    builder.setKey(strGroup2);
                                } else {
                                    mediaDescriptionLine.setKey(strGroup2);
                                }
                            }
                            break;
                        case 109:
                            if (strGroup.equals("m")) {
                                if (mediaDescriptionLine != null) {
                                    addMediaDescriptionToSession(builder, mediaDescriptionLine);
                                }
                                mediaDescriptionLine = parseMediaDescriptionLine(strGroup2);
                                z = mediaDescriptionLine == null;
                            } else {
                                continue;
                            }
                            break;
                        case 111:
                            if (strGroup.equals(ORIGIN_TYPE)) {
                                builder.setOrigin(strGroup2);
                            } else {
                                continue;
                            }
                            break;
                        case 112:
                            if (strGroup.equals("p")) {
                                builder.setPhoneNumber(strGroup2);
                            } else {
                                continue;
                            }
                            break;
                        case 114:
                            str2 = REPEAT_TYPE;
                            break;
                        case 115:
                            if (strGroup.equals("s")) {
                                builder.setSessionName(strGroup2);
                            } else {
                                continue;
                            }
                            break;
                        case AppInfoTableDecoder.APPLICATION_INFORMATION_TABLE_ID /* 116 */:
                            if (strGroup.equals(TIMING_TYPE)) {
                                builder.setTiming(strGroup2);
                            } else {
                                continue;
                            }
                            break;
                        case 117:
                            if (strGroup.equals(URI_TYPE)) {
                                builder.setUri(Uri.parse(strGroup2));
                            } else {
                                continue;
                            }
                            break;
                        case 118:
                            if (strGroup.equals("v")) {
                                if (!SessionDescription.SUPPORTED_SDP_VERSION.equals(strGroup2)) {
                                    throw ParserException.createForMalformedManifest("SDP version " + strGroup2 + " is not supported.", null);
                                }
                            } else {
                                continue;
                            }
                            break;
                        case 122:
                            str2 = ZONE_TYPE;
                            break;
                    }
                    strGroup.equals(str2);
                } else {
                    Matcher matcher3 = SDP_LINE_WITH_EMPTY_VALUE_PATTERN.matcher(strTrim);
                    if (!matcher3.matches() || !Objects.equals(matcher3.group(1), "i")) {
                        throw ParserException.createForMalformedManifest("Malformed SDP line: ".concat(strTrim), null);
                    }
                }
            }
        }
        if (mediaDescriptionLine != null) {
            addMediaDescriptionToSession(builder, mediaDescriptionLine);
        }
        try {
            return builder.build();
        } catch (IllegalArgumentException | IllegalStateException e) {
            throw ParserException.createForMalformedManifest(null, e);
        }
    }

    @rq6
    private static MediaDescription.Builder parseMediaDescriptionLine(String str) throws ParserException {
        Matcher matcher = MEDIA_DESCRIPTION_PATTERN.matcher(str);
        if (!matcher.matches()) {
            throw ParserException.createForMalformedManifest("Malformed SDP media description line: " + str, null);
        }
        String strGroup = matcher.group(1);
        strGroup.getClass();
        String strGroup2 = matcher.group(2);
        strGroup2.getClass();
        String strGroup3 = matcher.group(3);
        strGroup3.getClass();
        String strGroup4 = matcher.group(4);
        strGroup4.getClass();
        try {
            return new MediaDescription.Builder(strGroup, Integer.parseInt(strGroup2), strGroup3, Integer.parseInt(strGroup4));
        } catch (NumberFormatException e) {
            Log.w(TAG, "Malformed SDP media description line: " + str, e);
            return null;
        }
    }
}
