From 88d5fd97a77987e7755ac187fc65a4effd293c2e Mon Sep 17 00:00:00 2001 From: Juan Navarro Date: Tue, 26 Oct 2021 10:32:57 +0200 Subject: [PATCH] openvidu-server: remove ForceCodec=NONE for mediasoup Allow forcing a specific codec when mediasoup is the media server. This requires changes in the recording! Otherwise, incompatible combinations might occur. For example, currently WEBM is a container that works ok for VP8 and VP9 video, but won't work with H.264. --- .../server/kurento/core/KurentoSessionManager.java | 6 +----- .../openvidu/server/rest/SessionRestController.java | 11 +++-------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java index 9ece6c9f..09eeb5aa 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java @@ -117,10 +117,6 @@ public class KurentoSessionManager extends SessionManager { // Insecure user directly call joinRoom RPC method, without REST API use SessionProperties.Builder builder = new SessionProperties.Builder().mediaMode(MediaMode.ROUTED) .recordingMode(RecordingMode.ALWAYS); - // forcedVideoCodec to NONE if mediasoup - if (MediaServer.mediasoup.equals(openviduConfig.getMediaServer())) { - builder.forcedVideoCodec(VideoCodec.NONE); - } sessionNotActive = new Session(sessionId, builder.build(), openviduConfig, recordingManager); } @@ -767,7 +763,7 @@ public class KurentoSessionManager extends SessionManager { /** * Creates a session with the already existing not-active session in the * indicated KMS, if it doesn't already exist - * + * * @throws OpenViduException in case of error while creating the session */ public KurentoSession createSession(Session sessionNotActive, Kms kms) throws OpenViduException { diff --git a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java index 8a93548d..ca4e4a23 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java +++ b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java @@ -762,15 +762,10 @@ public class SessionRestController { } builder = builder.customSessionId(customSessionId); } - // forcedVideoCodec to NONE if mediasoup - if (MediaServer.mediasoup.equals(openviduConfig.getMediaServer())) { - builder = builder.forcedVideoCodec(VideoCodec.NONE); + if (forcedVideoCodec != null) { + builder = builder.forcedVideoCodec(VideoCodec.valueOf(forcedVideoCodec)); } else { - if (forcedVideoCodec != null) { - builder = builder.forcedVideoCodec(VideoCodec.valueOf(forcedVideoCodec)); - } else { - builder = builder.forcedVideoCodec(openviduConfig.getOpenviduForcedCodec()); - } + builder = builder.forcedVideoCodec(openviduConfig.getOpenviduForcedCodec()); } if (allowTranscoding != null) { builder = builder.allowTranscoding(allowTranscoding);