diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java index a71ec24f..521f720f 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/SecurityConfig.java @@ -71,7 +71,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { - auth.inMemoryAuthentication().withUser("OPENVIDUAPP").password(openviduConf.getOpenViduSecret()).roles("ADMIN"); + auth.inMemoryAuthentication().withUser("OPENVIDUAPP").password("{noop}" + openviduConf.getOpenViduSecret()).roles("ADMIN"); } } \ No newline at end of file diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/ServletCustomizer.java b/openvidu-server/src/main/java/io/openvidu/server/config/ServletCustomizer.java index 35689b56..be592181 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/ServletCustomizer.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/ServletCustomizer.java @@ -17,20 +17,20 @@ package io.openvidu.server.config; -import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer; -import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; -import org.springframework.boot.context.embedded.MimeMappings; +import org.springframework.boot.web.server.MimeMappings; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory; import org.springframework.stereotype.Component; @Component -public class ServletCustomizer implements EmbeddedServletContainerCustomizer { +public class ServletCustomizer implements WebServerFactoryCustomizer { @Override - public void customize(ConfigurableEmbeddedServletContainer container) { + public void customize(ConfigurableServletWebServerFactory factory) { MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT); mappings.add("mp4", "video/mp4"); mappings.add("webm", "video/webm"); - container.setMimeMappings(mappings); + factory.setMimeMappings(mappings); } } \ No newline at end of file diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java index 337adbe9..7d0c5591 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java @@ -86,8 +86,6 @@ public class ComposedRecordingService extends RecordingService { recording = this.startRecordingAudioOnly(session, recording, properties); } - this.updateRecordingManagerCollections(session, recording); - return recording; } @@ -204,7 +202,6 @@ public class ComposedRecordingService extends RecordingService { } this.generateRecordingMetadataFile(recording); - this.sendRecordingStartedNotification(session, recording); return recording; } diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java index 61394602..d3b48d96 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java @@ -55,6 +55,7 @@ import com.google.gson.JsonParser; import io.openvidu.client.OpenViduException; import io.openvidu.client.OpenViduException.Code; import io.openvidu.client.internal.ProtocolElements; +import io.openvidu.java.client.Recording.OutputMode; import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.config.OpenviduConfig; import io.openvidu.server.core.EndReason; @@ -73,7 +74,6 @@ public class RecordingManager { private static final Logger log = LoggerFactory.getLogger(RecordingManager.class); - RecordingService recordingService; private ComposedRecordingService composedRecordingService; private SingleStreamRecordingService singleStreamRecordingService; private DockerManager dockerManager; @@ -106,14 +106,6 @@ public class RecordingManager { .asList(new EndReason[] { EndReason.disconnect, EndReason.forceDisconnectByUser, EndReason.forceDisconnectByServer, EndReason.networkDisconnect }); - public SessionEventsHandler getSessionEventsHandler() { - return this.sessionHandler; - } - - public SessionManager getSessionManager() { - return this.sessionManager; - } - public void initializeRecordingManager() throws OpenViduException { RecordingManager.IMAGE_TAG = openviduConfig.getOpenViduRecordingVersion(); @@ -186,6 +178,12 @@ public class RecordingManager { } catch (OpenViduException e) { throw e; } + this.updateRecordingManagerCollections(session, recording); + if (!OutputMode.COMPOSED.equals(properties.outputMode()) && properties.hasVideo()) { + // Directly send recording started notification for all cases except for + // COMPOSED recordings with video (will be sent on first RECORDER subscriber) + this.sessionHandler.sendRecordingStartedNotification(session, recording); + } if (session.getActivePublishers() == 0) { // Init automatic recording stop if there are now publishers when starting // recording @@ -638,4 +636,15 @@ public class RecordingManager { } } + /** + * Changes recording from starting to started, updates global recording + * collections and sends RPC response to clients + */ + private void updateRecordingManagerCollections(Session session, Recording recording) { + this.sessionHandler.setRecordingStarted(session.getSessionId(), recording); + this.sessionsRecordings.put(session.getSessionId(), recording); + this.startingRecordings.remove(recording.getId()); + this.startedRecordings.put(recording.getId(), recording); + } + } diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java index b3286cbd..256f68ae 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java @@ -94,24 +94,6 @@ public abstract class RecordingService { return recording; } - /** - * Changes recording from starting to started, updates global recording - * collections and sends RPC response to clients - */ - protected void updateRecordingManagerCollections(Session session, Recording recording) { - this.recordingManager.sessionHandler.setRecordingStarted(session.getSessionId(), recording); - this.recordingManager.sessionsRecordings.put(session.getSessionId(), recording); - this.recordingManager.startingRecordings.remove(recording.getId()); - this.recordingManager.startedRecordings.put(recording.getId(), recording); - } - - /** - * Sends RPC response for recording started event - */ - protected void sendRecordingStartedNotification(Session session, Recording recording) { - this.recordingManager.getSessionEventsHandler().sendRecordingStartedNotification(session, recording); - } - /** * Returns a new available recording identifier (adding a number tag at the end * of the sessionId if it already exists) and rebuilds RecordinProperties object diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java index b6f14958..12d06cdf 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java @@ -121,8 +121,6 @@ public class SingleStreamRecordingService extends RecordingService { } this.generateRecordingMetadataFile(recording); - this.updateRecordingManagerCollections(session, recording); - this.sendRecordingStartedNotification(session, recording); return recording; } diff --git a/pom.xml b/pom.xml index 29fc336d..65823d34 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ 6.10.0 - 1.4.2.RELEASE + 2.1.5.RELEASE 4.12 1.10.19 1.7.4