discord-jadx/app/src/main/java/com/discord/rtcconnection/MediaSinkWantsManager.java

401 lines
17 KiB
Java
Raw Normal View History

2021-06-27 20:44:35 +00:00
package com.discord.rtcconnection;
2021-06-27 20:53:42 +00:00
import c.a.r.e;
import c.a.r.h;
2021-06-27 20:44:35 +00:00
import com.discord.rtcconnection.KrispOveruseDetector;
import com.discord.rtcconnection.mediaengine.MediaEngineConnection;
import com.discord.utilities.logging.Logger;
import d0.t.g0;
import d0.t.h0;
import d0.t.n;
import d0.t.u;
import d0.z.d.m;
import d0.z.d.o;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.Future;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.subjects.BehaviorSubject;
/* compiled from: MediaSinkWantsManager.kt */
public final class MediaSinkWantsManager implements MediaEngineConnection.c {
public final Map<Long, Integer> a = new LinkedHashMap();
public final Map<Long, List<b>> b = new LinkedHashMap();
/* renamed from: c reason: collision with root package name */
2021-07-03 23:36:06 +00:00
public final Set<Long> f2077c;
2021-06-27 20:44:35 +00:00
public MediaEngineConnection d;
public Long e;
public final BehaviorSubject<Map<String, EncodeQuality>> f;
public Map<String, ? extends EncodeQuality> g;
public final long h;
public final c.a.r.c i;
2021-06-27 20:53:42 +00:00
public final e j;
2021-06-27 20:44:35 +00:00
public final Logger k;
public final a l;
/* compiled from: MediaSinkWantsManager.kt */
public enum VideoQualityMode {
AUTO(1),
FULL(2);
public static final a Companion = new a(null);
private final int numeral;
/* compiled from: MediaSinkWantsManager.kt */
public static final class a {
public a(DefaultConstructorMarker defaultConstructorMarker) {
}
}
private VideoQualityMode(int i) {
this.numeral = i;
}
public final int getNumeral() {
return this.numeral;
}
}
/* compiled from: MediaSinkWantsManager.kt */
public interface a {
void a(long j, int i, int i2, VideoMetadata videoMetadata);
}
/* compiled from: MediaSinkWantsManager.kt */
public static final class b {
public final EncodeQuality a;
public final int b;
/* renamed from: c reason: collision with root package name */
2021-07-03 23:36:06 +00:00
public final VideoMetadata f2078c;
2021-06-27 20:44:35 +00:00
public b(EncodeQuality encodeQuality, int i, VideoMetadata videoMetadata) {
m.checkNotNullParameter(encodeQuality, "encodeQuality");
this.a = encodeQuality;
this.b = i;
2021-07-03 23:36:06 +00:00
this.f2078c = videoMetadata;
2021-06-27 20:44:35 +00:00
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof b)) {
return false;
}
b bVar = (b) obj;
2021-07-03 23:36:06 +00:00
return m.areEqual(this.a, bVar.a) && this.b == bVar.b && m.areEqual(this.f2078c, bVar.f2078c);
2021-06-27 20:44:35 +00:00
}
public int hashCode() {
EncodeQuality encodeQuality = this.a;
int i = 0;
int hashCode = (((encodeQuality != null ? encodeQuality.hashCode() : 0) * 31) + this.b) * 31;
2021-07-03 23:36:06 +00:00
VideoMetadata videoMetadata = this.f2078c;
2021-06-27 20:44:35 +00:00
if (videoMetadata != null) {
i = videoMetadata.hashCode();
}
return hashCode + i;
}
public String toString() {
StringBuilder L = c.d.b.a.a.L("VideoStreamDescriptor(encodeQuality=");
L.append(this.a);
L.append(", ssrc=");
L.append(this.b);
L.append(", metadata=");
2021-07-03 23:36:06 +00:00
L.append(this.f2078c);
2021-06-27 20:44:35 +00:00
L.append(")");
return L.toString();
}
}
/* compiled from: MediaSinkWantsManager.kt */
public static final class c extends o implements Function0<Unit> {
public final /* synthetic */ Integer $ssrc;
public final /* synthetic */ long $userId;
public final /* synthetic */ MediaSinkWantsManager this$0;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public c(MediaSinkWantsManager mediaSinkWantsManager, Integer num, long j) {
super(0);
this.this$0 = mediaSinkWantsManager;
this.$ssrc = num;
this.$userId = j;
}
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public Unit mo1invoke() {
if (this.$ssrc != null) {
this.this$0.a.put(Long.valueOf(this.$userId), this.$ssrc);
} else {
this.this$0.a.remove(Long.valueOf(this.$userId));
}
MediaSinkWantsManager.e(this.this$0, null, 1);
return Unit.a;
}
}
2021-06-27 20:53:42 +00:00
public MediaSinkWantsManager(long j, c.a.r.c cVar, e eVar, Logger logger, a aVar) {
2021-06-27 20:44:35 +00:00
m.checkNotNullParameter(cVar, "mediaEngineThreadExecutor");
2021-06-27 20:53:42 +00:00
m.checkNotNullParameter(eVar, "ladder");
2021-06-27 20:44:35 +00:00
m.checkNotNullParameter(logger, "logger");
m.checkNotNullParameter(aVar, "listener");
this.h = j;
this.i = cVar;
2021-06-27 20:53:42 +00:00
this.j = eVar;
2021-06-27 20:44:35 +00:00
this.k = logger;
this.l = aVar;
new LinkedHashMap();
2021-07-03 23:36:06 +00:00
this.f2077c = new LinkedHashSet();
this.f = BehaviorSubject.l0(g0.mapOf(d0.o.to("any", EncodeQuality.Hundred)));
2021-06-27 20:44:35 +00:00
this.g = h0.emptyMap();
}
public static /* synthetic */ void e(MediaSinkWantsManager mediaSinkWantsManager, List list, int i) {
mediaSinkWantsManager.d((i & 1) != 0 ? n.emptyList() : null);
}
public final void a(String str) {
Logger.w$default(this.k, "MediaSinkWantsManager", str, null, 4, null);
}
public final Future<?> b(Function0<Unit> function0) {
c.a.r.c cVar = this.i;
2021-06-27 20:53:42 +00:00
return cVar.k.submit(new c.a.r.m(function0));
2021-06-27 20:44:35 +00:00
}
public final Future<?> c(long j, Integer num) {
return b(new c(this, num, j));
}
/* JADX WARNING: Removed duplicated region for block: B:110:0x0235 */
/* JADX WARNING: Removed duplicated region for block: B:19:0x0043 */
/* JADX WARNING: Removed duplicated region for block: B:20:0x0046 */
/* JADX WARNING: Removed duplicated region for block: B:36:0x009a */
/* JADX WARNING: Removed duplicated region for block: B:87:0x0188 A[LOOP:6: B:85:0x0182->B:87:0x0188, LOOP_END] */
/* JADX WARNING: Removed duplicated region for block: B:90:0x01a6 */
/* JADX WARNING: Removed duplicated region for block: B:94:0x01e4 */
public final void d(List<String> list) {
int i;
EncodeQuality encodeQuality;
long j;
EncodeQuality encodeQuality2;
EncodeQuality encodeQuality3;
EncodeQuality encodeQuality4;
2021-06-27 20:53:42 +00:00
e.c cVar;
2021-06-27 20:44:35 +00:00
boolean z2;
MediaEngineConnection mediaEngineConnection = this.d;
if (mediaEngineConnection != null) {
2021-06-27 20:53:42 +00:00
e eVar = this.j;
2021-06-27 20:44:35 +00:00
int i2 = 1;
if (mediaEngineConnection != null) {
2021-07-03 23:36:06 +00:00
Set<Long> set = this.f2077c;
2021-06-27 20:44:35 +00:00
if (!(set instanceof Collection) || !set.isEmpty()) {
i = 0;
for (Number number : set) {
if ((!mediaEngineConnection.g(number.longValue())) && (i = i + 1) < 0) {
n.throwCountOverflow();
}
}
2021-06-27 20:53:42 +00:00
Objects.requireNonNull(eVar);
2021-06-27 20:44:35 +00:00
if (i >= 0) {
encodeQuality = EncodeQuality.Hundred;
} else {
2021-06-27 20:53:42 +00:00
List<e.c> list2 = eVar.d;
ListIterator<e.c> listIterator = list2.listIterator(list2.size());
2021-06-27 20:44:35 +00:00
while (true) {
if (!listIterator.hasPrevious()) {
cVar = null;
break;
}
cVar = listIterator.previous();
2021-06-27 20:53:42 +00:00
if (cVar.b * i <= eVar.b) {
2021-06-27 20:44:35 +00:00
z2 = true;
continue;
} else {
z2 = false;
continue;
}
if (z2) {
break;
}
}
2021-06-27 20:53:42 +00:00
e.c cVar2 = cVar;
2021-06-27 20:44:35 +00:00
if (cVar2 == null) {
2021-06-27 20:53:42 +00:00
cVar2 = (e.c) u.first((List<? extends Object>) eVar.d);
2021-06-27 20:44:35 +00:00
}
2021-07-03 23:36:06 +00:00
encodeQuality = cVar2.f203c;
2021-06-27 20:44:35 +00:00
}
Map<String, EncodeQuality> mutableMapOf = h0.mutableMapOf(d0.o.to("any", encodeQuality));
for (Map.Entry<Long, List<b>> entry : this.b.entrySet()) {
long longValue = entry.getKey().longValue();
List<b> value = entry.getValue();
b bVar = (b) u.firstOrNull((List<? extends Object>) value);
if (bVar != null) {
Long l = this.e;
if (l != null) {
long j2 = this.h;
if (l == null || l.longValue() != j2) {
if (value.size() > i2) {
Long l2 = this.e;
if (l2 != null && longValue == l2.longValue()) {
for (b bVar2 : value) {
EncodeQuality encodeQuality5 = bVar2.a;
EncodeQuality encodeQuality6 = EncodeQuality.Hundred;
if (encodeQuality5 == encodeQuality6) {
mutableMapOf.put(String.valueOf(bVar2.b), encodeQuality6);
bVar = bVar2;
} else {
mutableMapOf.put(String.valueOf(bVar2.b), EncodeQuality.Zero);
}
}
} else {
for (b bVar3 : value) {
if (bVar3.a == EncodeQuality.Hundred) {
mutableMapOf.put(String.valueOf(bVar3.b), EncodeQuality.Zero);
} else {
bVar = bVar3;
}
}
}
} else {
Long l3 = this.e;
if (!(l3 == null || longValue != l3.longValue() || encodeQuality == (encodeQuality4 = EncodeQuality.Hundred))) {
mutableMapOf.put(String.valueOf(bVar.b), encodeQuality4);
}
}
if (mediaEngineConnection.g(longValue) || mediaEngineConnection.p(longValue)) {
for (b bVar4 : value) {
mutableMapOf.put(String.valueOf(bVar4.b), EncodeQuality.Zero);
}
}
if (!list.contains(String.valueOf(longValue))) {
Integer num = this.a.get(Long.valueOf(longValue));
if (num != null) {
j = longValue;
2021-07-03 23:36:06 +00:00
this.l.a(longValue, num.intValue(), bVar.b, bVar.f2078c);
2021-06-27 20:44:35 +00:00
} else {
j = longValue;
a("Missing audioSsrc for user " + j + ", can't update video ssrc!");
}
} else {
j = longValue;
}
encodeQuality2 = (EncodeQuality) this.g.get(String.valueOf(bVar.b));
encodeQuality3 = EncodeQuality.Zero;
if (encodeQuality2 != encodeQuality3 && mutableMapOf.get(String.valueOf(bVar.b)) != encodeQuality3) {
mediaEngineConnection.i(j, false);
}
if (encodeQuality2 == encodeQuality3 && mutableMapOf.get(String.valueOf(bVar.b)) == encodeQuality3) {
mediaEngineConnection.i(j, true);
}
i2 = 1;
}
}
if (value.size() > i2) {
for (b bVar5 : value) {
if (bVar5.a == EncodeQuality.Hundred) {
mutableMapOf.put(String.valueOf(bVar5.b), EncodeQuality.Zero);
} else {
bVar = bVar5;
}
}
}
while (r7.hasNext()) {
}
if (!list.contains(String.valueOf(longValue))) {
}
encodeQuality2 = (EncodeQuality) this.g.get(String.valueOf(bVar.b));
encodeQuality3 = EncodeQuality.Zero;
if (encodeQuality2 != encodeQuality3) {
}
if (encodeQuality2 == encodeQuality3) {
}
i2 = 1;
}
}
for (Map.Entry<Long, Integer> entry2 : this.a.entrySet()) {
long longValue2 = entry2.getKey().longValue();
int intValue = entry2.getValue().intValue();
if (mediaEngineConnection.u(longValue2)) {
mutableMapOf.put(String.valueOf(intValue), EncodeQuality.Zero);
}
}
this.g = mutableMapOf;
this.f.onNext(mutableMapOf);
}
}
i = 0;
2021-06-27 20:53:42 +00:00
Objects.requireNonNull(eVar);
2021-06-27 20:44:35 +00:00
if (i >= 0) {
}
Map<String, EncodeQuality> mutableMapOf = h0.mutableMapOf(d0.o.to("any", encodeQuality));
while (r6.hasNext()) {
}
while (r2.hasNext()) {
}
this.g = mutableMapOf;
this.f.onNext(mutableMapOf);
}
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c
2021-07-03 23:36:06 +00:00
public void onConnected(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.TransportInfo transportInfo, List<c.a.r.k0.a> list) {
2021-06-27 20:44:35 +00:00
m.checkNotNullParameter(mediaEngineConnection, "connection");
m.checkNotNullParameter(transportInfo, "transportInfo");
m.checkNotNullParameter(list, "supportedVideoCodecs");
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c
public void onConnectionStateChange(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.ConnectionState connectionState) {
m.checkNotNullParameter(mediaEngineConnection, "connection");
m.checkNotNullParameter(connectionState, "connectionState");
}
@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");
}
@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) {
2021-06-27 20:53:42 +00:00
b(new h(this));
2021-06-27 20:44:35 +00:00
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c
public void onLocalVideoOffScreen(long j, boolean z2) {
2021-06-27 20:53:42 +00:00
b(new h(this));
2021-06-27 20:44:35 +00:00
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c
public void onSpeaking(long j, int i, boolean z2) {
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.c
public void onVideo(long j, Integer num, int i, int i2, int i3) {
}
}