package c.a.r; import c.a.r.k0.a; import c.a.r.m0.b; import c.a.r.m0.c; import c.a.r.m0.d; import c.a.r.m0.e; import co.discord.media_engine.VoiceQuality; import com.discord.rtcconnection.KrispOveruseDetector; import com.discord.rtcconnection.MediaSinkWantsManager; import com.discord.rtcconnection.RtcConnection; import com.discord.rtcconnection.mediaengine.MediaEngineConnection; import com.discord.rtcconnection.socket.io.Payloads; import d0.t.h0; import d0.t.n; import d0.t.o; import d0.z.d.m; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; import kotlin.NoWhenBranchMatchedException; import rx.Observable; import rx.Subscription; /* compiled from: RtcConnection.kt */ public final class a0 implements MediaEngineConnection.c { public final /* synthetic */ RtcConnection a; public a0(RtcConnection rtcConnection) { this.a = rtcConnection; } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onConnected(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.TransportInfo transportInfo, List list) { m.checkNotNullParameter(mediaEngineConnection, "connection"); m.checkNotNullParameter(transportInfo, "transportInfo"); m.checkNotNullParameter(list, "supportedVideoCodecs"); RtcConnection rtcConnection = this.a; rtcConnection.p.succeed(); rtcConnection.q = transportInfo; MediaEngineConnection mediaEngineConnection2 = rtcConnection.w; if (mediaEngineConnection2 != null) { d dVar = new d(1000, rtcConnection.S, mediaEngineConnection2, new VoiceQuality(), new e(null, 1), new KrispOveruseDetector(mediaEngineConnection2), 0, 64); rtcConnection.n = dVar; dVar.a.clear(); Subscription subscription = dVar.b; if (subscription != null && !subscription.isUnsubscribed()) { dVar.a(); } dVar.b = Observable.D(0, dVar.f217c, TimeUnit.MILLISECONDS).W(new b(dVar), new c(dVar)); rtcConnection.o = false; } if (transportInfo.f2096c.ordinal() != 0) { StringBuilder L = c.d.b.a.a.L("Unsupported protocol: "); L.append(transportInfo.f2096c); L.append('.'); RtcConnection.j(rtcConnection, true, L.toString(), null, false, 12); } else { rtcConnection.S.recordBreadcrumb("Sending UDP info to RTC server.", rtcConnection.k); c.a.r.l0.a aVar = rtcConnection.v; if (aVar == null) { RtcConnection.o(rtcConnection, "onEngineConnectionConnected() socket was null.", null, null, 6); return; } String str = transportInfo.a; int i = transportInfo.b; m.checkNotNullParameter("udp", "protocol"); m.checkNotNullParameter(str, "address"); m.checkNotNullParameter("xsalsa20_poly1305", "mode"); m.checkNotNullParameter(list, "codecs"); aVar.b(); Payloads.Protocol.ProtocolInfo protocolInfo = new Payloads.Protocol.ProtocolInfo(str, i, "xsalsa20_poly1305"); ArrayList arrayList = new ArrayList(o.collectionSizeOrDefault(list, 10)); for (a aVar2 : list) { arrayList.add(new Payloads.Protocol.CodecInfo(aVar2.a, aVar2.b, aVar2.f208c, aVar2.d, aVar2.e)); } aVar.o(1, new Payloads.Protocol("udp", protocolInfo, arrayList)); } for (RtcConnection.c cVar : rtcConnection.m) { cVar.onMediaEngineConnectionConnected(rtcConnection); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onConnectionStateChange(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.ConnectionState connectionState) { RtcConnection.State state; m.checkNotNullParameter(mediaEngineConnection, "connection"); m.checkNotNullParameter(connectionState, "connectionState"); RtcConnection rtcConnection = this.a; RtcConnection.StateChange stateChange = rtcConnection.r; rtcConnection.r("Connection state change: " + connectionState); int ordinal = connectionState.ordinal(); if (ordinal == 0) { state = RtcConnection.State.h.a; } else if (ordinal == 1) { state = RtcConnection.State.g.a; } else if (ordinal == 2) { state = RtcConnection.State.f.a; } else if (ordinal == 3) { state = RtcConnection.State.e.a; } else { throw new NoWhenBranchMatchedException(); } rtcConnection.u(state); if (stateChange.a == RtcConnection.State.g.a && rtcConnection.r.a == RtcConnection.State.h.a) { rtcConnection.q(); } if (rtcConnection.r.a == RtcConnection.State.f.a) { rtcConnection.B = Long.valueOf(rtcConnection.T.currentTimeMillis()); rtcConnection.G = true; Map mutableMapOf = h0.mutableMapOf(d0.o.to("connect_count", Integer.valueOf(rtcConnection.C))); Long l = rtcConnection.A; Long l2 = rtcConnection.B; Long valueOf = (l2 == null || l == null) ? null : Long.valueOf(l2.longValue() - l.longValue()); if (valueOf != null) { mutableMapOf.put("connect_time", Long.valueOf(valueOf.longValue())); } rtcConnection.b(mutableMapOf); rtcConnection.p(RtcConnection.AnalyticsEvent.VOICE_CONNECTION_SUCCESS, mutableMapOf); MediaSinkWantsManager mediaSinkWantsManager = rtcConnection.E; if (mediaSinkWantsManager != null) { mediaSinkWantsManager.b(new i(mediaSinkWantsManager, rtcConnection.w)); } } } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onDestroy(MediaEngineConnection mediaEngineConnection) { m.checkNotNullParameter(mediaEngineConnection, "connection"); } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onError(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.FailedConnectionException failedConnectionException) { m.checkNotNullParameter(mediaEngineConnection, "connection"); m.checkNotNullParameter(failedConnectionException, "exception"); RtcConnection rtcConnection = this.a; Objects.requireNonNull(rtcConnection); String str = "connection error: " + failedConnectionException.a(); int ordinal = failedConnectionException.a().ordinal(); if (ordinal == 0 || ordinal == 1 || ordinal == 2) { StringBuilder P = c.d.b.a.a.P(str, " -- "); P.append(failedConnectionException.getMessage()); rtcConnection.r(P.toString()); } else { RtcConnection.AnalyticsEvent analyticsEvent = RtcConnection.AnalyticsEvent.VOICE_CONNECTION_FAILURE; Map mutableMapOf = h0.mutableMapOf(d0.o.to("connect_count", Integer.valueOf(rtcConnection.C))); rtcConnection.b(mutableMapOf); rtcConnection.p(analyticsEvent, mutableMapOf); } RtcConnection.j(rtcConnection, true, str, failedConnectionException, false, 8); } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onKrispStatus(MediaEngineConnection mediaEngineConnection, KrispOveruseDetector.Status status) { m.checkNotNullParameter(mediaEngineConnection, "connection"); m.checkNotNullParameter(status, "status"); } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onLocalMute(long j, boolean z2) { } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onLocalVideoOffScreen(long j, boolean z2) { } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onSpeaking(long j, int i, boolean z2) { c.a.r.l0.a aVar; RtcConnection rtcConnection = this.a; if (j == rtcConnection.Q && (aVar = rtcConnection.v) != null) { aVar.b(); aVar.o(5, new Payloads.Speaking(i, Integer.valueOf(z2 ? 1 : 0), 0, null, 8, null)); } for (RtcConnection.c cVar : rtcConnection.m) { cVar.onSpeaking(j, z2); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c public void onVideo(long j, Integer num, int i, int i2, int i3) { RtcConnection rtcConnection = this.a; if (j == rtcConnection.Q) { c.a.r.l0.a aVar = rtcConnection.v; boolean z2 = true; if (aVar == null) { RtcConnection.o(rtcConnection, "sendVideo() socket was null.", null, null, 6); } else { rtcConnection.I = i2; if (i2 != 0) { rtcConnection.o = true; } aVar.b(); aVar.o(12, new Payloads.Video(i, i2, i3, null, n.emptyList(), 8, null)); } MediaSinkWantsManager mediaSinkWantsManager = rtcConnection.E; if (mediaSinkWantsManager != null) { if (i2 == 0) { z2 = false; } mediaSinkWantsManager.b(new k(mediaSinkWantsManager, z2)); } } for (RtcConnection.c cVar : rtcConnection.m) { cVar.onVideoStream(j, num); } } }