package com.hw.videoprocessor; import android.media.MediaCodec; import android.media.MediaCodecInfo; import android.media.MediaExtractor; import android.media.MediaFormat; import com.baidu.cloud.media.player.misc.IMediaFormat; import com.hw.videoprocessor.util.CL; import java.io.IOException; /* loaded from: classes.dex */ public class VideoUtil { public static int a(MediaExtractor mediaExtractor, boolean z) { int trackCount = mediaExtractor.getTrackCount(); for (int i = 0; i < trackCount; i++) { String string = mediaExtractor.getTrackFormat(i).getString(IMediaFormat.KEY_MIME); if (z) { if (string.startsWith("audio/")) { return i; } } else if (string.startsWith("video/")) { return i; } } return -5; } public static int b(String str) { MediaExtractor mediaExtractor = new MediaExtractor(); try { mediaExtractor.setDataSource(str); MediaFormat trackFormat = mediaExtractor.getTrackFormat(a(mediaExtractor, false)); return trackFormat.containsKey("frame-rate") ? trackFormat.getInteger("frame-rate") : -1; } catch (IOException e) { CL.a(e); return -1; } finally { mediaExtractor.release(); } } public static float a(String str) throws IOException { MediaExtractor mediaExtractor = new MediaExtractor(); mediaExtractor.setDataSource(str); int i = 0; mediaExtractor.selectTrack(a(mediaExtractor, false)); long j = 0; while (true) { long sampleTime = mediaExtractor.getSampleTime(); if (sampleTime < 0) { mediaExtractor.release(); return i / ((j / 1000.0f) / 1000.0f); } i++; mediaExtractor.advance(); j = sampleTime; } } public static boolean a(MediaCodec mediaCodec, String str, MediaFormat mediaFormat, int i, int i2) { MediaCodecInfo.CodecProfileLevel[] codecProfileLevelArr = mediaCodec.getCodecInfo().getCapabilitiesForType(str).profileLevels; if (codecProfileLevelArr == null) { return false; } for (MediaCodecInfo.CodecProfileLevel codecProfileLevel : codecProfileLevelArr) { if (codecProfileLevel.profile == i && codecProfileLevel.level == i2) { mediaFormat.setInteger("profile", i); mediaFormat.setInteger("level", i2); return true; } } return false; } public static int a(MediaCodec mediaCodec, String str) { try { return mediaCodec.getCodecInfo().getCapabilitiesForType(str).getVideoCapabilities().getBitrateRange().getUpper().intValue(); } catch (Exception e) { CL.a(e); return -1; } } }