mirror of https://github.com/OpenVidu/openvidu.git
Default 'streamDestroyed' behaviour. 'preventDefault()' method exposed
parent
a68652cdd4
commit
153a19b626
|
@ -282,6 +282,10 @@ export class Session {
|
|||
let streams = participant.getStreams();
|
||||
for ( let key in streams ) {
|
||||
this.ee.emitEvent( 'stream-removed', [{
|
||||
stream: streams[key],
|
||||
preventDefault: () => {this.ee.removeEvent('stream-removed-default');}
|
||||
}] );
|
||||
this.ee.emitEvent( 'stream-removed-default', [{
|
||||
stream: streams[key]
|
||||
}] );
|
||||
|
||||
|
|
|
@ -70,6 +70,7 @@ export class Stream {
|
|||
private dataChannelOpened = false;
|
||||
|
||||
private videoSrc: string;
|
||||
private parentId: string;
|
||||
public isReady: boolean = false;
|
||||
|
||||
constructor(private openVidu: OpenVidu, private local: boolean, private room: Session, options: StreamOptions) {
|
||||
|
@ -101,7 +102,7 @@ export class Stream {
|
|||
}]);
|
||||
}
|
||||
|
||||
emitStreamReadyEvent(){
|
||||
emitStreamReadyEvent() {
|
||||
this.ee.emitEvent('stream-ready'), [{}];
|
||||
}
|
||||
|
||||
|
@ -109,9 +110,17 @@ export class Stream {
|
|||
return this.videoSrc;
|
||||
}
|
||||
|
||||
removeVideo(parentElement) {
|
||||
removeVideo(parentElement?) {
|
||||
if (parentElement) {
|
||||
document.getElementById(parentElement)!.removeChild(this.video);
|
||||
} else {
|
||||
if (document.getElementById(this.parentId)) {
|
||||
document.getElementById(this.parentId)!.removeChild(this.video);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -229,11 +238,14 @@ export class Stream {
|
|||
}
|
||||
|
||||
if (typeof parentElement === "string") {
|
||||
this.parentId = parentElement;
|
||||
|
||||
let parentElementDom = document.getElementById(parentElement);
|
||||
if (parentElementDom) {
|
||||
this.video = parentElementDom.appendChild(this.video);
|
||||
}
|
||||
} else {
|
||||
this.parentId = parentElement.id;
|
||||
this.video = parentElement.appendChild(this.video);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,11 @@ import { PublisherTokBox } from './PublisherTokBox';
|
|||
|
||||
export class SessionTokBox {
|
||||
|
||||
constructor(private session: Session, private openVidu: OpenViduTokBox) { }
|
||||
constructor(private session: Session, private openVidu: OpenViduTokBox) {
|
||||
this.session.addEventListener('stream-removed-default', event => {
|
||||
event.stream.removeVideo();
|
||||
});
|
||||
}
|
||||
|
||||
connect(token, callback) {
|
||||
// Early configuration to deactivate automatic subscription to streams
|
||||
|
|
Loading…
Reference in New Issue