discord-jadx/app/src/main/java/c/a/r/d0.java

363 lines
15 KiB
Java

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<Integer> 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<T>, java.util.Iterator */
/* JADX DEBUG: Type inference failed for r0v11. Raw type applied. Possible types: java.util.Iterator<T>, 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<Payloads.Stream> 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<String, Integer> 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<e.c> list = eVar.d;
ListIterator<e.c> 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<? extends Object>) 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<String, Object> 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);
}
}
}
}