mirror of https://github.com/OpenVidu/openvidu.git
openvidu-server: RecordingProperties.mediaNode defined in ALWAYS recordings
parent
08f878b8a9
commit
2faeb965ca
|
@ -53,6 +53,7 @@ import io.openvidu.java.client.KurentoOptions;
|
|||
import io.openvidu.java.client.MediaMode;
|
||||
import io.openvidu.java.client.Recording;
|
||||
import io.openvidu.java.client.RecordingMode;
|
||||
import io.openvidu.java.client.RecordingProperties;
|
||||
import io.openvidu.java.client.SessionProperties;
|
||||
import io.openvidu.java.client.VideoCodec;
|
||||
import io.openvidu.server.cdr.CallDetailRecord;
|
||||
|
@ -75,6 +76,7 @@ import io.openvidu.server.kurento.kms.KmsManager;
|
|||
import io.openvidu.server.rpc.RpcHandler;
|
||||
import io.openvidu.server.utils.GeoLocation;
|
||||
import io.openvidu.server.utils.JsonUtils;
|
||||
import io.openvidu.server.utils.RecordingUtils;
|
||||
import io.openvidu.server.utils.SDPMunging;
|
||||
|
||||
public class KurentoSessionManager extends SessionManager {
|
||||
|
@ -448,8 +450,9 @@ public class KurentoSessionManager extends SessionManager {
|
|||
// Start automatic recording for sessions configured with RecordingMode.ALWAYS
|
||||
// that have not been been manually stopped
|
||||
new Thread(() -> {
|
||||
recordingManager.startRecording(kSession,
|
||||
kSession.getSessionProperties().defaultRecordingProperties());
|
||||
RecordingProperties props = RecordingUtils
|
||||
.RECORDING_PROPERTIES_WITH_MEDIA_NODE(kSession);
|
||||
recordingManager.startRecording(kSession, props);
|
||||
}).start();
|
||||
} else if (recordingManager.sessionIsBeingRecorded(kSession.getSessionId())) {
|
||||
// Abort automatic recording stop thread for any recorded session in which a
|
||||
|
|
|
@ -30,6 +30,7 @@ import io.openvidu.server.recording.RecordingDownloader;
|
|||
import io.openvidu.server.recording.RecordingUploader;
|
||||
import io.openvidu.server.utils.CustomFileManager;
|
||||
import io.openvidu.server.utils.DockerManager;
|
||||
import io.openvidu.server.utils.RecordingUtils;
|
||||
|
||||
public class ComposedQuickStartRecordingService extends ComposedRecordingService {
|
||||
|
||||
|
@ -177,7 +178,8 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService
|
|||
try {
|
||||
log.info("Launching COMPOSED_QUICK_START recording container for session: {}",
|
||||
recorderSession.getSessionId());
|
||||
runContainer(recorderSession, recorderSession.getSessionProperties().defaultRecordingProperties());
|
||||
RecordingProperties props = RecordingUtils.RECORDING_PROPERTIES_WITH_MEDIA_NODE(recorderSession);
|
||||
runContainer(recorderSession, props);
|
||||
log.info("COMPOSED_QUICK_START recording container launched for session: {}",
|
||||
recorderSession.getSessionId());
|
||||
launched = true;
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package io.openvidu.server.utils;
|
||||
|
||||
import io.openvidu.java.client.Recording.OutputMode;
|
||||
import io.openvidu.java.client.RecordingProperties;
|
||||
import io.openvidu.server.core.Session;
|
||||
|
||||
public final class RecordingUtils {
|
||||
|
||||
|
@ -8,4 +10,13 @@ public final class RecordingUtils {
|
|||
return (OutputMode.COMPOSED.equals(outputMode) || OutputMode.COMPOSED_QUICK_START.equals(outputMode));
|
||||
}
|
||||
|
||||
public final static RecordingProperties RECORDING_PROPERTIES_WITH_MEDIA_NODE(Session session) {
|
||||
RecordingProperties recordingProperties = session.getSessionProperties().defaultRecordingProperties();
|
||||
if (recordingProperties.mediaNode() == null) {
|
||||
recordingProperties = new RecordingProperties.Builder(recordingProperties)
|
||||
.mediaNode(session.getMediaNodeId()).build();
|
||||
}
|
||||
return recordingProperties;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue