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

421 lines
18 KiB
Java

package com.discord.rtcconnection;
import c.a.q.e;
import c.a.q.h;
import c0.t.g0;
import c0.t.h0;
import c0.t.n;
import c0.t.u;
import c0.z.d.m;
import c0.z.d.o;
import co.discord.media_engine.StreamParameters;
import com.discord.rtcconnection.KrispOveruseDetector;
import com.discord.rtcconnection.mediaengine.MediaEngineConnection;
import com.discord.utilities.logging.Logger;
import java.util.Collection;
import java.util.Iterator;
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.d {
public final Map<Long, Long> a = new LinkedHashMap();
public final Map<Long, List<b>> b = new LinkedHashMap();
/* renamed from: c reason: collision with root package name */
public final Set<Long> f2569c;
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.q.c i;
public final e j;
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, long j2, long j3, VideoMetadata videoMetadata);
}
/* compiled from: MediaSinkWantsManager.kt */
public static final class b {
public final EncodeQuality a;
public final long b;
/* renamed from: c reason: collision with root package name */
public final VideoMetadata f2570c;
public b(EncodeQuality encodeQuality, long j, VideoMetadata videoMetadata) {
m.checkNotNullParameter(encodeQuality, "encodeQuality");
this.a = encodeQuality;
this.b = j;
this.f2570c = videoMetadata;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof b)) {
return false;
}
b bVar = (b) obj;
return m.areEqual(this.a, bVar.a) && this.b == bVar.b && m.areEqual(this.f2570c, bVar.f2570c);
}
public int hashCode() {
EncodeQuality encodeQuality = this.a;
int i = 0;
int a = (z.a.a.b.a(this.b) + ((encodeQuality != null ? encodeQuality.hashCode() : 0) * 31)) * 31;
VideoMetadata videoMetadata = this.f2570c;
if (videoMetadata != null) {
i = videoMetadata.hashCode();
}
return a + i;
}
public String toString() {
StringBuilder O = c.d.b.a.a.O("VideoStreamDescriptor(encodeQuality=");
O.append(this.a);
O.append(", ssrc=");
O.append(this.b);
O.append(", metadata=");
O.append(this.f2570c);
O.append(")");
return O.toString();
}
}
/* compiled from: MediaSinkWantsManager.kt */
public static final class c extends o implements Function0<Unit> {
public final /* synthetic */ Long $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, Long l, long j) {
super(0);
this.this$0 = mediaSinkWantsManager;
this.$ssrc = l;
this.$userId = j;
}
/* Return type fixed from 'java.lang.Object' to match base method */
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public Unit mo17invoke() {
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;
}
}
public MediaSinkWantsManager(long j, c.a.q.c cVar, e eVar, Logger logger, a aVar) {
m.checkNotNullParameter(cVar, "mediaEngineThreadExecutor");
m.checkNotNullParameter(eVar, "ladder");
m.checkNotNullParameter(logger, "logger");
m.checkNotNullParameter(aVar, "listener");
this.h = j;
this.i = cVar;
this.j = eVar;
this.k = logger;
this.l = aVar;
new LinkedHashMap();
this.f2569c = new LinkedHashSet();
this.f = BehaviorSubject.l0(g0.mapOf(c0.o.to("any", EncodeQuality.Hundred)));
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.q.c cVar = this.i;
return cVar.k.submit(new c.a.q.m(function0));
}
public final Future<?> c(long j, Long l) {
return b(new c(this, l, j));
}
/* JADX WARNING: Removed duplicated region for block: B:113:0x0246 */
/* 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:88:0x018b A[LOOP:6: B:86:0x0185->B:88:0x018b, LOOP_END] */
/* JADX WARNING: Removed duplicated region for block: B:91:0x01a9 */
/* JADX WARNING: Removed duplicated region for block: B:95:0x01ec */
public final void d(List<String> list) {
int i;
EncodeQuality encodeQuality;
Iterator<Map.Entry<Long, List<b>>> it;
Iterator<Map.Entry<Long, List<b>>> it2;
long j;
EncodeQuality encodeQuality2;
EncodeQuality encodeQuality3;
EncodeQuality encodeQuality4;
e.c cVar;
boolean z2;
MediaEngineConnection mediaEngineConnection = this.d;
if (mediaEngineConnection != null) {
e eVar = this.j;
int i2 = 1;
if (mediaEngineConnection != null) {
Set<Long> set = this.f2569c;
if (!(set instanceof Collection) || !set.isEmpty()) {
i = 0;
for (Number number : set) {
if ((!mediaEngineConnection.g(number.longValue())) && (i = i + 1) < 0) {
n.throwCountOverflow();
}
}
Objects.requireNonNull(eVar);
if (i >= 0) {
encodeQuality = EncodeQuality.Hundred;
} else {
List<e.c> list2 = eVar.d;
ListIterator<e.c> listIterator = list2.listIterator(list2.size());
while (true) {
if (!listIterator.hasPrevious()) {
cVar = null;
break;
}
cVar = listIterator.previous();
if (cVar.b * i <= eVar.b) {
z2 = true;
continue;
} else {
z2 = false;
continue;
}
if (z2) {
break;
}
}
e.c cVar2 = cVar;
if (cVar2 == null) {
cVar2 = (e.c) u.first((List<? extends Object>) eVar.d);
}
encodeQuality = cVar2.f211c;
}
Map<String, EncodeQuality> mutableMapOf = h0.mutableMapOf(c0.o.to("any", encodeQuality));
it = this.b.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Long, List<b>> next = it.next();
long longValue = next.getKey().longValue();
List<b> value = next.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))) {
Long l4 = this.a.get(Long.valueOf(longValue));
if (l4 != null) {
it2 = it;
j = longValue;
this.l.a(longValue, l4.longValue(), bVar.b, bVar.f2570c);
} else {
it2 = it;
j = longValue;
a("Missing audioSsrc for user " + j + ", can't update video ssrc!");
}
} else {
it2 = it;
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);
}
it = it2;
}
}
if (value.size() > 1) {
for (b bVar5 : value) {
if (bVar5.a == EncodeQuality.Hundred) {
mutableMapOf.put(String.valueOf(bVar5.b), EncodeQuality.Zero);
} else {
bVar = bVar5;
}
}
}
while (r3.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) {
}
it = it2;
}
i2 = 1;
}
for (Map.Entry<Long, Long> entry : this.a.entrySet()) {
long longValue2 = entry.getKey().longValue();
long longValue3 = entry.getValue().longValue();
if (mediaEngineConnection.u(longValue2)) {
mutableMapOf.put(String.valueOf(longValue3), EncodeQuality.Zero);
}
}
this.g = mutableMapOf;
this.f.onNext(mutableMapOf);
}
}
i = 0;
Objects.requireNonNull(eVar);
if (i >= 0) {
}
Map<String, EncodeQuality> mutableMapOf = h0.mutableMapOf(c0.o.to("any", encodeQuality));
it = this.b.entrySet().iterator();
while (it.hasNext()) {
}
while (r2.hasNext()) {
}
this.g = mutableMapOf;
this.f.onNext(mutableMapOf);
}
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onConnected(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.TransportInfo transportInfo, List<c.a.q.m0.a> list) {
m.checkNotNullParameter(mediaEngineConnection, "connection");
m.checkNotNullParameter(transportInfo, "transportInfo");
m.checkNotNullParameter(list, "supportedVideoCodecs");
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onConnectionStateChange(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.ConnectionState connectionState) {
m.checkNotNullParameter(mediaEngineConnection, "connection");
m.checkNotNullParameter(connectionState, "connectionState");
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onDestroy(MediaEngineConnection mediaEngineConnection) {
m.checkNotNullParameter(mediaEngineConnection, "connection");
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onError(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.FailedConnectionException failedConnectionException) {
m.checkNotNullParameter(mediaEngineConnection, "connection");
m.checkNotNullParameter(failedConnectionException, "exception");
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onKrispStatus(MediaEngineConnection mediaEngineConnection, KrispOveruseDetector.Status status) {
m.checkNotNullParameter(mediaEngineConnection, "connection");
m.checkNotNullParameter(status, "status");
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onLocalMute(long j, boolean z2) {
b(new h(this));
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onLocalVideoOffScreen(long j, boolean z2) {
b(new h(this));
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onSpeaking(long j, int i, boolean z2) {
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onTargetBitrate(int i) {
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onTargetFrameRate(int i) {
}
@Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.d
public void onVideo(long j, Integer num, int i, int i2, int i3, StreamParameters[] streamParametersArr) {
m.checkNotNullParameter(streamParametersArr, "streams");
}
}