diff --git a/openvidu-browser/src/OpenVidu/Session.ts b/openvidu-browser/src/OpenVidu/Session.ts index 97642a07..8ea22dfb 100644 --- a/openvidu-browser/src/OpenVidu/Session.ts +++ b/openvidu-browser/src/OpenVidu/Session.ts @@ -929,7 +929,11 @@ export class Session extends EventDispatcher { */ onNetworkQualityLevelChangedChanged(msg): void { if (msg.connectionId === this.connection.connectionId) { - this.ee.emitEvent('networkQualityLevelChanged', [new NetworkQualityLevelChangedEvent(this, msg.qualityLevel)]); + this.ee.emitEvent('networkQualityLevelChanged', [new NetworkQualityLevelChangedEvent(this, msg.qualityLevel, this.connection)]); + } else { + this.getConnection(msg.connectionId, 'Connection not found for connectionId ' + msg.connectionId).then((connection: Connection) => { + this.ee.emitEvent('networkQualityLevelChanged', [new NetworkQualityLevelChangedEvent(this, msg.qualityLevel, connection)]); + }); } } diff --git a/openvidu-browser/src/OpenViduInternal/Events/NetworkQualityLevelChangedEvent.ts b/openvidu-browser/src/OpenViduInternal/Events/NetworkQualityLevelChangedEvent.ts index 3636c866..0eb423b2 100644 --- a/openvidu-browser/src/OpenViduInternal/Events/NetworkQualityLevelChangedEvent.ts +++ b/openvidu-browser/src/OpenViduInternal/Events/NetworkQualityLevelChangedEvent.ts @@ -17,6 +17,7 @@ import { Event } from './Event'; import { Session } from '../../OpenVidu/Session'; +import { Connection } from '../../OpenVidu/Connection'; /** * Defines event `networkQualityLevelChangedEvent` dispatched by [[Session]]. @@ -29,13 +30,15 @@ export class NetworkQualityLevelChangedEvent extends Event { * New value of the property (after change, current value) */ qualityLevel: Object; + connection: Connection /** * @hidden */ - constructor(target: Session, qualityLevel: Object) { + constructor(target: Session, qualityLevel: Object, connection: Connection) { super(false, target, 'networkQualityLevelChanged'); this.qualityLevel = qualityLevel; + this.connection = connection; } /**