diff --git a/openvidu-browser/src/OpenVidu/Session.ts b/openvidu-browser/src/OpenVidu/Session.ts index ed87035e..7e4a9542 100644 --- a/openvidu-browser/src/OpenVidu/Session.ts +++ b/openvidu-browser/src/OpenVidu/Session.ts @@ -992,6 +992,10 @@ export class Session extends EventDispatcher { oldValue = stream.videoActive; event.newValue = event.newValue === 'true'; stream.videoActive = event.newValue; + const videoTrack = stream.getMediaStream().getVideoTracks()[0]; + if(!videoTrack.enabled && stream.videoActive){ + videoTrack.enabled = true; + } break; case 'videoTrack': event.newValue = JSON.parse(event.newValue); diff --git a/openvidu-browser/src/OpenVidu/Stream.ts b/openvidu-browser/src/OpenVidu/Stream.ts index 7b86e86d..9ec14929 100644 --- a/openvidu-browser/src/OpenVidu/Stream.ts +++ b/openvidu-browser/src/OpenVidu/Stream.ts @@ -1481,7 +1481,7 @@ export class Stream { this.mediaStream.getAudioTracks()[0].enabled = enabled; } if (!!this.mediaStream.getVideoTracks()[0]) { - const enabled = reconnect ? this.videoActive : !!(this.streamManager as Subscriber).properties.subscribeToVideo; + const enabled = reconnect ? this.videoActive : !!this.videoActive && !!(this.streamManager as Subscriber).properties.subscribeToVideo; this.mediaStream.getVideoTracks()[0].enabled = enabled; } }