package c.a.q.m0.c; import android.content.Context; import android.os.Build; import androidx.annotation.AnyThread; import c.a.q.d0; import co.discord.media_engine.RtcRegion; import co.discord.media_engine.VideoInputDeviceDescription; import com.airbnb.lottie.parser.AnimatableValueParser; import com.discord.rtcconnection.mediaengine.MediaEngine; import com.discord.rtcconnection.mediaengine.MediaEngineConnection; import com.discord.utilities.logging.Logger; import com.hammerandchisel.libdiscord.Discord; import d0.t.n0; import d0.t.u; import d0.z.d.m; import d0.z.d.o; import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.concurrent.Future; import kotlin.Unit; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import org.webrtc.Logging; import org.webrtc.voiceengine.WebRtcAudioManager; import rx.Emitter; import rx.Observable; import rx.functions.Action1; /* compiled from: MediaEngineLegacy.kt */ public final class k implements MediaEngine { public static final Set a = n0.setOf((Object[]) new String[]{"Pixel", "Pixel XL", "Pixel 3a XL", "Pixel 4", "Pixel 4 XL", "Pixel 5"}); public static final Set b = n0.setOf((Object[]) new String[]{"Pixel 3a", "Redmi Note 8 Pro", "Redmi Note 8 pro"}); /* renamed from: c reason: collision with root package name */ public final t f215c; public final List d; public boolean e; public Discord f; public List g; public MediaEngine.OpenSLUsageMode h; public final Context i; public final MediaEngine.b j; public final c.a.q.c k; public final MediaEngine.OpenSLESConfig l; public final Logger m; public final Set n; public final Set o; /* compiled from: MediaEngineLegacy.kt */ public static final class a extends o implements Function0 { public final /* synthetic */ k this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public a(k kVar) { super(0); this.this$0 = kVar; } /* Return type fixed from 'java.lang.Object' to match base method */ @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public Unit mo1invoke() { k kVar = this.this$0; j jVar = j.i; Set set = k.a; kVar.n(jVar); return Unit.a; } } /* compiled from: MediaEngineLegacy.kt */ public static final class b extends o implements Function1 { public final /* synthetic */ e $connection; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public b(e eVar) { super(1); this.$connection = eVar; } /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 public Unit invoke(MediaEngine.b bVar) { MediaEngine.b bVar2 = bVar; m.checkNotNullParameter(bVar2, "it"); bVar2.onNewConnection(this.$connection); return Unit.a; } } /* compiled from: MediaEngineLegacy.kt */ public static final class c extends MediaEngineConnection.a { public final /* synthetic */ k a; /* compiled from: MediaEngineLegacy.kt */ public static final class a extends o implements Function0 { public final /* synthetic */ c this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public a(c cVar) { super(0); this.this$0 = cVar; } /* Return type fixed from 'java.lang.Object' to match base method */ @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public Unit mo1invoke() { k kVar = this.this$0.a; l lVar = l.i; Set set = k.a; kVar.n(lVar); return Unit.a; } } /* compiled from: MediaEngineLegacy.kt */ public static final class b extends o implements Function0 { public final /* synthetic */ MediaEngineConnection $connection; public final /* synthetic */ c this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public b(c cVar, MediaEngineConnection mediaEngineConnection) { super(0); this.this$0 = cVar; this.$connection = mediaEngineConnection; } /* Return type fixed from 'java.lang.Object' to match base method */ @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public Unit mo1invoke() { k.m(this.this$0.a, this.$connection); return Unit.a; } } /* compiled from: MediaEngineLegacy.kt */ /* renamed from: c.a.q.m0.c.k$c$c reason: collision with other inner class name */ public static final class C0036c extends o implements Function0 { public final /* synthetic */ MediaEngineConnection $connection; public final /* synthetic */ c this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public C0036c(c cVar, MediaEngineConnection mediaEngineConnection) { super(0); this.this$0 = cVar; this.$connection = mediaEngineConnection; } /* Return type fixed from 'java.lang.Object' to match base method */ @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public Unit mo1invoke() { k.m(this.this$0.a, this.$connection); return Unit.a; } } /* compiled from: MediaEngineLegacy.kt */ public static final class d extends o implements Function0 { public final /* synthetic */ MediaEngineConnection $connection; public final /* synthetic */ c this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public d(c cVar, MediaEngineConnection mediaEngineConnection) { super(0); this.this$0 = cVar; this.$connection = mediaEngineConnection; } /* Return type fixed from 'java.lang.Object' to match base method */ @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public Unit mo1invoke() { k.m(this.this$0.a, this.$connection); return Unit.a; } } public c(k kVar) { this.a = kVar; } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.a, com.discord.rtcconnection.mediaengine.MediaEngineConnection.d public void onConnected(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.TransportInfo transportInfo, List list) { m.checkNotNullParameter(mediaEngineConnection, "connection"); m.checkNotNullParameter(transportInfo, "transportInfo"); m.checkNotNullParameter(list, "supportedVideoCodecs"); this.a.o(new a(this)); } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.a, com.discord.rtcconnection.mediaengine.MediaEngineConnection.d public void onConnectionStateChange(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.ConnectionState connectionState) { m.checkNotNullParameter(mediaEngineConnection, "connection"); m.checkNotNullParameter(connectionState, "connectionState"); if (connectionState == MediaEngineConnection.ConnectionState.DISCONNECTED) { this.a.o(new b(this, mediaEngineConnection)); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.a, com.discord.rtcconnection.mediaengine.MediaEngineConnection.d public void onDestroy(MediaEngineConnection mediaEngineConnection) { m.checkNotNullParameter(mediaEngineConnection, "connection"); this.a.o(new C0036c(this, mediaEngineConnection)); } @Override // com.discord.rtcconnection.mediaengine.MediaEngineConnection.a, com.discord.rtcconnection.mediaengine.MediaEngineConnection.d public void onError(MediaEngineConnection mediaEngineConnection, MediaEngineConnection.FailedConnectionException failedConnectionException) { m.checkNotNullParameter(mediaEngineConnection, "connection"); m.checkNotNullParameter(failedConnectionException, "exception"); this.a.o(new d(this, mediaEngineConnection)); } } /* compiled from: MediaEngineLegacy.kt */ public static final class d implements Action1> { public final /* synthetic */ k i; public d(k kVar) { this.i = kVar; } /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // rx.functions.Action1 public void call(Emitter emitter) { Emitter emitter2 = emitter; Discord discord = this.i.f; if (discord != null) { discord.getAudioSubsystem(new n(emitter2)); } } } /* compiled from: MediaEngineLegacy.kt */ public static final class e implements Action1> { public final /* synthetic */ k i; public e(k kVar) { this.i = kVar; } /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ /* JADX DEBUG: Multi-variable search result rejected for r3v0, resolved type: java.util.List */ /* JADX WARN: Multi-variable type inference failed */ @Override // rx.functions.Action1 public void call(List list) { List list2 = list; k kVar = this.i; m.checkNotNullExpressionValue(list2, "codecs"); kVar.g = list2; } } /* compiled from: MediaEngineLegacy.kt */ public static final class f implements j0.k.b, Unit> { public static final f i = new f(); /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // j0.k.b public Unit call(List list) { return Unit.a; } } /* compiled from: MediaEngineLegacy.kt */ public static final class g implements Discord.LocalVoiceLevelChangedCallback { public final /* synthetic */ Function1 a; public g(Function1 function1) { this.a = function1; } @Override // com.hammerandchisel.libdiscord.Discord.LocalVoiceLevelChangedCallback public final void onLocalVoiceLevelChanged(float f, int i) { boolean z2 = true; if ((i & 1) == 0) { z2 = false; } this.a.invoke(new MediaEngine.LocalVoiceStatus(f, z2)); } } /* compiled from: MediaEngineLegacy.kt */ public static final class h implements Logging.ExternalReporter { public final /* synthetic */ k a; public h(k kVar) { this.a = kVar; } @Override // org.webrtc.Logging.ExternalReporter public final void e(String str, String str2, Throwable th) { Logger logger = this.a.m; m.checkNotNullExpressionValue(str, "tag"); m.checkNotNullExpressionValue(str2, "message"); Logger.e$default(logger, str, str2, th, null, 8, null); } } /* compiled from: MediaEngineLegacy.kt */ public static final /* synthetic */ class i extends d0.z.d.k implements Function1 { public static final i i = new i(); public i() { super(1, MediaEngine.b.class, "onNativeEngineInitialized", "onNativeEngineInitialized()V", 0); } /* Return type fixed from 'java.lang.Object' to match base method */ /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ @Override // kotlin.jvm.functions.Function1 public Unit invoke(MediaEngine.b bVar) { MediaEngine.b bVar2 = bVar; m.checkNotNullParameter(bVar2, "p1"); bVar2.onNativeEngineInitialized(); return Unit.a; } } /* compiled from: MediaEngineLegacy.kt */ public static final class j extends o implements Function0 { public final /* synthetic */ MediaEngine.VoiceConfig $voiceConfig; public final /* synthetic */ k this$0; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ public j(k kVar, MediaEngine.VoiceConfig voiceConfig) { super(0); this.this$0 = kVar; this.$voiceConfig = voiceConfig; } /* Return type fixed from 'java.lang.Object' to match base method */ @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public Unit mo1invoke() { StringBuilder K = c.d.b.a.a.K("updateVoiceConfig: "); K.append(this.$voiceConfig); AnimatableValueParser.D1("MediaEngineLegacy", K.toString()); MediaEngine.VoiceConfig voiceConfig = this.$voiceConfig; k kVar = this.this$0; float f = voiceConfig.a; Discord discord = kVar.f; if (discord != null) { discord.setSpeakerVolume(Math.min(300.0f, Math.max(0.0f, f)) / 100.0f); } k kVar2 = this.this$0; boolean z2 = voiceConfig.b; Discord discord2 = kVar2.f; if (discord2 != null) { discord2.setEchoCancellation(z2); } k kVar3 = this.this$0; boolean z3 = voiceConfig.f2110c; Discord discord3 = kVar3.f; if (discord3 != null) { discord3.setNoiseSuppression(z3); } k kVar4 = this.this$0; boolean z4 = voiceConfig.d; kVar4.f215c.a = z4; Discord discord4 = kVar4.f; if (discord4 != null) { discord4.setNoiseCancellation(z4); } k kVar5 = this.this$0; boolean z5 = voiceConfig.e; Discord discord5 = kVar5.f; if (discord5 != null) { discord5.setAutomaticGainControl(z5); } for (MediaEngineConnection mediaEngineConnection : this.this$0.getConnections()) { mediaEngineConnection.k(voiceConfig.f, voiceConfig.g); mediaEngineConnection.v(voiceConfig.h); mediaEngineConnection.c(voiceConfig.i || mediaEngineConnection.getType() == MediaEngineConnection.Type.STREAM); } return Unit.a; } } public k(Context context, MediaEngine.b bVar, c.a.q.c cVar, MediaEngine.OpenSLESConfig openSLESConfig, Logger logger, Set set, Set set2, int i2) { Set set3 = null; Set set4 = (i2 & 32) != 0 ? a : null; set3 = (i2 & 64) != 0 ? b : set3; m.checkNotNullParameter(context, "context"); m.checkNotNullParameter(bVar, "listener"); m.checkNotNullParameter(cVar, "mediaEngineThreadExecutor"); m.checkNotNullParameter(openSLESConfig, "openSLESConfig"); m.checkNotNullParameter(logger, "logger"); m.checkNotNullParameter(set4, "defaultOpenSLAllowList"); m.checkNotNullParameter(set3, "defaultOpenSLExcludeList"); this.i = context; this.j = bVar; this.k = cVar; this.l = openSLESConfig; this.m = logger; this.n = set4; this.o = set3; this.f215c = new t(); this.d = new ArrayList(); this.e = true; this.h = MediaEngine.OpenSLUsageMode.ALLOW_LIST; } public static final void m(k kVar, MediaEngineConnection mediaEngineConnection) { synchronized (kVar) { Discord discord = kVar.f; if (discord != null) { discord.setLocalVoiceLevelChangedCallback(null); } kVar.d.remove(mediaEngineConnection); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public Observable a() { if (this.g != null) { j0.l.e.j jVar = new j0.l.e.j(Unit.a); m.checkNotNullExpressionValue(jVar, "Observable.just(Unit)"); return jVar; } p(); if (this.f == null) { Observable w = Observable.w(new IllegalStateException("Failed to initialize native media engine")); m.checkNotNullExpressionValue(w, "Observable.error(Illegal…ze native media engine\"))"); return w; } Observable n = Observable.n(new p(this), Emitter.BackpressureMode.NONE); m.checkNotNullExpressionValue(n, "Observable.create({ emit…er.BackpressureMode.NONE)"); Observable F = n.t(new e(this)).F(f.i); m.checkNotNullExpressionValue(F, "getSupportedVideoCodecs(…s }\n .map { Unit }"); return F; } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public void b(RtcRegion[] rtcRegionArr, Function1 function1) { m.checkNotNullParameter(rtcRegionArr, "regionsWithIps"); m.checkNotNullParameter(function1, "callback"); p(); Discord discord = this.f; if (discord != null) { discord.getRankedRtcRegions(rtcRegionArr, new q(function1)); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public c.a.q.c c() { return this.k; } @Override // com.discord.rtcconnection.mediaengine.MediaEngine @AnyThread public void d(MediaEngine.VoiceConfig voiceConfig) { m.checkNotNullParameter(voiceConfig, "voiceConfig"); o(new j(this, voiceConfig)); } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public Observable e() { Observable n = Observable.n(new d(this), Emitter.BackpressureMode.LATEST); m.checkNotNullExpressionValue(n, "Observable.create({ emit….BackpressureMode.LATEST)"); return n; } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public void f(int i2) { Discord discord = this.f; if (discord != null) { discord.setVideoInputDevice(i2); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public synchronized MediaEngineConnection g(long j2, MediaEngine.a aVar, MediaEngineConnection.Type type, Function1 function1) { m.checkNotNullParameter(aVar, "options"); m.checkNotNullParameter(type, "type"); m.checkNotNullParameter(function1, "onFailure"); if (!(this.g != null)) { ((d0) function1).invoke(new IllegalStateException("connect() called on unprepared media engine.")); return null; } Discord discord = this.f; if (discord == null) { Logger.e$default(this.m, "MediaEngineLegacy", "connect() called without voiceEngineLegacy.", null, null, 12, null); return null; } o(new a(this)); Logger logger = this.m; Logger.i$default(logger, "MediaEngineLegacy", "Connecting with options: " + aVar, null, 4, null); c cVar = new c(this); c.a.q.c cVar2 = this.k; Logger logger2 = this.m; t tVar = this.f215c; List list = this.g; if (list == null) { m.throwUninitializedPropertyAccessException("supportedVideoCodecs"); } e eVar = new e(cVar2, logger2, tVar, discord, list, type, j2, aVar, d0.t.m.listOf(cVar)); this.d.add(eVar); n(new b(eVar)); return eVar; } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public synchronized List getConnections() { return u.toList(this.d); } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public void h(MediaEngine.OpenSLUsageMode openSLUsageMode) { m.checkNotNullParameter(openSLUsageMode, "openSLUsageMode"); if (this.f != null) { Logger.e$default(this.m, "MediaEngineLegacy", "setting openSLUsageMode too late", null, null, 12, null); } this.h = openSLUsageMode; } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public Discord i() { return this.f; } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public void j(Function1 function1) { m.checkNotNullParameter(function1, "devicesCallback"); p(); Discord discord = this.f; if (discord != null) { discord.getVideoInputDevices(new r(function1)); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public void k(boolean z2) { this.e = z2; Discord discord = this.f; if (discord != null) { discord.setAudioInputEnabled(z2); } } @Override // com.discord.rtcconnection.mediaengine.MediaEngine public void l(Function1 function1) { if (function1 != null) { p(); Discord discord = this.f; if (discord != null) { discord.setLocalVoiceLevelChangedCallback(new g(function1)); return; } return; } Discord discord2 = this.f; if (discord2 != null) { discord2.setLocalVoiceLevelChangedCallback(null); } } public final void n(Function1 function1) { try { function1.invoke(this.j); } catch (Exception e2) { Logger.e$default(this.m, "MediaEngineLegacy", "Error in listener", e2, null, 8, null); } } /* JADX WARN: Multi-variable type inference failed */ /* JADX WARNING: Unknown variable types count: 1 */ public final Future o(Function0 function0) { c.a.q.c cVar = this.k; if (function0 != null) { function0 = new s(function0); } return cVar.submit((Runnable) function0); } public final void p() { if (this.f == null) { Logger logger = this.m; StringBuilder K = c.d.b.a.a.K("initializing voice engine. OpenSL ES: "); K.append(this.l); K.append(", OpenSL usage mode: "); K.append(this.h); Logger.i$default(logger, "MediaEngineLegacy", K.toString(), null, 4, null); int ordinal = this.l.ordinal(); boolean z2 = false; if (ordinal == 0) { if (this.h == MediaEngine.OpenSLUsageMode.ALLOW_LIST) { z2 = this.n.contains(Build.MODEL); } else if (!this.o.contains(Build.MODEL)) { z2 = true; } Logger logger2 = this.m; StringBuilder K2 = c.d.b.a.a.K("OpenSL ES default. mode: "); K2.append(this.h); K2.append(", enableOpenSL: "); K2.append(z2); K2.append(", model: '"); Logger.i$default(logger2, "MediaEngineLegacy", c.d.b.a.a.B(K2, Build.MODEL, '\''), null, 4, null); WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(!z2); } else if (ordinal == 1) { WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(false); } else if (ordinal == 2) { WebRtcAudioManager.setBlacklistDeviceForOpenSLESUsage(true); } Logging.externalReporter = new h(this); try { Discord discord = new Discord(this.i, 2); discord.enableBuiltInAEC(true); discord.setAudioInputEnabled(this.e); this.f = discord; } catch (ExceptionInInitializerError e2) { Logger.e$default(this.m, "MediaEngineLegacy", "Unable to initialize voice engine.", e2, null, 8, null); } catch (UnsatisfiedLinkError e3) { Logger.e$default(this.m, "MediaEngineLegacy", "Unable to initialize voice engine.", e3, null, 8, null); } catch (Throwable th) { Logger.e$default(this.m, "MediaEngineLegacy", "Unable to initialize voice engine, new error discovered", th, null, 8, null); } if (this.f != null) { n(i.i); } } } }