diff --git a/openvidu-browser/src/OpenVidu/OpenVidu.ts b/openvidu-browser/src/OpenVidu/OpenVidu.ts index 0810d715..b0d6b456 100644 --- a/openvidu-browser/src/OpenVidu/OpenVidu.ts +++ b/openvidu-browser/src/OpenVidu/OpenVidu.ts @@ -189,6 +189,7 @@ export class OpenVidu { publishVideo: (typeof properties.publishVideo !== 'undefined') ? properties.publishVideo : true, resolution: this.isMediaStreamTrack(properties.videoSource) ? undefined : ((typeof properties.resolution !== 'undefined') ? properties.resolution : '640x480'), videoSource: (typeof properties.videoSource !== 'undefined') ? properties.videoSource : undefined, + keepTracksOnDispose: (typeof properties.videoSource !== 'undefined') ? properties.keepTracksOnDispose : false, filter: properties.filter }; } else { diff --git a/openvidu-browser/src/OpenVidu/Publisher.ts b/openvidu-browser/src/OpenVidu/Publisher.ts index 0b4ddf13..58badc08 100644 --- a/openvidu-browser/src/OpenVidu/Publisher.ts +++ b/openvidu-browser/src/OpenVidu/Publisher.ts @@ -74,7 +74,7 @@ export class Publisher extends StreamManager { constructor(targEl: string | HTMLElement, properties: PublisherProperties, openvidu: OpenVidu) { super(new Stream((!!openvidu.session) ? openvidu.session : new Session(openvidu), { publisherProperties: properties, mediaConstraints: {} }), targEl); this.properties = properties; - this.openvidu = openvidu; + this.openvidu = openvidu; this.stream.ee.on('local-stream-destroyed', (reason: string) => { this.stream.isLocalStreamPublished = false; diff --git a/openvidu-browser/src/OpenVidu/Stream.ts b/openvidu-browser/src/OpenVidu/Stream.ts index efed8c21..758220aa 100644 --- a/openvidu-browser/src/OpenVidu/Stream.ts +++ b/openvidu-browser/src/OpenVidu/Stream.ts @@ -117,6 +117,16 @@ export class Stream implements EventDispatcher { } } = {}; + /** + * Keeps tracks unstopped on disposal. Allows to keep tracks running if session is diposed + * + * This property may be useful if a publisher is started with a previously existing + * track which should keep running after disposal, e.g. if you start your webcam + * in a