package w5; import android.annotation.SuppressLint; import android.media.DeniedByServerException; import android.media.MediaCrypto; import android.media.MediaCryptoException; import android.media.MediaDrm; import android.media.MediaDrmException; import android.media.NotProvisionedException; import android.media.UnsupportedSchemeException; import android.media.metrics.LogSessionId; import android.text.TextUtils; import e9.d; import f6.l; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.charset.Charset; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import q7.n0; import q7.r; import s5.i; import t5.s1; import w5.b0; import w5.m; public final class f0 implements b0 { /* renamed from: d reason: collision with root package name */ public static final b0.c f28079d = e0.f28077a; /* renamed from: a reason: collision with root package name */ private final UUID f28080a; /* renamed from: b reason: collision with root package name */ private final MediaDrm f28081b; /* renamed from: c reason: collision with root package name */ private int f28082c = 1; private static class a { public static boolean a(MediaDrm mediaDrm, String str) { return mediaDrm.requiresSecureDecoder(str); } public static void b(MediaDrm mediaDrm, byte[] bArr, s1 s1Var) { LogSessionId a10 = s1Var.a(); if (!a10.equals(LogSessionId.LOG_SESSION_ID_NONE)) { ((MediaDrm.PlaybackComponent) q7.a.e(mediaDrm.getPlaybackComponent(bArr))).setLogSessionId(a10); } } } private f0(UUID uuid) throws UnsupportedSchemeException { q7.a.e(uuid); q7.a.b(!i.f24358b.equals(uuid), "Use C.CLEARKEY_UUID instead"); this.f28080a = uuid; MediaDrm mediaDrm = new MediaDrm(t(uuid)); this.f28081b = mediaDrm; if (i.f24360d.equals(uuid) && A()) { v(mediaDrm); } } private static boolean A() { return "ASUS_Z00AD".equals(n0.f23194d); } public static f0 B(UUID uuid) throws k0 { try { return new f0(uuid); } catch (UnsupportedSchemeException e10) { throw new k0(1, e10); } catch (Exception e11) { throw new k0(2, e11); } } private static byte[] p(byte[] bArr) { q7.b0 b0Var = new q7.b0(bArr); int p10 = b0Var.p(); short r10 = b0Var.r(); short r11 = b0Var.r(); if (r10 == 1 && r11 == 1) { short r12 = b0Var.r(); Charset charset = d.f14113e; String A = b0Var.A(r12, charset); if (A.contains("<LA_URL>")) { return bArr; } int indexOf = A.indexOf("</DATA>"); if (indexOf == -1) { r.i("FrameworkMediaDrm", "Could not find the </DATA> tag. Skipping LA_URL workaround."); } String str = A.substring(0, indexOf) + "<LA_URL>https://x</LA_URL>" + A.substring(indexOf); int i10 = p10 + 52; ByteBuffer allocate = ByteBuffer.allocate(i10); allocate.order(ByteOrder.LITTLE_ENDIAN); allocate.putInt(i10); allocate.putShort((short) r10); allocate.putShort((short) r11); allocate.putShort((short) (str.length() * 2)); allocate.put(str.getBytes(charset)); return allocate.array(); } r.f("FrameworkMediaDrm", "Unexpected record count or type. Skipping LA_URL workaround."); return bArr; } private static byte[] q(UUID uuid, byte[] bArr) { return i.f24359c.equals(uuid) ? a.a(bArr) : bArr; } /* JADX WARNING: Code restructure failed: missing block: B:21:0x0056, code lost: if ("AFTT".equals(r0) == false) goto L_0x005f; */ private static byte[] r(UUID uuid, byte[] bArr) { UUID uuid2 = i.f24361e; if (uuid2.equals(uuid)) { byte[] e10 = l.e(bArr, uuid); if (e10 != null) { bArr = e10; } bArr = l.a(uuid2, p(bArr)); } if (n0.f23191a >= 23 || !i.f24360d.equals(uuid)) { if (uuid2.equals(uuid) && "Amazon".equals(n0.f23193c)) { String str = n0.f23194d; if (!"AFTB".equals(str)) { if (!"AFTS".equals(str)) { if (!"AFTM".equals(str)) { } } } } } byte[] e11 = l.e(bArr, uuid); return e11 != null ? e11 : bArr; } private static String s(UUID uuid, String str) { return (n0.f23191a >= 26 || !i.f24359c.equals(uuid) || (!"video/mp4".equals(str) && !"audio/mp4".equals(str))) ? str : "cenc"; } private static UUID t(UUID uuid) { return (n0.f23191a >= 27 || !i.f24359c.equals(uuid)) ? uuid : i.f24358b; } private static void v(MediaDrm mediaDrm) { mediaDrm.setPropertyString("securityLevel", "L3"); } private static m.b x(UUID uuid, List<m.b> list) { boolean z10; if (i.f24360d.equals(uuid)) { if (n0.f23191a >= 28 && list.size() > 1) { m.b bVar = list.get(0); int i10 = 0; int i11 = 0; while (true) { if (i10 >= list.size()) { z10 = true; break; } m.b bVar2 = list.get(i10); byte[] bArr = (byte[]) q7.a.e(bVar2.f28182e); if (!n0.c(bVar2.f28181d, bVar.f28181d) || !n0.c(bVar2.f28180c, bVar.f28180c) || !l.c(bArr)) { z10 = false; } else { i11 += bArr.length; i10++; } } z10 = false; if (z10) { byte[] bArr2 = new byte[i11]; int i12 = 0; for (int i13 = 0; i13 < list.size(); i13++) { byte[] bArr3 = (byte[]) q7.a.e(list.get(i13).f28182e); int length = bArr3.length; System.arraycopy(bArr3, 0, bArr2, i12, length); i12 += length; } return bVar.b(bArr2); } } for (int i14 = 0; i14 < list.size(); i14++) { m.b bVar3 = list.get(i14); int g10 = l.g((byte[]) q7.a.e(bVar3.f28182e)); int i15 = n0.f23191a; if (i15 < 23 && g10 == 0) { return bVar3; } if (i15 >= 23 && g10 == 1) { return bVar3; } } } return list.get(0); } /* access modifiers changed from: private */ public /* synthetic */ void y(b0.b bVar, MediaDrm mediaDrm, byte[] bArr, int i10, int i11, byte[] bArr2) { bVar.a(this, bArr, i10, i11, bArr2); } /* access modifiers changed from: private */ public static /* synthetic */ b0 z(UUID uuid) { try { return B(uuid); } catch (k0 unused) { r.c("FrameworkMediaDrm", "Failed to instantiate a FrameworkMediaDrm for uuid: " + uuid + "."); return new z(); } } @Override // w5.b0 public Map<String, String> a(byte[] bArr) { return this.f28081b.queryKeyStatus(bArr); } @Override // w5.b0 public b0.d b() { MediaDrm.ProvisionRequest provisionRequest = this.f28081b.getProvisionRequest(); return new b0.d(provisionRequest.getData(), provisionRequest.getDefaultUrl()); } @Override // w5.b0 public byte[] d() throws MediaDrmException { return this.f28081b.openSession(); } @Override // w5.b0 public void e(b0.b bVar) { this.f28081b.setOnEventListener(bVar == null ? null : new d0(this, bVar)); } @Override // w5.b0 public boolean f(byte[] bArr, String str) { if (n0.f23191a >= 31) { return a.a(this.f28081b, str); } try { MediaCrypto mediaCrypto = new MediaCrypto(this.f28080a, bArr); try { return mediaCrypto.requiresSecureDecoderComponent(str); } finally { mediaCrypto.release(); } } catch (MediaCryptoException unused) { return true; } } @Override // w5.b0 public void g(byte[] bArr, byte[] bArr2) { this.f28081b.restoreKeys(bArr, bArr2); } @Override // w5.b0 public void h(byte[] bArr) { this.f28081b.closeSession(bArr); } @Override // w5.b0 public byte[] i(byte[] bArr, byte[] bArr2) throws NotProvisionedException, DeniedByServerException { if (i.f24359c.equals(this.f28080a)) { bArr2 = a.b(bArr2); } return this.f28081b.provideKeyResponse(bArr, bArr2); } @Override // w5.b0 public void j(byte[] bArr) throws DeniedByServerException { this.f28081b.provideProvisionResponse(bArr); } @Override // w5.b0 @SuppressLint({"WrongConstant"}) public b0.a k(byte[] bArr, List<m.b> list, int i10, HashMap<String, String> hashMap) throws NotProvisionedException { String str; byte[] bArr2; m.b bVar = null; if (list != null) { bVar = x(this.f28080a, list); bArr2 = r(this.f28080a, (byte[]) q7.a.e(bVar.f28182e)); str = s(this.f28080a, bVar.f28181d); } else { bArr2 = null; str = null; } MediaDrm.KeyRequest keyRequest = this.f28081b.getKeyRequest(bArr, bArr2, str, i10, hashMap); byte[] q10 = q(this.f28080a, keyRequest.getData()); String defaultUrl = keyRequest.getDefaultUrl(); if ("https://x".equals(defaultUrl)) { defaultUrl = ""; } if (TextUtils.isEmpty(defaultUrl) && bVar != null && !TextUtils.isEmpty(bVar.f28180c)) { defaultUrl = bVar.f28180c; } return new b0.a(q10, defaultUrl, n0.f23191a >= 23 ? keyRequest.getRequestType() : Integer.MIN_VALUE); } @Override // w5.b0 public int l() { return 2; } @Override // w5.b0 public void m(byte[] bArr, s1 s1Var) { if (n0.f23191a >= 31) { try { a.b(this.f28081b, bArr, s1Var); } catch (UnsupportedOperationException unused) { r.i("FrameworkMediaDrm", "setLogSessionId failed."); } } } @Override // w5.b0 public synchronized void release() { int i10 = this.f28082c - 1; this.f28082c = i10; if (i10 == 0) { this.f28081b.release(); } } /* renamed from: u */ public c0 c(byte[] bArr) throws MediaCryptoException { return new c0(t(this.f28080a), bArr, n0.f23191a < 21 && i.f24360d.equals(this.f28080a) && "L3".equals(w("securityLevel"))); } public String w(String str) { return this.f28081b.getPropertyString(str); } }