public SessionProperties(MediaMode mediaMode, RecordingMode recordingMode, OutputMode outputMode,
                          RecordingLayout layout, string defaultCustomLayout, string customSessionId)
 {
     this._mediaMode              = mediaMode;
     this._recordingMode          = recordingMode;
     this._defaultOutputMode      = outputMode;
     this._defaultRecordingLayout = layout;
     this._defaultCustomLayout    = defaultCustomLayout;
     this._customSessionId        = customSessionId;
 }
 public RecordingProperties(string name, OutputMode outputMode, RecordingLayout layout,
                            string customLayout, string resolution, bool hasAudio, bool hasVideo)
 {
     this.Name            = name;
     this.OutputMode      = outputMode;
     this.RecordingLayout = layout;
     this.CustomLayout    = customLayout;
     this.Resolution      = resolution;
     this.HasAudio        = hasAudio;
     this.HasVideo        = hasVideo;
 }
        public RecordingProperties build()
        {
            if (!OutputMode.COMPOSED.Equals(this._outputMode))
            {
                return(new RecordingProperties(this._name, this._outputMode, this._recordingLayout, this._customLayout,
                                               this._resolution, this._hasAudio, this._hasVideo));
            }

            this._recordingLayout = this._recordingLayout != 0 ? this._recordingLayout : RecordingLayout.BEST_FIT;
            this._resolution      = !string.IsNullOrEmpty(_resolution) ? this._resolution : "1920x1080";
            if (RecordingLayout.CUSTOM.Equals(this._recordingLayout))
            {
                this._customLayout = !string.IsNullOrEmpty(_customLayout) ? this._customLayout : "";
            }

            return(new RecordingProperties(this._name, this._outputMode, this._recordingLayout, this._customLayout,
                                           this._resolution, this._hasAudio, this._hasVideo));
        }
 /**
  * Call this method to set the the default value used to initialize property
  * {@link io.openvidu.java.client.RecordingProperties#recordingLayout()} of
  * every recording of this session. You can easily override this value later
  * when starting a {@link io.openvidu.java.client.Recording} by calling
  * {@link io.openvidu.java.client.RecordingProperties.Builder#recordingLayout(RecordingLayout)}
  * with any other value.<br>
  * Default value is {@link RecordingLayout#BEST_FIT}<br>
  * <br>
  * Recording layouts are only applicable to recordings with OutputMode
  * {@link io.openvidu.java.client.Recording.OutputMode#COMPOSED}
  */
 public SessionPropertiesBuilder defaultRecordingLayout(RecordingLayout layout)
 {
     this._defaultRecordingLayout = layout;
     return(this);
 }
 public RecordingPropertiesBuilder recordingLayout(RecordingLayout recordingLayout)
 {
     this._recordingLayout = recordingLayout;
     return(this);
 }