diff --git a/packages/media-signaling/src/definition/call/IClientMediaCall.ts b/packages/media-signaling/src/definition/call/IClientMediaCall.ts index 40d061f27079d..b39feac23eea4 100644 --- a/packages/media-signaling/src/definition/call/IClientMediaCall.ts +++ b/packages/media-signaling/src/definition/call/IClientMediaCall.ts @@ -97,7 +97,7 @@ export interface IClientMediaCall { emitter: Emitter; - getRemoteMediaStream(): MediaStream; + getRemoteMediaStream(): MediaStream | null; accept(): void; reject(): void; diff --git a/packages/media-signaling/src/lib/Call.ts b/packages/media-signaling/src/lib/Call.ts index d825fadb4e3d5..fe0ff5a705fcc 100644 --- a/packages/media-signaling/src/lib/Call.ts +++ b/packages/media-signaling/src/lib/Call.ts @@ -438,14 +438,14 @@ export class ClientMediaCall implements IClientMediaCall { } } - public getRemoteMediaStream(): MediaStream { + public getRemoteMediaStream(): MediaStream | null { this.config.logger?.debug('ClientMediaCall.getRemoteMediaStream'); - if (this.hidden) { - this.throwError('getRemoteMediaStream is not available for this call'); + if (this.hidden || !this.signed) { + return null; } if (this.shouldIgnoreWebRTC()) { - this.throwError('getRemoteMediaStream is not available for this service'); + return null; } this.prepareWebRtcProcessor();