openvidu-testapp: defaultOutputMode added to SessionProperties dialog

pull/203/head
pabloFuente 2019-01-29 18:18:53 +01:00
parent c9ed0cd13c
commit cffe7f2027
4 changed files with 15 additions and 6 deletions

View File

@ -37,7 +37,7 @@
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
</div> </div>
<div *ngIf="recordingProperties.outputMode.toString() === recMode[recMode.COMPOSED]" id="rec-layout-div"> <div *ngIf="recordingProperties.outputMode.toString() === recMode[recMode.COMPOSED] && recordingProperties.hasVideo" id="rec-layout-div">
<mat-form-field class="inner-text-input" [style.fontSize.px]=14> <mat-form-field class="inner-text-input" [style.fontSize.px]=14>
<mat-select placeholder="Recording layout" [(ngModel)]="recordingProperties.recordingLayout"> <mat-select placeholder="Recording layout" [(ngModel)]="recordingProperties.recordingLayout">
<mat-option *ngFor="let enumerator of enumToArray(recLayouts)" [value]="enumerator"> <mat-option *ngFor="let enumerator of enumToArray(recLayouts)" [value]="enumerator">
@ -45,7 +45,7 @@
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
<mat-form-field *ngIf="recordingProperties.recordingLayout.toString() === recLayouts[recLayouts.CUSTOM]" class="inner-text-input" <mat-form-field *ngIf="recordingProperties.hasVideo && recordingProperties.recordingLayout.toString() === recLayouts[recLayouts.CUSTOM]" class="inner-text-input"
[style.fontSize.px]=14> [style.fontSize.px]=14>
<input matInput placeholder="Custom layout" type="text" [(ngModel)]="recordingProperties.customLayout"> <input matInput placeholder="Custom layout" type="text" [(ngModel)]="recordingProperties.customLayout">
</mat-form-field> </mat-form-field>
@ -53,7 +53,7 @@
<div> <div>
<mat-checkbox id="rec-hasaudio-checkbox" [(ngModel)]="recordingProperties.hasAudio">Has audio</mat-checkbox> <mat-checkbox id="rec-hasaudio-checkbox" [(ngModel)]="recordingProperties.hasAudio">Has audio</mat-checkbox>
<mat-checkbox id="rec-hasvideo-checkbox" [(ngModel)]="recordingProperties.hasVideo">Has video</mat-checkbox> <mat-checkbox id="rec-hasvideo-checkbox" [(ngModel)]="recordingProperties.hasVideo">Has video</mat-checkbox>
<mat-form-field *ngIf="recordingProperties.outputMode.toString() === recMode[recMode.COMPOSED]" id="recording-resolution-form" <mat-form-field *ngIf="recordingProperties.hasVideo && recordingProperties.outputMode.toString() === recMode[recMode.COMPOSED]" id="recording-resolution-form"
class="inner-text-input" [style.fontSize.px]=14> class="inner-text-input" [style.fontSize.px]=14>
<input matInput id="recording-resolution-field" placeholder="Resolution" type="text" [(ngModel)]="recordingProperties.resolution"> <input matInput id="recording-resolution-field" placeholder="Resolution" type="text" [(ngModel)]="recordingProperties.resolution">
</mat-form-field> </mat-form-field>

View File

@ -18,13 +18,20 @@
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>
<mat-select placeholder="DefaultOutputMode" [(ngModel)]="sessionProperties.defaultOutputMode">
<mat-option *ngFor="let enumerator of enumToArray(defaultOutputMode)" [value]="enumerator">
{{ enumerator }}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field *ngIf="this.sessionProperties.defaultOutputMode === 'COMPOSED'">
<mat-select placeholder="DefaultRecordingLayout" [(ngModel)]="sessionProperties.defaultRecordingLayout"> <mat-select placeholder="DefaultRecordingLayout" [(ngModel)]="sessionProperties.defaultRecordingLayout">
<mat-option *ngFor="let enumerator of enumToArray(defaultRecordingLayout)" [value]="enumerator"> <mat-option *ngFor="let enumerator of enumToArray(defaultRecordingLayout)" [value]="enumerator">
{{ enumerator }} {{ enumerator }}
</mat-option> </mat-option>
</mat-select> </mat-select>
</mat-form-field> </mat-form-field>
<mat-form-field *ngIf="this.sessionProperties.defaultRecordingLayout === 'CUSTOM'"> <mat-form-field *ngIf="this.sessionProperties.defaultOutputMode === 'COMPOSED' && this.sessionProperties.defaultRecordingLayout === 'CUSTOM'">
<input matInput placeholder="DefaultCustomLayout" type="text" [(ngModel)]="sessionProperties.defaultCustomLayout"> <input matInput placeholder="DefaultCustomLayout" type="text" [(ngModel)]="sessionProperties.defaultCustomLayout">
</mat-form-field> </mat-form-field>
<mat-form-field> <mat-form-field>

View File

@ -1,7 +1,7 @@
import { Component, Inject } from '@angular/core'; import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
import { SessionProperties, MediaMode, RecordingMode, RecordingLayout, TokenOptions } from 'openvidu-node-client'; import { SessionProperties, MediaMode, Recording, RecordingMode, RecordingLayout, TokenOptions } from 'openvidu-node-client';
@Component({ @Component({
selector: 'app-session-properties-dialog', selector: 'app-session-properties-dialog',
@ -21,6 +21,7 @@ export class SessionPropertiesDialogComponent {
mediaMode = MediaMode; mediaMode = MediaMode;
recordingMode = RecordingMode; recordingMode = RecordingMode;
defaultOutputMode = Recording.OutputMode;
defaultRecordingLayout = RecordingLayout; defaultRecordingLayout = RecordingLayout;
constructor(public dialogRef: MatDialogRef<SessionPropertiesDialogComponent>, constructor(public dialogRef: MatDialogRef<SessionPropertiesDialogComponent>,

View File

@ -88,6 +88,7 @@ export class OpenviduInstanceComponent implements OnInit, OnChanges, OnDestroy {
sessionProperties: SessionPropertiesAPI = { sessionProperties: SessionPropertiesAPI = {
mediaMode: MediaMode.ROUTED, mediaMode: MediaMode.ROUTED,
recordingMode: RecordingMode.MANUAL, recordingMode: RecordingMode.MANUAL,
defaultOutputMode: Recording.OutputMode.COMPOSED,
defaultRecordingLayout: RecordingLayout.BEST_FIT, defaultRecordingLayout: RecordingLayout.BEST_FIT,
defaultCustomLayout: '', defaultCustomLayout: '',
customSessionId: '' customSessionId: ''
@ -557,7 +558,7 @@ export class OpenviduInstanceComponent implements OnInit, OnChanges, OnDestroy {
recordingProperties: !!this.recordingProperties ? this.recordingProperties : recordingProperties: !!this.recordingProperties ? this.recordingProperties :
{ {
name: '', name: '',
outputMode: Recording.OutputMode.COMPOSED, outputMode: this.sessionProperties.defaultOutputMode,
recordingLayout: this.sessionProperties.defaultRecordingLayout, recordingLayout: this.sessionProperties.defaultRecordingLayout,
customLayout: this.sessionProperties.defaultCustomLayout, customLayout: this.sessionProperties.defaultCustomLayout,
resolution: '1920x1080', resolution: '1920x1080',