openvidu server clients: configure defaultOutputMode in Session entities

pull/203/head
pabloFuente 2019-01-29 12:31:38 +01:00
parent ab4eb7cf6d
commit c247de00bc
2 changed files with 9 additions and 1 deletions

View File

@ -215,7 +215,8 @@ public class Session {
* {@link io.openvidu.java.client.Session#forceDisconnect(Connection)} or * {@link io.openvidu.java.client.Session#forceDisconnect(Connection)} or
* {@link io.openvidu.java.client.Session#forceUnpublish(Publisher)}. <br> * {@link io.openvidu.java.client.Session#forceUnpublish(Publisher)}. <br>
* *
* To update every Session object owned by OpenVidu object, call {@link io.openvidu.java.client.OpenVidu#fetch()} * To update every Session object owned by OpenVidu object, call
* {@link io.openvidu.java.client.OpenVidu#fetch()}
* *
* @return true if the Session status has changed with respect to the server, * @return true if the Session status has changed with respect to the server,
* false if not. This applies to any property or sub-property of the * false if not. This applies to any property or sub-property of the
@ -449,6 +450,7 @@ public class Session {
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
json.put("mediaMode", properties.mediaMode().name()); json.put("mediaMode", properties.mediaMode().name());
json.put("recordingMode", properties.recordingMode().name()); json.put("recordingMode", properties.recordingMode().name());
json.put("defaultOutputMode", properties.defaultOutputMode().name());
json.put("defaultRecordingLayout", properties.defaultRecordingLayout().name()); json.put("defaultRecordingLayout", properties.defaultRecordingLayout().name());
json.put("defaultCustomLayout", properties.defaultCustomLayout()); json.put("defaultCustomLayout", properties.defaultCustomLayout());
json.put("customSessionId", properties.customSessionId()); json.put("customSessionId", properties.customSessionId());
@ -509,6 +511,7 @@ public class Session {
SessionProperties.Builder builder = new SessionProperties.Builder() SessionProperties.Builder builder = new SessionProperties.Builder()
.mediaMode(MediaMode.valueOf((String) json.get("mediaMode"))) .mediaMode(MediaMode.valueOf((String) json.get("mediaMode")))
.recordingMode(RecordingMode.valueOf((String) json.get("recordingMode"))) .recordingMode(RecordingMode.valueOf((String) json.get("recordingMode")))
.defaultOutputMode(Recording.OutputMode.valueOf((String) json.get("defaultOutputMode")))
.defaultRecordingLayout(RecordingLayout.valueOf((String) json.get("defaultRecordingLayout"))); .defaultRecordingLayout(RecordingLayout.valueOf((String) json.get("defaultRecordingLayout")));
if (json.containsKey("defaultCustomLayout")) { if (json.containsKey("defaultCustomLayout")) {
builder.defaultCustomLayout((String) json.get("defaultCustomLayout")); builder.defaultCustomLayout((String) json.get("defaultCustomLayout"));
@ -560,6 +563,7 @@ public class Session {
json.put("recording", this.recording); json.put("recording", this.recording);
json.put("mediaMode", this.properties.mediaMode()); json.put("mediaMode", this.properties.mediaMode());
json.put("recordingMode", this.properties.recordingMode()); json.put("recordingMode", this.properties.recordingMode());
json.put("defaultOutputMode", this.properties.defaultOutputMode());
json.put("defaultRecordingLayout", this.properties.defaultRecordingLayout()); json.put("defaultRecordingLayout", this.properties.defaultRecordingLayout());
json.put("defaultCustomLayout", this.properties.defaultCustomLayout()); json.put("defaultCustomLayout", this.properties.defaultCustomLayout());
JSONObject connections = new JSONObject(); JSONObject connections = new JSONObject();

View File

@ -21,6 +21,7 @@ import { MediaMode } from './MediaMode';
import { OpenVidu } from './OpenVidu'; import { OpenVidu } from './OpenVidu';
import { OpenViduRole } from './OpenViduRole'; import { OpenViduRole } from './OpenViduRole';
import { Publisher } from './Publisher'; import { Publisher } from './Publisher';
import { Recording } from './Recording';
import { RecordingLayout } from './RecordingLayout'; import { RecordingLayout } from './RecordingLayout';
import { RecordingMode } from './RecordingMode'; import { RecordingMode } from './RecordingMode';
import { SessionProperties } from './SessionProperties'; import { SessionProperties } from './SessionProperties';
@ -80,6 +81,7 @@ export class Session {
} }
this.properties.mediaMode = !!this.properties.mediaMode ? this.properties.mediaMode : MediaMode.ROUTED; this.properties.mediaMode = !!this.properties.mediaMode ? this.properties.mediaMode : MediaMode.ROUTED;
this.properties.recordingMode = !!this.properties.recordingMode ? this.properties.recordingMode : RecordingMode.MANUAL; this.properties.recordingMode = !!this.properties.recordingMode ? this.properties.recordingMode : RecordingMode.MANUAL;
this.properties.defaultOutputMode = !!this.properties.defaultOutputMode ? this.properties.defaultOutputMode : Recording.OutputMode.COMPOSED;
this.properties.defaultRecordingLayout = !!this.properties.defaultRecordingLayout ? this.properties.defaultRecordingLayout : RecordingLayout.BEST_FIT; this.properties.defaultRecordingLayout = !!this.properties.defaultRecordingLayout ? this.properties.defaultRecordingLayout : RecordingLayout.BEST_FIT;
} }
@ -396,6 +398,7 @@ export class Session {
const data = JSON.stringify({ const data = JSON.stringify({
mediaMode: !!this.properties.mediaMode ? this.properties.mediaMode : MediaMode.ROUTED, mediaMode: !!this.properties.mediaMode ? this.properties.mediaMode : MediaMode.ROUTED,
recordingMode: !!this.properties.recordingMode ? this.properties.recordingMode : RecordingMode.MANUAL, recordingMode: !!this.properties.recordingMode ? this.properties.recordingMode : RecordingMode.MANUAL,
defaultOutputMode: !!this.properties.defaultOutputMode ? this.properties.defaultOutputMode : Recording.OutputMode.COMPOSED,
defaultRecordingLayout: !!this.properties.defaultRecordingLayout ? this.properties.defaultRecordingLayout : RecordingLayout.BEST_FIT, defaultRecordingLayout: !!this.properties.defaultRecordingLayout ? this.properties.defaultRecordingLayout : RecordingLayout.BEST_FIT,
defaultCustomLayout: !!this.properties.defaultCustomLayout ? this.properties.defaultCustomLayout : '', defaultCustomLayout: !!this.properties.defaultCustomLayout ? this.properties.defaultCustomLayout : '',
customSessionId: !!this.properties.customSessionId ? this.properties.customSessionId : '' customSessionId: !!this.properties.customSessionId ? this.properties.customSessionId : ''
@ -462,6 +465,7 @@ export class Session {
this.properties = { this.properties = {
mediaMode: json.mediaMode, mediaMode: json.mediaMode,
recordingMode: json.recordingMode, recordingMode: json.recordingMode,
defaultOutputMode: json.defaultOutputMode,
defaultRecordingLayout: json.defaultRecordingLayout defaultRecordingLayout: json.defaultRecordingLayout
}; };
if (!!customSessionId) { if (!!customSessionId) {