discord-jadx/app/src/main/java/co/discord/media_engine/CameraEnumeratorProvider.java

68 lines
2.6 KiB
Java

package co.discord.media_engine;
import android.content.Context;
import androidx.annotation.AnyThread;
import co.discord.media_engine.internal.ExtensionFunctionsKt;
import d0.z.d.m;
import org.webrtc.Camera1Enumerator;
import org.webrtc.Camera2Enumerator;
import org.webrtc.CameraEnumerator;
import org.webrtc.CameraVideoCapturer;
/* compiled from: CameraEnumeratorProvider.kt */
public final class CameraEnumeratorProvider {
public static final CameraEnumeratorProvider INSTANCE = new CameraEnumeratorProvider();
private static final String TAG = "CameraEnumeratorProvider";
private static CameraEnumerator enumerator;
private CameraEnumeratorProvider() {
}
@AnyThread
public static final CameraVideoCapturer createCapturer(String str) {
m.checkNotNullParameter(str, "cameraName");
CameraVideoCapturer createCapturer = get().createCapturer(str, null);
m.checkNotNullExpressionValue(createCapturer, "get().createCapturer(cameraName, null)");
return createCapturer;
}
@AnyThread
public static final synchronized CameraEnumerator get() {
CameraEnumerator cameraEnumerator;
synchronized (CameraEnumeratorProvider.class) {
cameraEnumerator = enumerator;
if (cameraEnumerator == null) {
ExtensionFunctionsKt.logi("CameraEnumeratorProvider", "init was never called. Use Camera 1 API by default.");
cameraEnumerator = new Camera1Enumerator();
}
}
return cameraEnumerator;
}
@AnyThread
public static final synchronized void maybeInit(Context context) {
synchronized (CameraEnumeratorProvider.class) {
m.checkNotNullParameter(context, "context");
if (enumerator == null) {
INSTANCE.init(context, false);
}
}
}
@AnyThread
public final synchronized void init(Context context, boolean z2) {
CameraEnumerator cameraEnumerator;
m.checkNotNullParameter(context, "context");
if (z2) {
ExtensionFunctionsKt.logi("CameraEnumeratorProvider", "Override: Forcing Camera 1 API");
cameraEnumerator = new Camera1Enumerator();
} else if (Camera2Enumerator.isSupported(context)) {
ExtensionFunctionsKt.logi("CameraEnumeratorProvider", "Use Camera 2 API");
cameraEnumerator = new Camera2Enumerator(context.getApplicationContext());
} else {
ExtensionFunctionsKt.logi("CameraEnumeratorProvider", "Camera 2 API is not supported. Use Camera 1 API");
cameraEnumerator = new Camera1Enumerator();
}
enumerator = cameraEnumerator;
}
}