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.MediaMode;
|
||||||
import io.openvidu.java.client.Recording;
|
import io.openvidu.java.client.Recording;
|
||||||
import io.openvidu.java.client.RecordingMode;
|
import io.openvidu.java.client.RecordingMode;
|
||||||
|
import io.openvidu.java.client.RecordingProperties;
|
||||||
import io.openvidu.java.client.SessionProperties;
|
import io.openvidu.java.client.SessionProperties;
|
||||||
import io.openvidu.java.client.VideoCodec;
|
import io.openvidu.java.client.VideoCodec;
|
||||||
import io.openvidu.server.cdr.CallDetailRecord;
|
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.rpc.RpcHandler;
|
||||||
import io.openvidu.server.utils.GeoLocation;
|
import io.openvidu.server.utils.GeoLocation;
|
||||||
import io.openvidu.server.utils.JsonUtils;
|
import io.openvidu.server.utils.JsonUtils;
|
||||||
|
import io.openvidu.server.utils.RecordingUtils;
|
||||||
import io.openvidu.server.utils.SDPMunging;
|
import io.openvidu.server.utils.SDPMunging;
|
||||||
|
|
||||||
public class KurentoSessionManager extends SessionManager {
|
public class KurentoSessionManager extends SessionManager {
|
||||||
|
@ -448,8 +450,9 @@ public class KurentoSessionManager extends SessionManager {
|
||||||
// Start automatic recording for sessions configured with RecordingMode.ALWAYS
|
// Start automatic recording for sessions configured with RecordingMode.ALWAYS
|
||||||
// that have not been been manually stopped
|
// that have not been been manually stopped
|
||||||
new Thread(() -> {
|
new Thread(() -> {
|
||||||
recordingManager.startRecording(kSession,
|
RecordingProperties props = RecordingUtils
|
||||||
kSession.getSessionProperties().defaultRecordingProperties());
|
.RECORDING_PROPERTIES_WITH_MEDIA_NODE(kSession);
|
||||||
|
recordingManager.startRecording(kSession, props);
|
||||||
}).start();
|
}).start();
|
||||||
} else if (recordingManager.sessionIsBeingRecorded(kSession.getSessionId())) {
|
} else if (recordingManager.sessionIsBeingRecorded(kSession.getSessionId())) {
|
||||||
// Abort automatic recording stop thread for any recorded session in which a
|
// 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.recording.RecordingUploader;
|
||||||
import io.openvidu.server.utils.CustomFileManager;
|
import io.openvidu.server.utils.CustomFileManager;
|
||||||
import io.openvidu.server.utils.DockerManager;
|
import io.openvidu.server.utils.DockerManager;
|
||||||
|
import io.openvidu.server.utils.RecordingUtils;
|
||||||
|
|
||||||
public class ComposedQuickStartRecordingService extends ComposedRecordingService {
|
public class ComposedQuickStartRecordingService extends ComposedRecordingService {
|
||||||
|
|
||||||
|
@ -177,7 +178,8 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService
|
||||||
try {
|
try {
|
||||||
log.info("Launching COMPOSED_QUICK_START recording container for session: {}",
|
log.info("Launching COMPOSED_QUICK_START recording container for session: {}",
|
||||||
recorderSession.getSessionId());
|
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: {}",
|
log.info("COMPOSED_QUICK_START recording container launched for session: {}",
|
||||||
recorderSession.getSessionId());
|
recorderSession.getSessionId());
|
||||||
launched = true;
|
launched = true;
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package io.openvidu.server.utils;
|
package io.openvidu.server.utils;
|
||||||
|
|
||||||
import io.openvidu.java.client.Recording.OutputMode;
|
import io.openvidu.java.client.Recording.OutputMode;
|
||||||
|
import io.openvidu.java.client.RecordingProperties;
|
||||||
|
import io.openvidu.server.core.Session;
|
||||||
|
|
||||||
public final class RecordingUtils {
|
public final class RecordingUtils {
|
||||||
|
|
||||||
|
@ -8,4 +10,13 @@ public final class RecordingUtils {
|
||||||
return (OutputMode.COMPOSED.equals(outputMode) || OutputMode.COMPOSED_QUICK_START.equals(outputMode));
|
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