package c.a.r; import c.a.r.e; import c.a.r.l0.a; import c.a.r.m0.d; import com.discord.rtcconnection.EncodeQuality; import com.discord.rtcconnection.MediaSinkWantsManager; import com.discord.rtcconnection.RtcConnection; import com.discord.rtcconnection.VideoMetadata; import com.discord.rtcconnection.mediaengine.MediaEngine; import com.discord.rtcconnection.mediaengine.MediaEngineConnection; import com.discord.rtcconnection.socket.io.Payloads; import com.discord.utilities.logging.Logger; import d0.t.n; import d0.t.o; import d0.t.r; import d0.t.u; import d0.z.d.m; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.ListIterator; import java.util.Map; import java.util.NoSuchElementException; import java.util.Objects; import kotlin.NoWhenBranchMatchedException; /* compiled from: RtcConnection.kt */ public final class d0 implements a.d { public final /* synthetic */ RtcConnection a; public d0(RtcConnection rtcConnection) { this.a = rtcConnection; } @Override // c.a.r.l0.a.d public void a(String str, String str2) { m.checkNotNullParameter(str, "audioCodec"); m.checkNotNullParameter(str2, "videoCodec"); MediaEngineConnection mediaEngineConnection = this.a.w; if (mediaEngineConnection != null) { mediaEngineConnection.r(str, str2); } } @Override // c.a.r.l0.a.d public void b(boolean z2, Integer num, String str) { RtcConnection rtcConnection = this.a; Objects.requireNonNull(rtcConnection); rtcConnection.r("Disconnected from RTC server. wasFatal: " + z2 + " -- code: " + num + " -- reason: " + str); MediaEngineConnection mediaEngineConnection = rtcConnection.w; if (mediaEngineConnection != null) { mediaEngineConnection.destroy(); } MediaEngineConnection mediaEngineConnection2 = rtcConnection.w; if (mediaEngineConnection2 != null) { mediaEngineConnection2.o(rtcConnection.K); } boolean z3 = num == null || num.intValue() != 1000; if (!(rtcConnection.r.a instanceof RtcConnection.State.d)) { rtcConnection.n(z3, str); d dVar = rtcConnection.n; if (dVar != null) { dVar.a(); } rtcConnection.n = null; rtcConnection.o = false; } rtcConnection.f2084z = 0; rtcConnection.B = null; MediaSinkWantsManager mediaSinkWantsManager = rtcConnection.E; if (mediaSinkWantsManager != null) { mediaSinkWantsManager.b(new g(mediaSinkWantsManager)); } rtcConnection.u(new RtcConnection.State.d(z3)); if (z3) { long fail = rtcConnection.p.fail(new b0(rtcConnection)); Logger.w$default(rtcConnection.S, rtcConnection.k, "Disconnect was not clean! Reason: " + str + ", code: " + num + ". Reconnecting in " + (fail / ((long) 1000)) + " seconds.", null, 4, null); } } @Override // c.a.r.l0.a.d public void c(String str, List list) { m.checkNotNullParameter(str, "mode"); m.checkNotNullParameter(list, "secretKey"); MediaEngineConnection mediaEngineConnection = this.a.w; if (mediaEngineConnection != null) { mediaEngineConnection.t(str, u.toIntArray(list)); } } @Override // c.a.r.l0.a.d public void d(String str) { m.checkNotNullParameter(str, "mediaSessionId"); RtcConnection rtcConnection = this.a; rtcConnection.H = str; for (RtcConnection.c cVar : rtcConnection.m) { cVar.onMediaSessionIdReceived(); rtcConnection.p(RtcConnection.AnalyticsEvent.MEDIA_SESSION_JOINED, new LinkedHashMap()); } } /* JADX DEBUG: Failed to insert an additional move for type inference into block B:41:0x0058 */ /* JADX WARN: Multi-variable type inference failed */ /* JADX DEBUG: Type inference failed for r0v2. Raw type applied. Possible types: java.util.Iterator, java.util.Iterator */ /* JADX DEBUG: Type inference failed for r0v11. Raw type applied. Possible types: java.util.Iterator, java.util.Iterator */ /* JADX WARNING: Unknown variable types count: 1 */ @Override // c.a.r.l0.a.d public void e(long j, int i, int i2, List list) { VideoMetadata videoMetadata; Object obj; boolean z2; ?? r1; RtcConnection rtcConnection = this.a; if (j != rtcConnection.Q) { boolean z3 = false; if (rtcConnection.E != null) { if (list != null) { r1 = new ArrayList(o.collectionSizeOrDefault(list, 10)); for (Payloads.Stream stream : list) { r1.add(Payloads.Stream.copy$default(stream, null, null, null, null, null, null, Boolean.valueOf(i2 > 0), null, 191, null)); } } else { r1 = n.emptyList(); } boolean isEmpty = r1.isEmpty(); List list2 = r1; if (isEmpty) { Integer valueOf = Integer.valueOf(i2); Integer valueOf2 = Integer.valueOf(i2 + 1); if (i2 > 0) { z3 = true; } list2 = d0.t.m.listOf(new Payloads.Stream("100", null, 100, valueOf, valueOf2, null, Boolean.valueOf(z3), null)); } rtcConnection.E.c(j, Integer.valueOf(i)); MediaSinkWantsManager mediaSinkWantsManager = rtcConnection.E; Objects.requireNonNull(mediaSinkWantsManager); m.checkNotNullParameter(list2, "ssrcs"); mediaSinkWantsManager.b(new l(mediaSinkWantsManager, list2, j)); return; } if (list != null) { Iterator it = list.iterator(); while (true) { if (!it.hasNext()) { obj = null; break; } obj = it.next(); Payloads.Stream stream2 = (Payloads.Stream) obj; Integer ssrc = stream2.getSsrc(); if (ssrc == null || ssrc.intValue() != i2 || stream2.getMaxResolution() == null) { z2 = false; continue; } else { z2 = true; continue; } if (z2) { break; } } Payloads.Stream stream3 = (Payloads.Stream) obj; if (stream3 != null) { Payloads.Stream.MaxResolution maxResolution = stream3.getMaxResolution(); m.checkNotNull(maxResolution); videoMetadata = new VideoMetadata(j, maxResolution.getWidth(), stream3.getMaxResolution().getHeight(), stream3.getMaxFrameRate(), stream3.getMaxResolution().getType()); rtcConnection.d(j, i, i2, videoMetadata); } } videoMetadata = null; rtcConnection.d(j, i, i2, videoMetadata); } } @Override // c.a.r.l0.a.d public void f(Map map) { boolean z2; Integer num; m.checkNotNullParameter(map, "wants"); RtcConnection rtcConnection = this.a; if (rtcConnection.E != null) { int i = rtcConnection.I; int intValue = (i == 0 || (num = map.get(String.valueOf(i))) == null) ? 0 : num.intValue(); Integer num2 = map.get("any"); int intValue2 = num2 != null ? num2.intValue() : 0; if (intValue <= 0) { intValue = intValue2 > 0 ? intValue2 : 100; } e.c cVar = null; rtcConnection.S.i(rtcConnection.k, "remote MediaSinkWants: " + map + ", decided on encode quality " + intValue, null); EncodeQuality[] values = EncodeQuality.values(); for (int i2 = 10; i2 >= 0; i2--) { EncodeQuality encodeQuality = values[i2]; if (encodeQuality.getValue() <= intValue) { e eVar = rtcConnection.E.j; h0 h0Var = eVar.e; m.checkNotNullParameter(encodeQuality, "wantValue"); List list = eVar.d; ListIterator listIterator = list.listIterator(list.size()); while (true) { if (!listIterator.hasPrevious()) { break; } e.c previous = listIterator.previous(); if (encodeQuality.compareTo(previous.f203c) >= 0) { z2 = true; continue; } else { z2 = false; continue; } if (z2) { cVar = previous; break; } } e.c cVar2 = cVar; if (cVar2 == null) { cVar2 = (e.c) u.first((List) eVar.d); } n nVar = cVar2.a; int max = Math.max((int) (((double) h0Var.f204c.a) * nVar.f222c), h0Var.d); int max2 = Math.max((int) (((double) h0Var.f204c.b) * nVar.f222c), h0Var.d); MediaEngineConnection mediaEngineConnection = rtcConnection.w; if (mediaEngineConnection != null) { mediaEngineConnection.m(new MediaEngineConnection.a(max, max2, nVar.a, nVar.b, nVar.d, nVar.e)); return; } return; } } throw new NoSuchElementException("Array contains no element matching the predicate."); } } @Override // c.a.r.l0.a.d public void g(long j) { RtcConnection rtcConnection = this.a; rtcConnection.u.add(Long.valueOf(j)); if (rtcConnection.u.size() > 5) { r.removeFirst(rtcConnection.u); } if (j > ((long) 500)) { rtcConnection.f2084z++; } double d = (double) j; Objects.requireNonNull(RtcConnection.Quality.Companion); RtcConnection.Quality quality = Double.isNaN(d) ? RtcConnection.Quality.UNKNOWN : d < ((double) 250) ? RtcConnection.Quality.FINE : d < ((double) 500) ? RtcConnection.Quality.AVERAGE : RtcConnection.Quality.BAD; for (RtcConnection.c cVar : rtcConnection.m) { cVar.onQualityUpdate(quality); } } @Override // c.a.r.l0.a.d public void h() { } @Override // c.a.r.l0.a.d public void i() { RtcConnection rtcConnection = this.a; rtcConnection.p.cancel(); StringBuilder sb = new StringBuilder(); sb.append("Connecting to RTC server "); a aVar = rtcConnection.v; sb.append(aVar != null ? aVar.C : null); rtcConnection.r(sb.toString()); rtcConnection.u(RtcConnection.State.c.a); } @Override // c.a.r.l0.a.d public void j() { RtcConnection rtcConnection = this.a; rtcConnection.p.cancel(); rtcConnection.S.recordBreadcrumb("Connected to RTC server.", rtcConnection.k); a aVar = rtcConnection.v; if (aVar == null) { RtcConnection.o(rtcConnection, "onSocketConnect() socket was null.", null, null, 6); return; } String str = rtcConnection.P; long j = rtcConnection.Q; String str2 = rtcConnection.N; boolean z2 = rtcConnection.O; m.checkNotNullParameter(str, "serverId"); m.checkNotNullParameter(str2, "sessionId"); aVar.b(); aVar.r = str; aVar.f213s = str2; aVar.f216z = a.c.IDENTIFYING; aVar.o(0, new Payloads.Identify(str, j, str2, aVar.D, z2)); rtcConnection.u(RtcConnection.State.a.a); } @Override // c.a.r.l0.a.d public void k(long j) { d dVar; c.a.r.m0.e eVar; Map b; RtcConnection rtcConnection = this.a; if (!(!(rtcConnection.U instanceof RtcConnection.d.a) || (dVar = rtcConnection.n) == null || (eVar = dVar.g) == null || (b = eVar.b(String.valueOf(j))) == null)) { rtcConnection.l(j, b); } MediaSinkWantsManager mediaSinkWantsManager = rtcConnection.E; if (mediaSinkWantsManager != null) { mediaSinkWantsManager.c(j, null); } MediaSinkWantsManager mediaSinkWantsManager2 = rtcConnection.E; if (mediaSinkWantsManager2 != null) { List emptyList = n.emptyList(); m.checkNotNullParameter(emptyList, "ssrcs"); mediaSinkWantsManager2.b(new l(mediaSinkWantsManager2, emptyList, j)); } } @Override // c.a.r.l0.a.d public void l(int i, int i2, String str) { MediaEngineConnection.Type type; m.checkNotNullParameter(str, "ip"); RtcConnection rtcConnection = this.a; Objects.requireNonNull(rtcConnection); rtcConnection.r("Discovered dedicated UDP server on port " + i); rtcConnection.u(RtcConnection.State.g.a); MediaEngine mediaEngine = rtcConnection.R; long j = rtcConnection.Q; MediaEngine.a aVar = new MediaEngine.a(i2, str, i); RtcConnection.d dVar = rtcConnection.U; if (m.areEqual(dVar, RtcConnection.d.a.a)) { type = MediaEngineConnection.Type.DEFAULT; } else if (dVar instanceof RtcConnection.d.b) { type = MediaEngineConnection.Type.STREAM; } else { throw new NoWhenBranchMatchedException(); } MediaEngineConnection h = mediaEngine.h(j, aVar, type, new c0(rtcConnection)); if (h != null) { h.l(rtcConnection.K); rtcConnection.w = h; return; } RtcConnection.o(rtcConnection, "onSocketHello(): connect() return null.", null, null, 6); } @Override // c.a.r.l0.a.d public void onSpeaking(long j, int i, boolean z2) { RtcConnection rtcConnection = this.a; if (j != rtcConnection.Q) { MediaEngineConnection mediaEngineConnection = rtcConnection.w; if (mediaEngineConnection != null) { mediaEngineConnection.s(j, i, null, rtcConnection.g(j), rtcConnection.h(j)); } MediaSinkWantsManager mediaSinkWantsManager = rtcConnection.E; if (mediaSinkWantsManager != null) { mediaSinkWantsManager.c(j, Integer.valueOf(i)); } for (RtcConnection.c cVar : rtcConnection.m) { cVar.onUserCreated(rtcConnection, j); } } } }