From d208765c3f934875c608db2259f8af30aa06e52b Mon Sep 17 00:00:00 2001 From: Dawid Jenczewski Date: Tue, 21 Apr 2026 14:05:16 +0200 Subject: [PATCH] feat(privmx-endpoint-streams/android): implement PeerConnectionFactory class static initialization --- .../privmx_endpoint/modules/stream/StreamApi.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/privmx-endpoint-streams/android/src/main/java/com/simplito/java/privmx_endpoint/modules/stream/StreamApi.java b/privmx-endpoint-streams/android/src/main/java/com/simplito/java/privmx_endpoint/modules/stream/StreamApi.java index 1f3cd236..21176b6e 100644 --- a/privmx-endpoint-streams/android/src/main/java/com/simplito/java/privmx_endpoint/modules/stream/StreamApi.java +++ b/privmx-endpoint-streams/android/src/main/java/com/simplito/java/privmx_endpoint/modules/stream/StreamApi.java @@ -16,7 +16,6 @@ import androidx.annotation.NonNull; -import com.simplito.java.privmx_endpoint.model.ConnectionType; import com.simplito.java.privmx_endpoint.model.ContainerPolicy; import com.simplito.java.privmx_endpoint.model.PagingList; import com.simplito.java.privmx_endpoint.model.UserWithPubKey; @@ -51,12 +50,14 @@ public class StreamApi implements AutoCloseable{ private final StreamApiLow api; private final PeerConnectionManager pcManager; public final TrackFactory trackFactory; + private static boolean initialized = false; private static PeerConnectionFactory DefaultPeerConnectionFactory( Context appContext, EglBase eglBase, PeerConnectionFactory.Options options ) { + initPeerConnectionFactory(appContext); AudioDeviceModule adm = JavaAudioDeviceModule .builder(appContext) .createAudioDeviceModule(); @@ -84,6 +85,15 @@ private static PeerConnectionFactory DefaultPeerConnectionFactory( return factory; } + private static void initPeerConnectionFactory(@NonNull Context appContext){ + if(initialized) return; + PeerConnectionFactory.initialize( + PeerConnectionFactory.InitializationOptions.builder(appContext) + .createInitializationOptions() + ); + initialized = true; + } + public StreamApi( @NonNull Context appContext, @NonNull EglBase rootEglBase,