2022-01-19 17:24:11 +01:00
|
|
|
<div
|
2022-02-07 10:43:21 +01:00
|
|
|
*ngIf="this._stream"
|
2022-01-19 17:24:11 +01:00
|
|
|
class="OT_widget-container"
|
2022-02-07 10:43:21 +01:00
|
|
|
[id]="'container-' + this._stream.streamManager?.stream?.streamId"
|
2022-02-07 15:40:05 +01:00
|
|
|
#streamContainer
|
2022-01-19 17:24:11 +01:00
|
|
|
>
|
|
|
|
<div class="nickname" [class.fullscreen]="isFullscreen">
|
|
|
|
<div (click)="toggleNicknameForm()" class="nicknameContainer" selected *ngIf="!toggleNickname">
|
2022-02-07 10:43:21 +01:00
|
|
|
<span id="nickname">{{ this._stream.nickname }}</span>
|
|
|
|
<span *ngIf="_stream.local || (_stream.streamManager && !_stream.streamManager?.remote)"> (edit)</span>
|
2022-01-19 17:24:11 +01:00
|
|
|
</div>
|
2022-02-07 10:43:21 +01:00
|
|
|
<div *ngIf="toggleNickname && !this._stream.streamManager?.remote" [class.fullscreen]="isFullscreen" id="dialogNickname">
|
2022-01-19 17:24:11 +01:00
|
|
|
<form id="nicknameForm">
|
|
|
|
<mat-form-field color="primary">
|
|
|
|
<input
|
|
|
|
matInput
|
|
|
|
#nicknameInput
|
2022-02-07 10:43:21 +01:00
|
|
|
placeholder="Nick: {{ this._stream.nickname }}"
|
2022-01-19 17:24:11 +01:00
|
|
|
[formControl]="nicknameFormControl"
|
|
|
|
[errorStateMatcher]="matcher"
|
|
|
|
(keypress)="eventKeyPress($event)"
|
|
|
|
autocomplete="off"
|
|
|
|
(focusout)="toggleNicknameForm()"
|
|
|
|
/>
|
|
|
|
<mat-error *ngIf="nicknameFormControl.hasError('required')"> Nickname is <strong>required</strong> </mat-error>
|
|
|
|
<mat-error *ngIf="nicknameFormControl.hasError('maxlength')"> Nickname is <strong>too long!</strong> </mat-error>
|
|
|
|
</mat-form-field>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<!-- Custom network quality element -->
|
|
|
|
<ng-content select="[network-quality]"></ng-content>
|
|
|
|
</div>
|
|
|
|
|
2022-02-11 16:26:46 +01:00
|
|
|
<div id="audio-wave-container">
|
|
|
|
<ov-audio-wave [streamManager]="_stream.streamManager"></ov-audio-wave>
|
|
|
|
</div>
|
|
|
|
|
2022-01-19 17:24:11 +01:00
|
|
|
<ov-video
|
2022-02-07 15:40:05 +01:00
|
|
|
(dblclick)="toggleVideoEnlarged()"
|
2022-02-11 16:26:46 +01:00
|
|
|
[streamManager]="_stream.streamManager"
|
2022-01-19 17:24:11 +01:00
|
|
|
[mutedSound]="mutedSound"
|
|
|
|
></ov-video>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="status-icons">
|
2022-02-07 10:43:21 +01:00
|
|
|
<!-- <div id="statusMic" *ngIf="!this._stream.streamManager?.stream?.audioActive">
|
2022-01-19 17:24:11 +01:00
|
|
|
<mat-icon>mic_off</mat-icon>
|
|
|
|
</div> -->
|
|
|
|
|
2022-02-07 10:43:21 +01:00
|
|
|
<button mat-icon-button id="statusMic" *ngIf="!this._stream.streamManager?.stream?.audioActive" disabled>
|
2022-01-19 17:24:11 +01:00
|
|
|
<mat-icon>mic_off</mat-icon>
|
|
|
|
</button>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="videoButtons">
|
|
|
|
|
2022-02-07 10:33:49 +01:00
|
|
|
<!-- Custom stream notifications -->
|
|
|
|
<ng-container *ngIf="notificationTemplate">
|
2022-02-07 10:43:21 +01:00
|
|
|
<ng-container *ngTemplateOutlet="notificationTemplate; context: { stream: _stream }"></ng-container>
|
2022-02-07 10:33:49 +01:00
|
|
|
</ng-container>
|
2022-01-19 17:24:11 +01:00
|
|
|
|
|
|
|
<button mat-icon-button (click)="toggleVideoMenu($event)" matTooltip="Settings" aria-label="Video settings menu">
|
|
|
|
<mat-icon>more_vert</mat-icon>
|
|
|
|
</button>
|
|
|
|
<span [matMenuTriggerFor]="menu"></span>
|
|
|
|
<mat-menu #menu="matMenu" yPosition="above" xPosition="before">
|
2022-02-07 15:40:05 +01:00
|
|
|
<button mat-menu-item id="videoZoomButton" (click)="toggleVideoEnlarged()">
|
2022-01-19 17:24:11 +01:00
|
|
|
<mat-icon>{{ this.videoSizeIcon }}</mat-icon>
|
|
|
|
<span *ngIf="videoSizeIcon === videoSizeIconEnum.NORMAL">Zoom out</span>
|
|
|
|
<span *ngIf="videoSizeIcon === videoSizeIconEnum.BIG">Zoom in</span>
|
|
|
|
</button>
|
2022-02-07 10:43:21 +01:00
|
|
|
<button mat-menu-item id="volumeButton" *ngIf="this._stream.streamManager?.remote" (click)="toggleSound()">
|
2022-01-19 17:24:11 +01:00
|
|
|
<mat-icon *ngIf="!mutedSound">volume_up</mat-icon>
|
|
|
|
<span *ngIf="!mutedSound">Mute sound</span>
|
|
|
|
|
|
|
|
<mat-icon *ngIf="mutedSound">volume_off</mat-icon>
|
|
|
|
<span *ngIf="mutedSound">Unmute sound</span>
|
|
|
|
</button>
|
2022-02-07 10:43:21 +01:00
|
|
|
<!-- <button mat-menu-item *ngIf="this._stream.streamManager?.stream?.videoActive" id="fullscreenButton" (click)="toggleFullscreen()">
|
2022-01-19 17:24:11 +01:00
|
|
|
<mat-icon *ngIf="!isFullscreenEnabled">fullscreen</mat-icon>
|
|
|
|
<span *ngIf="!isFullscreenEnabled">Fullscreen</span>
|
|
|
|
|
|
|
|
<mat-icon *ngIf="isFullscreenEnabled">fullscreen_exit</mat-icon>
|
|
|
|
<span *ngIf="isFullscreenEnabled">Exit fullscreen</span>
|
|
|
|
</button> -->
|
|
|
|
|
|
|
|
<button
|
|
|
|
mat-menu-item
|
|
|
|
(click)="replaceScreenTrack()"
|
|
|
|
id="changeScreenButton"
|
2022-02-07 10:43:21 +01:00
|
|
|
*ngIf="!this._stream.streamManager?.remote && this._stream.streamManager?.stream?.typeOfVideo === videoTypeEnum.SCREEN"
|
2022-01-19 17:24:11 +01:00
|
|
|
>
|
|
|
|
<mat-icon>picture_in_picture</mat-icon>
|
|
|
|
<span>Replace screen</span>
|
|
|
|
</button>
|
|
|
|
</mat-menu>
|
|
|
|
</div>
|
|
|
|
</div>
|