package c.i.a.c.v1; import android.content.Context; import android.media.MediaCrypto; import android.media.MediaFormat; import android.os.Handler; import androidx.annotation.Nullable; import c.i.a.c.b2.g; import c.i.a.c.b2.r; import c.i.a.c.b2.s; import c.i.a.c.b2.t; import c.i.a.c.d1; import c.i.a.c.i2.f0; import c.i.a.c.i2.r; import c.i.a.c.k1; import c.i.a.c.m1; import c.i.a.c.s0; import c.i.a.c.v1.q; import c.i.a.c.x1.d; import c.i.a.c.x1.e; import com.airbnb.lottie.parser.AnimatableValueParser; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.audio.AudioSink; import com.google.android.exoplayer2.decoder.DecoderInputBuffer; import com.google.android.exoplayer2.drm.DrmSession; import com.google.android.exoplayer2.mediacodec.MediaCodecRenderer; import com.google.android.exoplayer2.mediacodec.MediaCodecUtil; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.regex.Pattern; /* compiled from: MediaCodecAudioRenderer */ public class y extends MediaCodecRenderer implements r { public final Context P0; public final q.a Q0; public final AudioSink R0; public int S0; public boolean T0; @Nullable public Format U0; public long V0; public boolean W0; public boolean X0; public boolean Y0; @Nullable public k1.a Z0; /* compiled from: MediaCodecAudioRenderer */ public final class b implements AudioSink.a { public b(a aVar) { } } public y(Context context, t tVar, boolean z2, @Nullable Handler handler, @Nullable q qVar, AudioSink audioSink) { super(1, r.a.a, tVar, z2, 44100.0f); this.P0 = context.getApplicationContext(); this.R0 = audioSink; this.Q0 = new q.a(handler, qVar); audioSink.r(new b(null)); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer, c.i.a.c.g0 public void B() { this.Y0 = true; try { this.R0.flush(); try { super.B(); } finally { this.Q0.a(this.L0); } } catch (Throwable th) { super.B(); throw th; } finally { this.Q0.a(this.L0); } } @Override // c.i.a.c.g0 public void C(boolean z2, boolean z3) throws ExoPlaybackException { d dVar = new d(); this.L0 = dVar; q.a aVar = this.Q0; Handler handler = aVar.a; if (handler != null) { handler.post(new i(aVar, dVar)); } m1 m1Var = this.k; Objects.requireNonNull(m1Var); if (m1Var.b) { this.R0.o(); } else { this.R0.k(); } } public final int C0(s sVar, Format format) { int i; if (!"OMX.google.raw.decoder".equals(sVar.a) || (i = f0.a) >= 24 || (i == 23 && f0.A(this.P0))) { return format.u; } return -1; } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer, c.i.a.c.g0 public void D(long j, boolean z2) throws ExoPlaybackException { super.D(j, z2); this.R0.flush(); this.V0 = j; this.W0 = true; this.X0 = true; } public final void D0() { long j = this.R0.j(b()); if (j != Long.MIN_VALUE) { if (!this.X0) { j = Math.max(this.V0, j); } this.V0 = j; this.X0 = false; } } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer, c.i.a.c.g0 public void E() { DrmSession drmSession = null; boolean z2 = false; try { N(); n0(); try { } finally { if (this.Y0) { this.Y0 = z2; this.R0.reset(); } } } finally { t0(drmSession); } } @Override // c.i.a.c.g0 public void F() { this.R0.p(); } @Override // c.i.a.c.g0 public void G() { D0(); this.R0.i(); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public e K(s sVar, Format format, Format format2) { e c2 = sVar.c(format, format2); int i = c2.e; if (C0(sVar, format2) > this.S0) { i |= 64; } return new e(sVar.a, format, format2, i != 0 ? 0 : c2.d, i); } /* JADX WARNING: Removed duplicated region for block: B:24:0x008d */ /* JADX WARNING: Removed duplicated region for block: B:34:0x00b1 */ /* JADX WARNING: Removed duplicated region for block: B:42:0x00cd */ /* JADX WARNING: Removed duplicated region for block: B:51:0x0109 */ @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public void L(s sVar, c.i.a.c.b2.r rVar, Format format, @Nullable MediaCrypto mediaCrypto, float f) { boolean z2; MediaFormat mediaFormat; boolean z3; Format[] formatArr = this.o; Objects.requireNonNull(formatArr); int C0 = C0(sVar, format); boolean z4 = false; if (formatArr.length != 1) { for (Format format2 : formatArr) { if (sVar.c(format, format2).d != 0) { C0 = Math.max(C0, C0(sVar, format2)); } } } this.S0 = C0; String str = sVar.a; int i = f0.a; if (i < 24 && "OMX.SEC.aac.dec".equals(str) && "samsung".equals(f0.f901c)) { String str2 = f0.b; if (str2.startsWith("zeroflte") || str2.startsWith("herolte") || str2.startsWith("heroqlte")) { z2 = true; this.T0 = z2; String str3 = sVar.f767c; int i2 = this.S0; mediaFormat = new MediaFormat(); mediaFormat.setString("mime", str3); mediaFormat.setInteger("channel-count", format.G); mediaFormat.setInteger("sample-rate", format.H); AnimatableValueParser.w2(mediaFormat, format.v); AnimatableValueParser.J1(mediaFormat, "max-input-size", i2); if (i >= 23) { mediaFormat.setInteger("priority", 0); if (f != -1.0f) { if (i == 23) { String str4 = f0.d; if ("ZTE B2017G".equals(str4) || "AXON 7 mini".equals(str4)) { z3 = true; if (!z3) { mediaFormat.setFloat("operating-rate", f); } } } z3 = false; if (!z3) { } } } if (i <= 28 && "audio/ac4".equals(format.t)) { mediaFormat.setInteger("ac4-is-sync", 1); } if (i >= 24) { AudioSink audioSink = this.R0; int i3 = format.G; int i4 = format.H; Format.b bVar = new Format.b(); bVar.k = "audio/raw"; bVar.f2212x = i3; bVar.f2213y = i4; bVar.f2214z = 4; if (audioSink.s(bVar.a()) == 2) { mediaFormat.setInteger("pcm-encoding", 4); } } rVar.configure(mediaFormat, null, mediaCrypto, 0); if ("audio/raw".equals(sVar.b) && !"audio/raw".equals(format.t)) { z4 = true; } if (!z4) { format = null; } this.U0 = format; } } z2 = false; this.T0 = z2; String str3 = sVar.f767c; int i2 = this.S0; mediaFormat = new MediaFormat(); mediaFormat.setString("mime", str3); mediaFormat.setInteger("channel-count", format.G); mediaFormat.setInteger("sample-rate", format.H); AnimatableValueParser.w2(mediaFormat, format.v); AnimatableValueParser.J1(mediaFormat, "max-input-size", i2); if (i >= 23) { } mediaFormat.setInteger("ac4-is-sync", 1); if (i >= 24) { } rVar.configure(mediaFormat, null, mediaCrypto, 0); z4 = true; if (!z4) { } this.U0 = format; } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public float W(float f, Format format, Format[] formatArr) { int i = -1; for (Format format2 : formatArr) { int i2 = format2.H; if (i2 != -1) { i = Math.max(i, i2); } } if (i == -1) { return -1.0f; } return f * ((float) i); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public List X(t tVar, Format format, boolean z2) throws MediaCodecUtil.DecoderQueryException { s d; String str = format.t; if (str == null) { return Collections.emptyList(); } if (this.R0.a(format) && (d = MediaCodecUtil.d("audio/raw", false, false)) != null) { return Collections.singletonList(d); } List a2 = tVar.a(str, z2, false); Pattern pattern = MediaCodecUtil.a; ArrayList arrayList = new ArrayList(a2); MediaCodecUtil.j(arrayList, new g(format)); if ("audio/eac3-joc".equals(str)) { ArrayList arrayList2 = new ArrayList(arrayList); arrayList2.addAll(tVar.a("audio/eac3", z2, false)); arrayList = arrayList2; } return Collections.unmodifiableList(arrayList); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer, c.i.a.c.k1 public boolean b() { return this.E0 && this.R0.b(); } @Override // c.i.a.c.i2.r public d1 c() { return this.R0.c(); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer, c.i.a.c.k1 public boolean d() { return this.R0.g() || super.d(); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public void d0(String str, long j, long j2) { q.a aVar = this.Q0; Handler handler = aVar.a; if (handler != null) { handler.post(new e(aVar, str, j, j2)); } } @Override // c.i.a.c.i2.r public void e(d1 d1Var) { this.R0.e(d1Var); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public void e0(String str) { q.a aVar = this.Q0; Handler handler = aVar.a; if (handler != null) { handler.post(new f(aVar, str)); } } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer @Nullable public e f0(s0 s0Var) throws ExoPlaybackException { e f02 = super.f0(s0Var); q.a aVar = this.Q0; Format format = s0Var.b; Handler handler = aVar.a; if (handler != null) { handler.post(new d(aVar, format, f02)); } return f02; } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public void g0(Format format, @Nullable MediaFormat mediaFormat) throws ExoPlaybackException { int i; Format format2 = this.U0; int[] iArr = null; if (format2 != null) { format = format2; } else if (this.R != null) { int r = "audio/raw".equals(format.t) ? format.I : (f0.a < 24 || !mediaFormat.containsKey("pcm-encoding")) ? mediaFormat.containsKey("v-bits-per-sample") ? f0.r(mediaFormat.getInteger("v-bits-per-sample")) : "audio/raw".equals(format.t) ? format.I : 2 : mediaFormat.getInteger("pcm-encoding"); Format.b bVar = new Format.b(); bVar.k = "audio/raw"; bVar.f2214z = r; bVar.A = format.J; bVar.B = format.K; bVar.f2212x = mediaFormat.getInteger("channel-count"); bVar.f2213y = mediaFormat.getInteger("sample-rate"); Format a2 = bVar.a(); if (this.T0 && a2.G == 6 && (i = format.G) < 6) { iArr = new int[i]; for (int i2 = 0; i2 < format.G; i2++) { iArr[i2] = i2; } } format = a2; } try { this.R0.t(format, 0, iArr); } catch (AudioSink.ConfigurationException e) { throw z(e, e.format, false); } } @Override // c.i.a.c.k1, c.i.a.c.l1 public String getName() { return "MediaCodecAudioRenderer"; } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public void i0() { this.R0.m(); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public void j0(DecoderInputBuffer decoderInputBuffer) { if (this.W0 && !decoderInputBuffer.m()) { if (Math.abs(decoderInputBuffer.m - this.V0) > 500000) { this.V0 = decoderInputBuffer.m; } this.W0 = false; } } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public boolean l0(long j, long j2, @Nullable c.i.a.c.b2.r rVar, @Nullable ByteBuffer byteBuffer, int i, int i2, int i3, long j3, boolean z2, boolean z3, Format format) throws ExoPlaybackException { Objects.requireNonNull(byteBuffer); if (this.U0 != null && (i2 & 2) != 0) { Objects.requireNonNull(rVar); rVar.releaseOutputBuffer(i, false); return true; } else if (z2) { if (rVar != null) { rVar.releaseOutputBuffer(i, false); } this.L0.f += i3; this.R0.m(); return true; } else { try { if (!this.R0.q(byteBuffer, j3, i3)) { return false; } if (rVar != null) { rVar.releaseOutputBuffer(i, false); } this.L0.e += i3; return true; } catch (AudioSink.InitializationException e) { throw z(e, e.format, e.isRecoverable); } catch (AudioSink.WriteException e2) { throw z(e2, format, e2.isRecoverable); } } } @Override // c.i.a.c.i2.r public long m() { if (this.m == 2) { D0(); } return this.V0; } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public void o0() throws ExoPlaybackException { try { this.R0.f(); } catch (AudioSink.WriteException e) { throw z(e, e.format, e.isRecoverable); } } @Override // c.i.a.c.g0, c.i.a.c.h1.b public void r(int i, @Nullable Object obj) throws ExoPlaybackException { if (i == 2) { this.R0.n(((Float) obj).floatValue()); } else if (i == 3) { this.R0.l((n) obj); } else if (i != 5) { switch (i) { case 101: this.R0.u(((Boolean) obj).booleanValue()); return; case 102: this.R0.h(((Integer) obj).intValue()); return; case 103: this.Z0 = (k1.a) obj; return; default: return; } } else { this.R0.v((t) obj); } } @Override // c.i.a.c.g0, c.i.a.c.k1 @Nullable public c.i.a.c.i2.r w() { return this; } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public boolean w0(Format format) { return this.R0.a(format); } @Override // com.google.android.exoplayer2.mediacodec.MediaCodecRenderer public int x0(t tVar, Format format) throws MediaCodecUtil.DecoderQueryException { if (!c.i.a.c.i2.s.h(format.t)) { return 0; } int i = f0.a >= 21 ? 32 : 0; boolean z2 = format.M != null; boolean y0 = MediaCodecRenderer.y0(format); if (y0 && this.R0.a(format) && (!z2 || MediaCodecUtil.d("audio/raw", false, false) != null)) { return i | 12; } if ("audio/raw".equals(format.t) && !this.R0.a(format)) { return 1; } AudioSink audioSink = this.R0; int i2 = format.G; int i3 = format.H; Format.b bVar = new Format.b(); bVar.k = "audio/raw"; bVar.f2212x = i2; bVar.f2213y = i3; bVar.f2214z = 2; if (!audioSink.a(bVar.a())) { return 1; } List X = X(tVar, format, false); if (X.isEmpty()) { return 1; } if (!y0) { return 2; } s sVar = X.get(0); boolean e = sVar.e(format); return ((!e || !sVar.f(format)) ? 8 : 16) | (e ? 4 : 3) | i; } }