OPENMEETINGS-2742 Introduce openmeetings-mdeiaserver module.
diff --git a/openmeetings-core/pom.xml b/openmeetings-core/pom.xml
index 723b6f9..0236066 100644
--- a/openmeetings-core/pom.xml
+++ b/openmeetings-core/pom.xml
@@ -86,10 +86,6 @@
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
- <groupId>org.kurento</groupId>
- <artifactId>kurento-client</artifactId>
- </dependency>
- <dependency>
<groupId>org.asteriskjava</groupId>
<artifactId>asterisk-java</artifactId>
</dependency>
@@ -103,6 +99,10 @@
<artifactId>jakarta.activation</artifactId> <!-- required for jakarta.mail -->
<version>2.0.1</version>
</dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ </dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.junit.jupiter</groupId>
diff --git a/openmeetings-mediaserver/pom.xml b/openmeetings-mediaserver/pom.xml
new file mode 100644
index 0000000..fd0a0fe
--- /dev/null
+++ b/openmeetings-mediaserver/pom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.openmeetings</groupId>
+ <artifactId>openmeetings-parent</artifactId>
+ <version>7.0.0-SNAPSHOT</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <artifactId>openmeetings-mediaserver</artifactId>
+ <packaging>jar</packaging>
+ <name>Openmeetings MediaServer</name>
+ <description>Module for OpenMeetings MediaServer classes and services</description>
+ <properties>
+ <site.basedir>${project.parent.basedir}</site.basedir>
+ <autoModuleName>apache.openmeetings.core</autoModuleName>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.openmeetings</groupId>
+ <artifactId>openmeetings-util</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openmeetings</groupId>
+ <artifactId>openmeetings-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openmeetings</groupId>
+ <artifactId>openmeetings-db</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.kurento</groupId>
+ <artifactId>kurento-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openmeetings</groupId>
+ <artifactId>openmeetings-util</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/AbstractStream.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/AbstractStream.java
similarity index 97%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/AbstractStream.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/AbstractStream.java
index f07e051..0dc76ef 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/AbstractStream.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/AbstractStream.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import org.kurento.client.CertificateKeyType;
import org.kurento.client.MediaPipeline;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/IStreamProcessor.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/IStreamProcessor.java
similarity index 94%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/IStreamProcessor.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/IStreamProcessor.java
index f142285..eacf0e4 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/IStreamProcessor.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/IStreamProcessor.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
public interface IStreamProcessor {
void release(AbstractStream stream, boolean releaseStream);
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KRoom.java
similarity index 97%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KRoom.java
index 04c9a08..5409e24 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KRoom.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KRoom.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static java.util.UUID.randomUUID;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.newKurentoMsg;
import static org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.newKurentoMsg;
import java.util.Date;
import java.util.Optional;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KStream.java
similarity index 96%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KStream.java
index 52462c8..447209c 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KStream.java
@@ -19,16 +19,16 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static java.util.UUID.randomUUID;
import static java.util.concurrent.CompletableFuture.delayedExecutor;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_ROOM;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_STREAM_UID;
-import static org.apache.openmeetings.core.remote.KurentoHandler.getFlowoutTimeout;
-import static org.apache.openmeetings.core.remote.KurentoHandler.newKurentoMsg;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_ROOM;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_STREAM_UID;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.getFlowoutTimeout;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.newKurentoMsg;
import static org.apache.openmeetings.util.OmFileHelper.getRecUri;
import static org.apache.openmeetings.util.OmFileHelper.getRecordingChunk;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KTestStream.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KTestStream.java
similarity index 92%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KTestStream.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KTestStream.java
index a4f0f85..24ade96 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KTestStream.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KTestStream.java
@@ -16,15 +16,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static java.util.UUID.randomUUID;
-import static org.apache.openmeetings.core.remote.KurentoHandler.MODE_TEST;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_MODE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_ROOM;
-import static org.apache.openmeetings.core.remote.KurentoHandler.sendError;
-import static org.apache.openmeetings.core.remote.TestStreamProcessor.newTestKurentoMsg;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.MODE_TEST;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_MODE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_ROOM;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.sendError;
+import static org.apache.openmeetings.mediaserver.remote.TestStreamProcessor.newTestKurentoMsg;
import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_WEBM;
import static org.apache.openmeetings.util.OmFileHelper.TEST_SETUP_PREFIX;
import static org.apache.openmeetings.util.OmFileHelper.getStreamsDir;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KurentoHandler.java
similarity index 99%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KurentoHandler.java
index 3c3d130..f13a18c 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KurentoHandler.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/KurentoHandler.java
@@ -17,7 +17,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessor.java
similarity index 97%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessor.java
index 2ef4b79..8d1e2d7 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessor.java
@@ -17,11 +17,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.activityAllowed;
-import static org.apache.openmeetings.core.remote.KurentoHandler.newKurentoMsg;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.activityAllowed;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.newKurentoMsg;
import static org.apache.openmeetings.util.OpenmeetingsVariables.isRecordingsEnabled;
import java.util.Collection;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessorActions.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessorActions.java
similarity index 94%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessorActions.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessorActions.java
index b80a290..5c4cb1b 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessorActions.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/StreamProcessorActions.java
@@ -17,10 +17,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.sendError;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.sendError;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.entity.basic.Client;
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/TestStreamProcessor.java b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/TestStreamProcessor.java
similarity index 88%
rename from openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/TestStreamProcessor.java
rename to openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/TestStreamProcessor.java
index 3bd7bde..e9a8faf 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/TestStreamProcessor.java
+++ b/openmeetings-mediaserver/src/main/java/org/apache/openmeetings/mediaserver/remote/TestStreamProcessor.java
@@ -17,12 +17,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
-import static org.apache.openmeetings.core.remote.KurentoHandler.MODE_TEST;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_ICE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_MODE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.MODE_TEST;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_ICE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_MODE;
import java.util.Map;
import java.util.Map.Entry;
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/BaseMockedTest.java
similarity index 91%
rename from openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
rename to openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/BaseMockedTest.java
index b425e17..a2d0650 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/BaseMockedTest.java
+++ b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/BaseMockedTest.java
@@ -17,7 +17,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -41,6 +41,14 @@
import org.apache.openmeetings.db.entity.basic.IWsClient;
import org.apache.openmeetings.db.entity.label.OmLanguage;
import org.apache.openmeetings.db.util.ApplicationHelper;
+import org.apache.openmeetings.mediaserver.remote.AbstractStream;
+import org.apache.openmeetings.mediaserver.remote.KRoom;
+import org.apache.openmeetings.mediaserver.remote.KStream;
+import org.apache.openmeetings.mediaserver.remote.KTestStream;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessorActions;
+import org.apache.openmeetings.mediaserver.remote.TestStreamProcessor;
import org.apache.wicket.injection.Injector;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestNotConnectedMocked.java b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestNotConnectedMocked.java
similarity index 97%
rename from openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestNotConnectedMocked.java
rename to openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestNotConnectedMocked.java
index a951ed1..80a7998 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestNotConnectedMocked.java
+++ b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestNotConnectedMocked.java
@@ -17,7 +17,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRecordingFlowMocked.java
similarity index 98%
rename from openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
rename to openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRecordingFlowMocked.java
index b8ddf50..00aa5f8 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRecordingFlowMocked.java
+++ b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRecordingFlowMocked.java
@@ -17,7 +17,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRoomFlowMocked.java
similarity index 98%
rename from openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
rename to openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRoomFlowMocked.java
index 4229056..3fd44cb 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestRoomFlowMocked.java
+++ b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestRoomFlowMocked.java
@@ -17,7 +17,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestSetupFlowMocked.java
similarity index 90%
rename from openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
rename to openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestSetupFlowMocked.java
index bf355a5..ebd1517 100644
--- a/openmeetings-core/src/test/java/org/apache/openmeetings/core/remote/TestSetupFlowMocked.java
+++ b/openmeetings-mediaserver/src/test/java/org/apache/openmeetings/mediaserver/remote/TestSetupFlowMocked.java
@@ -17,11 +17,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.openmeetings.core.remote;
+package org.apache.openmeetings.mediaserver.remote;
-import static org.apache.openmeetings.core.remote.KurentoHandler.MODE_TEST;
-import static org.apache.openmeetings.core.remote.KurentoHandler.PARAM_CANDIDATE;
-import static org.apache.openmeetings.core.remote.KurentoHandler.TAG_MODE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.MODE_TEST;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.PARAM_CANDIDATE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.TAG_MODE;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -29,6 +29,7 @@
import static org.mockito.Mockito.verify;
import org.apache.openmeetings.db.entity.basic.WsClient;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.kurento.client.MediaPipeline;
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 500bd57..45331cb 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -491,6 +491,10 @@
</dependency>
<dependency>
<groupId>org.apache.openmeetings</groupId>
+ <artifactId>openmeetings-mediaserver</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openmeetings</groupId>
<artifactId>openmeetings-webservice</artifactId>
</dependency>
<dependency>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
index c630a64..5869cc0 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
@@ -28,8 +28,6 @@
import java.util.List;
import java.util.stream.Stream;
-import org.apache.openmeetings.core.remote.KurentoHandler;
-import org.apache.openmeetings.core.remote.StreamProcessor;
import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.entity.IDataProviderEntity;
import org.apache.openmeetings.db.entity.basic.Client;
@@ -48,6 +46,8 @@
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
import de.agilecoders.wicket.core.markup.html.bootstrap.button.BootstrapAjaxLink;
import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java
index 75265a7..fa42b5a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/KStreamDto.java
@@ -20,10 +20,10 @@
import java.util.Date;
-import org.apache.openmeetings.core.remote.KStream;
import org.apache.openmeetings.db.entity.IDataProviderEntity;
import org.apache.openmeetings.db.entity.basic.Client.StreamType;
import org.apache.openmeetings.db.entity.record.RecordingChunk.Type;
+import org.apache.openmeetings.mediaserver.remote.KStream;
/**
* A KStream for the Wicket UI to display. This object can be serialized, otherwise
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 728d717..916be04 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -47,7 +47,6 @@
import javax.websocket.WebSocketContainer;
import org.apache.openmeetings.IApplication;
-import org.apache.openmeetings.core.remote.KStream;
import org.apache.openmeetings.core.sip.SipManager;
import org.apache.openmeetings.core.util.ChatWebSocketHelper;
import org.apache.openmeetings.core.util.WebSocketHelper;
@@ -133,6 +132,7 @@
import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
import org.apache.wicket.util.string.Strings;
import org.apache.wicket.validation.validator.UrlValidator;
+import org.apache.openmeetings.mediaserver.remote.KStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
index f447cf2..ab4f427 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/ClientManager.java
@@ -35,7 +35,6 @@
import java.util.function.Function;
import java.util.stream.Stream;
-import org.apache.openmeetings.core.remote.KurentoHandler;
import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.log.ConferenceLog;
@@ -43,6 +42,7 @@
import org.apache.openmeetings.db.manager.IClientManager;
import org.apache.openmeetings.db.util.ws.RoomMessage;
import org.apache.openmeetings.db.util.ws.TextRoomMessage;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
import org.apache.openmeetings.web.pages.auth.SignInPage;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.string.StringValue;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
index 256841e..1e94ec5 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/TimerService.java
@@ -29,7 +29,6 @@
import javax.annotation.PostConstruct;
-import org.apache.openmeetings.core.remote.KurentoHandler;
import org.apache.openmeetings.core.sip.SipManager;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.entity.basic.Client;
@@ -39,6 +38,7 @@
import org.apache.openmeetings.db.util.ws.RoomMessage;
import org.apache.openmeetings.db.util.ws.TextRoomMessage;
import org.apache.wicket.ThreadContext;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java
index 9edecc3..4faed16 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmWebSocketPanel.java
@@ -18,13 +18,12 @@
*/
package org.apache.openmeetings.web.common;
-import static org.apache.openmeetings.core.remote.KurentoHandler.KURENTO_TYPE;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.KURENTO_TYPE;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
-import org.apache.openmeetings.core.remote.KurentoHandler;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.basic.IWsClient;
@@ -44,6 +43,7 @@
import org.apache.wicket.protocol.ws.api.message.ErrorMessage;
import org.apache.wicket.protocol.ws.api.message.TextMessage;
import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 3a4152b..1981077 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -20,13 +20,13 @@
import static de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal.BUTTON_MARKUP_ID;
import static java.time.Duration.ZERO;
-import static org.apache.openmeetings.core.remote.KurentoHandler.activityAllowed;
import static org.apache.openmeetings.core.util.ChatWebSocketHelper.ID_USER_PREFIX;
import static org.apache.openmeetings.db.entity.calendar.Appointment.allowedStart;
import static org.apache.openmeetings.util.OmFileHelper.EXTENSION_PDF;
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import static org.apache.openmeetings.web.room.wb.WbPanel.WB_JS_REFERENCE;
+import static org.apache.openmeetings.mediaserver.remote.KurentoHandler.activityAllowed;
import java.io.IOException;
import java.nio.file.Files;
@@ -38,8 +38,6 @@
import java.util.stream.Stream;
import org.apache.commons.text.StringEscapeUtils;
-import org.apache.openmeetings.core.remote.KurentoHandler;
-import org.apache.openmeetings.core.remote.StreamProcessor;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
import org.apache.openmeetings.db.dao.file.FileItemDao;
@@ -100,6 +98,8 @@
import org.apache.wicket.util.resource.FileResourceStream;
import org.apache.wicket.util.resource.IResourceStream;
import org.apache.wicket.util.string.Strings;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index d96d16f..db54eeb 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -34,8 +34,6 @@
import java.util.List;
import org.apache.commons.lang3.time.FastDateFormat;
-import org.apache.openmeetings.core.remote.KurentoHandler;
-import org.apache.openmeetings.core.remote.StreamProcessor;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.basic.ChatDao;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
@@ -65,6 +63,8 @@
import org.apache.wicket.request.flow.RedirectToUrlException;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.util.string.Strings;
+import org.apache.openmeetings.mediaserver.remote.KurentoHandler;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
import com.github.openjson.JSONObject;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
index 79101d4..c91659b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
@@ -20,7 +20,6 @@
import static org.apache.openmeetings.web.app.Application.kickUser;
-import org.apache.openmeetings.core.remote.StreamProcessor;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.room.Room.Right;
@@ -40,6 +39,7 @@
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.util.string.Strings;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
index f820baf..24e708d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
@@ -20,13 +20,13 @@
import java.io.IOException;
-import org.apache.openmeetings.core.remote.StreamProcessor;
import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
import org.apache.openmeetings.db.entity.room.Room.Right;
import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.spring.injection.annot.SpringBean;
+import org.apache.openmeetings.mediaserver.remote.StreamProcessor;
import com.github.openjson.JSONObject;
diff --git a/pom.xml b/pom.xml
index 1dd83e7..3cfb5f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -133,6 +133,7 @@
<apacheds-test-framework.version>2.0.0.AM26</apacheds-test-framework.version>
<swagger.version>2.2.1</swagger.version>
<bytebuddy.version>1.12.12</bytebuddy.version>
+ <annotation-api.version>1.3.2</annotation-api.version>
<!-- Exclude all generated code -->
<sonar.exclusions>file:**/generated-sources/**, file:**/jquery-ui.css, file:**/cssemoticons.js, file:**/bootstrap-confirmation.js</sonar.exclusions>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
@@ -425,6 +426,11 @@
</dependency>
<dependency>
<groupId>org.apache.openmeetings</groupId>
+ <artifactId>openmeetings-mediaserver</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openmeetings</groupId>
<artifactId>openmeetings-db</artifactId>
<version>${project.version}</version>
</dependency>
@@ -954,6 +960,11 @@
<artifactId>swagger-annotations</artifactId>
<version>${swagger.version}</version>
</dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ <version>${annotation-api.version}</version>
+ </dependency>
<!-- TESTS -->
<dependency>
@@ -1700,6 +1711,7 @@
<module>openmeetings-util</module>
<module>openmeetings-db</module>
<module>openmeetings-core</module>
+ <module>openmeetings-mediaserver</module>
<module>openmeetings-install</module>
<module>openmeetings-service</module>
<module>openmeetings-webservice</module>