35 lines
882 B
TypeScript
35 lines
882 B
TypeScript
/* eslint-disable @typescript-eslint/member-ordering */
|
|
/* eslint-disable no-underscore-dangle */
|
|
/* eslint-disable @angular-eslint/component-selector */
|
|
import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
import { StreamManager } from 'openvidu-browser';
|
|
|
|
@Component({
|
|
selector: 'ov-video',
|
|
template: '<video #videoElement style="width: 100%"></video>'
|
|
})
|
|
export class OpenViduVideoComponent implements AfterViewInit {
|
|
|
|
@ViewChild('videoElement') elementRef: ElementRef;
|
|
|
|
_streamManager: StreamManager;
|
|
|
|
constructor() { }
|
|
|
|
ngAfterViewInit() {
|
|
this.updateVideoView();
|
|
}
|
|
|
|
@Input()
|
|
set streamManager(streamManager: StreamManager) {
|
|
this._streamManager = streamManager;
|
|
if (!!this.elementRef) {
|
|
this.updateVideoView();
|
|
}
|
|
}
|
|
|
|
private updateVideoView() {
|
|
this._streamManager.addVideoElement(this.elementRef.nativeElement);
|
|
}
|
|
}
|