livekit-client 1.1.9 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/livekit-client.esm.mjs +218 -70
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/api/SignalClient.d.ts +3 -1
- package/dist/src/api/SignalClient.d.ts.map +1 -1
- package/dist/src/options.d.ts +1 -0
- package/dist/src/options.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +9 -0
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts +1 -0
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +1 -1
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/events.d.ts +8 -1
- package/dist/src/room/events.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +3 -3
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/src/room/track/RemoteTrackPublication.d.ts +4 -1
- package/dist/src/room/track/RemoteTrackPublication.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/SignalClient.ts +3 -1
- package/src/options.ts +1 -0
- package/src/room/PCTransport.ts +39 -0
- package/src/room/RTCEngine.ts +41 -16
- package/src/room/Room.ts +20 -16
- package/src/room/events.ts +7 -0
- package/src/room/participant/LocalParticipant.ts +70 -10
- package/src/room/participant/RemoteParticipant.ts +12 -10
- package/src/room/participant/publishUtils.ts +1 -1
- package/src/room/track/LocalTrack.ts +4 -0
- package/src/room/track/RemoteTrackPublication.ts +37 -11
| @@ -1,16 +1,18 @@ | |
| 1 | 
            -
            import 'webrtc-adapter';
         | 
| 2 1 | 
             
            import Queue from 'async-await-queue';
         | 
| 2 | 
            +
            import 'webrtc-adapter';
         | 
| 3 3 | 
             
            import { ParticipantInfo, Room, SpeakerInfo, VideoLayer } from '../proto/livekit_models';
         | 
| 4 4 | 
             
            import { AddTrackRequest, ConnectionQualityUpdate, JoinResponse, LeaveRequest, SessionDescription, SignalRequest, SignalTarget, SimulateScenario, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UpdateSubscription, UpdateTrackSettings } from '../proto/livekit_rtc';
         | 
| 5 5 | 
             
            interface ConnectOpts {
         | 
| 6 6 | 
             
                autoSubscribe?: boolean;
         | 
| 7 7 | 
             
                /** internal */
         | 
| 8 8 | 
             
                reconnect?: boolean;
         | 
| 9 | 
            +
                /** @deprecated */
         | 
| 9 10 | 
             
                publishOnly?: string;
         | 
| 10 11 | 
             
                adaptiveStream?: boolean;
         | 
| 11 12 | 
             
            }
         | 
| 12 13 | 
             
            export interface SignalOptions {
         | 
| 13 14 | 
             
                autoSubscribe?: boolean;
         | 
| 15 | 
            +
                /** @deprecated */
         | 
| 14 16 | 
             
                publishOnly?: string;
         | 
| 15 17 | 
             
                adaptiveStream?: boolean;
         | 
| 16 18 | 
             
            }
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"AAAA,OAAO, | 
| 1 | 
            +
            {"version":3,"file":"SignalClient.d.ts","sourceRoot":"","sources":["../../../src/api/SignalClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,gBAAgB,CAAC;AAExB,OAAO,EAEL,eAAe,EACf,IAAI,EACJ,WAAW,EACX,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,aAAa,EAEb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAC5B,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAK9B,UAAU,WAAW;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAmBD,gBAAgB;AAChB,qBAAa,YAAY;IACvB,WAAW,EAAE,OAAO,CAAC;IAErB,cAAc,EAAE,OAAO,CAAC;IAExB,YAAY,EAAE,KAAK,CAAC;IAEpB,cAAc,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3C,OAAO,EAAE,OAAO,CAAC;IAEjB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAEnD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAGlD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAEpE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAE3D,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAE9D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAElC,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAEjD,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAEpC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAEhE,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE1D,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAEtE,8BAA8B,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,IAAI,CAAC;IAEhF,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAElE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAExC,EAAE,CAAC,EAAE,SAAS,CAAC;gBAEH,OAAO,GAAE,OAAe;IAQ9B,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,YAAY,CAAC;IAiBlB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,OAAO,CACL,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,WAAW,EACjB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAkG/B,KAAK;IAQL,SAAS,CAAC,KAAK,EAAE,yBAAyB;IAQ1C,UAAU,CAAC,MAAM,EAAE,yBAAyB;IAO5C,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,YAAY;IAUrE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAS9C,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,IAAI;IAMxC,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB;IAIrD,sBAAsB,CAAC,GAAG,EAAE,kBAAkB;IAI9C,aAAa,CAAC,IAAI,EAAE,SAAS;IAI7B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE;IAS5D,iCAAiC,CAAC,eAAe,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE;IAS/F,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB;IAMzC,SAAS;IAIT,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,GAAE,OAAe;IAiChE,OAAO,CAAC,oBAAoB;IAqE5B,cAAc;IAUd,OAAO,CAAC,aAAa;CAGtB;AAoBD,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,qBAAqB,GAAG,yBAAyB,GACrD,kBAAkB,CAMpB"}
         | 
    
        package/dist/src/options.d.ts
    CHANGED
    
    
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;IAElD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAE3C;;OAEG;IACH,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAE3C;;OAEG;IACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAEvC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B | 
| 1 | 
            +
            {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC;IAElD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAE3C;;OAEG;IACH,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;IAE3C;;OAEG;IACH,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAEvC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
         | 
| @@ -1,9 +1,16 @@ | |
| 1 1 | 
             
            /** @internal */
         | 
| 2 | 
            +
            interface TrackBitrateInfo {
         | 
| 3 | 
            +
                sid: string;
         | 
| 4 | 
            +
                codec: string;
         | 
| 5 | 
            +
                maxbr: number;
         | 
| 6 | 
            +
            }
         | 
| 7 | 
            +
            /** @internal */
         | 
| 2 8 | 
             
            export default class PCTransport {
         | 
| 3 9 | 
             
                pc: RTCPeerConnection;
         | 
| 4 10 | 
             
                pendingCandidates: RTCIceCandidateInit[];
         | 
| 5 11 | 
             
                restartingIce: boolean;
         | 
| 6 12 | 
             
                renegotiate: boolean;
         | 
| 13 | 
            +
                trackBitrates: TrackBitrateInfo[];
         | 
| 7 14 | 
             
                onOffer?: (offer: RTCSessionDescriptionInit) => void;
         | 
| 8 15 | 
             
                constructor(config?: RTCConfiguration);
         | 
| 9 16 | 
             
                get isICEConnected(): boolean;
         | 
| @@ -11,6 +18,8 @@ export default class PCTransport { | |
| 11 18 | 
             
                setRemoteDescription(sd: RTCSessionDescriptionInit): Promise<void>;
         | 
| 12 19 | 
             
                negotiate: import("ts-debounce").DebouncedFunction<() => void>;
         | 
| 13 20 | 
             
                createAndSendOffer(options?: RTCOfferOptions): Promise<void>;
         | 
| 21 | 
            +
                setTrackCodecBitrate(sid: string, codec: string, maxbr: number): void;
         | 
| 14 22 | 
             
                close(): void;
         | 
| 15 23 | 
             
            }
         | 
| 24 | 
            +
            export {};
         | 
| 16 25 | 
             
            //# sourceMappingURL=PCTransport.d.ts.map
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"AAGA,gBAAgB;AAChB,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,EAAE,EAAE,iBAAiB,CAAC;IAEtB,iBAAiB,EAAE,mBAAmB,EAAE,CAAM;IAE9C,aAAa,EAAE,OAAO,CAAS;IAE/B,WAAW,EAAE,OAAO,CAAS;IAE7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;gBAEzC,MAAM,CAAC,EAAE,gBAAgB;IAIrC,IAAI,cAAc,IAAI,OAAO,CAE5B;IAEK,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxE,SAAS,sDAED;IAEF,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe; | 
| 1 | 
            +
            {"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":"AAGA,gBAAgB;AAChB,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,gBAAgB;AAChB,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,EAAE,EAAE,iBAAiB,CAAC;IAEtB,iBAAiB,EAAE,mBAAmB,EAAE,CAAM;IAE9C,aAAa,EAAE,OAAO,CAAS;IAE/B,WAAW,EAAE,OAAO,CAAS;IAE7B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IAEvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;gBAEzC,MAAM,CAAC,EAAE,gBAAgB;IAIrC,IAAI,cAAc,IAAI,OAAO,CAE5B;IAEK,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxE,SAAS,sDAED;IAEF,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe;IAwDlD,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAQ9D,KAAK;CAGN"}
         | 
| @@ -39,6 +39,7 @@ export default class RTCEngine extends RTCEngine_base { | |
| 39 39 | 
             
                get dataSubscriberReadyState(): string | undefined;
         | 
| 40 40 | 
             
                get connectedServerAddress(): string | undefined;
         | 
| 41 41 | 
             
                private configure;
         | 
| 42 | 
            +
                private createDataChannels;
         | 
| 42 43 | 
             
                private handleDataChannel;
         | 
| 43 44 | 
             
                private handleDataMessage;
         | 
| 44 45 | 
             
                private handleDataError;
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"RTCEngine.d.ts","sourceRoot":"","sources":["../../../src/room/RTCEngine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAGL,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,YAAY,EAIb,MAAM,sBAAsB,CAAC;AAG9B,OAAO,WAAW,MAAM,eAAe,CAAC;AAQxC,eAAO,MAAM,oBAAoB,QAAY,CAAC;wCAWoB,kBAAkB,oBAAoB,CAAC;AADzG,gBAAgB;AAChB,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,cAAmE;IACxG,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB,UAAU,CAAC,EAAE,WAAW,CAAC;IAEzB,MAAM,EAAE,YAAY,CAAC;IAErB,SAAS,EAAE,gBAAgB,CAAM;IAEjC,IAAI,QAAQ,YAEX;IAED,OAAO,CAAC,OAAO,CAAC,CAAiB;IAGjC,OAAO,CAAC,UAAU,CAAC,CAAiB;IAEpC,OAAO,CAAC,UAAU,CAAC,CAAiB;IAGpC,OAAO,CAAC,aAAa,CAAC,CAAiB;IAEvC,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,SAAS,CAAiB;IAElC,OAAO,CAAC,qBAAqB,CAAoD;IAIjF,OAAO,CAAC,YAAY,CAAkB;IAGtC,OAAO,CAAC,GAAG,CAAC,CAAS;IAErB,OAAO,CAAC,KAAK,CAAC,CAAS;IAEvB,OAAO,CAAC,UAAU,CAAC,CAAgB;IAEnC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,mBAAmB,CAAkB;IAE7C,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAElD,OAAO,CAAC,mBAAmB,CAAC,CAAS;IAErC,OAAO,CAAC,mBAAmB,CAAkB;;IAOvC,IAAI,CACR,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,YAAY,CAAC;IAsBxB,KAAK;IAyBL,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAUlD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAIjD,IAAI,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAEjD;IAED,IAAI,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAE/C;IAED,OAAO,CAAC,SAAS; | 
| 1 | 
            +
            {"version":3,"file":"RTCEngine.d.ts","sourceRoot":"","sources":["../../../src/room/RTCEngine.ts"],"names":[],"mappings":"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"}
         | 
    
        package/dist/src/room/Room.d.ts
    CHANGED
    
    | @@ -75,7 +75,7 @@ declare class Room extends Room_base { | |
| 75 75 | 
             
                /**
         | 
| 76 76 | 
             
                 * disconnects the room, emits [[RoomEvent.Disconnected]]
         | 
| 77 77 | 
             
                 */
         | 
| 78 | 
            -
                disconnect: (stopTracks?: boolean) => void | 
| 78 | 
            +
                disconnect: (stopTracks?: boolean) => Promise<void>;
         | 
| 79 79 | 
             
                /**
         | 
| 80 80 | 
             
                 * retrieves a participant by identity
         | 
| 81 81 | 
             
                 * @param identity
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EACL,eAAe,EACf,gBAAgB,EAGhB,qBAAqB,EAItB,MAAM,yBAAyB,CAAC;AAWjC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,SAAmC,MAAM,aAAa,CAAC;AAG9D,OAAO,qBAAqB,MAAM,+BAA+B,CAAC;AAElE,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAA0B,WAAW,EAAE,MAAM,eAAe,CAAC;AAIpE,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED,oEAAoE;AACpE,eAAO,MAAM,SAAS,wBAAkB,CAAC;mCAUK,aAAa,kBAAkB,CAAC;AAR9E;;;;;;;GAOG;AACH,cAAM,IAAK,SAAQ,SAA4D;IAC7E,KAAK,EAAE,eAAe,CAAgC;IAEtD,wCAAwC;IACxC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE7C;;;OAGG;IACH,cAAc,EAAE,WAAW,EAAE,CAAM;IAEnC,gBAAgB;IAChB,MAAM,EAAG,SAAS,CAAC;IAGnB,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAM;IAEjB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAM;IAElB,8BAA8B;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IAEzC,sBAAsB;IACtB,OAAO,EAAE,WAAW,CAAC;IAErB,OAAO,CAAC,aAAa,CAAsB;IAE3C,8BAA8B;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAqB;IAEzC,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,gEAAgE;IAChE,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C,OAAO,CAAC,aAAa,CAAC,CAAe;IAErC;;;OAGG;gBACS,OAAO,CAAC,EAAE,WAAW;IAwBjC,OAAO,CAAC,YAAY;IAkDpB;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CACpB,IAAI,CAAC,EAAE,eAAe,EACtB,kBAAkB,GAAE,OAAc,GACjC,OAAO,CAAC,eAAe,EAAE,CAAC;IAI7B,OAAO,QAAe,MAAM,SAAS,MAAM,4CAA8B,QAAQ,IAAI,CAAC,CA+JpF;IAEF;;OAEG;IACH,UAAU, | 
| 1 | 
            +
            {"version":3,"file":"Room.d.ts","sourceRoot":"","sources":["../../../src/room/Room.ts"],"names":[],"mappings":"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"}
         | 
| @@ -354,6 +354,8 @@ export declare enum TrackEvent { | |
| 354 354 | 
             
                Muted = "muted",
         | 
| 355 355 | 
             
                Unmuted = "unmuted",
         | 
| 356 356 | 
             
                Ended = "ended",
         | 
| 357 | 
            +
                Subscribed = "subscribed",
         | 
| 358 | 
            +
                Unsubscribed = "unsubscribed",
         | 
| 357 359 | 
             
                /** @internal */
         | 
| 358 360 | 
             
                UpdateSettings = "updateSettings",
         | 
| 359 361 | 
             
                /** @internal */
         | 
| @@ -384,6 +386,11 @@ export declare enum TrackEvent { | |
| 384 386 | 
             
                 * @internal
         | 
| 385 387 | 
             
                 * Only fires on LocalTracks
         | 
| 386 388 | 
             
                 */
         | 
| 387 | 
            -
                UpstreamResumed = "upstreamResumed"
         | 
| 389 | 
            +
                UpstreamResumed = "upstreamResumed",
         | 
| 390 | 
            +
                /**
         | 
| 391 | 
            +
                 * @internal
         | 
| 392 | 
            +
                 * Fires on RemoteTrackPublication
         | 
| 393 | 
            +
                 */
         | 
| 394 | 
            +
                SubscriptionPermissionChanged = "subscriptionPermissionChanged"
         | 
| 388 395 | 
             
            }
         | 
| 389 396 | 
             
            //# sourceMappingURL=events.d.ts.map
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/room/events.ts"],"names":[],"mappings":"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 | 
| 1 | 
            +
            {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/room/events.ts"],"names":[],"mappings":"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"}
         | 
| @@ -34,19 +34,19 @@ export default class LocalParticipant extends Participant { | |
| 34 34 | 
             
                 * If a track has already published, it'll mute or unmute the track.
         | 
| 35 35 | 
             
                 * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
         | 
| 36 36 | 
             
                 */
         | 
| 37 | 
            -
                setCameraEnabled(enabled: boolean, options?: VideoCaptureOptions): Promise<LocalTrackPublication | undefined>;
         | 
| 37 | 
            +
                setCameraEnabled(enabled: boolean, options?: VideoCaptureOptions, publishOptions?: TrackPublishOptions): Promise<LocalTrackPublication | undefined>;
         | 
| 38 38 | 
             
                /**
         | 
| 39 39 | 
             
                 * Enable or disable a participant's microphone track.
         | 
| 40 40 | 
             
                 *
         | 
| 41 41 | 
             
                 * If a track has already published, it'll mute or unmute the track.
         | 
| 42 42 | 
             
                 * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
         | 
| 43 43 | 
             
                 */
         | 
| 44 | 
            -
                setMicrophoneEnabled(enabled: boolean, options?: AudioCaptureOptions): Promise<LocalTrackPublication | undefined>;
         | 
| 44 | 
            +
                setMicrophoneEnabled(enabled: boolean, options?: AudioCaptureOptions, publishOptions?: TrackPublishOptions): Promise<LocalTrackPublication | undefined>;
         | 
| 45 45 | 
             
                /**
         | 
| 46 46 | 
             
                 * Start or stop sharing a participant's screen
         | 
| 47 47 | 
             
                 * Resolves with a `LocalTrackPublication` instance if successful and `undefined` otherwise
         | 
| 48 48 | 
             
                 */
         | 
| 49 | 
            -
                setScreenShareEnabled(enabled: boolean, options?: ScreenShareCaptureOptions): Promise<LocalTrackPublication | undefined>;
         | 
| 49 | 
            +
                setScreenShareEnabled(enabled: boolean, options?: ScreenShareCaptureOptions, publishOptions?: TrackPublishOptions): Promise<LocalTrackPublication | undefined>;
         | 
| 50 50 | 
             
                /** @internal */
         | 
| 51 51 | 
             
                setPermissions(permissions: ParticipantPermission): boolean;
         | 
| 52 52 | 
             
                /**
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAEL,eAAe,EACf,eAAe,EACf,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,eAAe,EAGf,sBAAsB,EAEvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,qBAAqB,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EAEzB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAA0B,MAAM,8BAA8B,CAAC;AAElG,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAGpD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAEhD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAE3C,gBAAgB;IAChB,MAAM,EAAE,SAAS,CAAC;IAElB,OAAO,CAAC,iBAAiB,CAA2B;IAEpD,OAAO,CAAC,WAAW,CAAoB;IAEvC,OAAO,CAAC,eAAe,CAAoB;IAE3C,OAAO,CAAC,2BAA2B,CAAyC;IAE5E,OAAO,CAAC,iCAAiC,CAAiB;IAG1D,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,gBAAgB;gBACJ,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;IA8BlF,IAAI,eAAe,IAAI,KAAK,GAAG,SAAS,CAEvC;IAED,IAAI,mBAAmB,IAAI,KAAK,GAAG,SAAS,CAE3C;IAED,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAOjE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAO/D;;;;;OAKG;IACH,gBAAgB,CACd,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB, | 
| 1 | 
            +
            {"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"RemoteParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC; | 
| 1 | 
            +
            {"version":3,"file":"RemoteParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/RemoteParticipant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AACrE,OAAO,WAAW,EAAE,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAEvE,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,WAAW;IACxD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAEjD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAE5C,YAAY,EAAE,YAAY,CAAC;IAE3B,OAAO,CAAC,MAAM,CAAC,CAAS;IAExB,gBAAgB;IAChB,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,GAAG,iBAAiB;IAI9F,gBAAgB;gBACJ,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAQjE,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,sBAAsB;IA4BjE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOlE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS;IAOhE;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAQxB;;OAEG;IACH,SAAS;IAQT,gBAAgB;IAChB,uBAAuB,CACrB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,cAAc,EACzB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,SAAS,CAAC,EAAE,MAAM;IAsEpB,gBAAgB;IAChB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,sBAAsB,GAAG,SAAS;IAIvE,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,eAAe;IA8ChC,gBAAgB;IAChB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO;IA+BtD,gBAAgB;IAChB,IAAI,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC5C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAChD,OAAO;CAIX"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"LocalTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAMtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAgC,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IAC3C,gBAAgB;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,gBAAgB;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,SAAS,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE7C,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE5B,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC;IAE3B,SAAS,aACP,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAQ;IAW3B,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS,CAa7C;IAED,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,IAAI,gBAAgB,YAEnB;IAED,IAAI,cAAc,YAEjB;IAED;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW1C,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAK3B,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAK7B,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,UAAO,GAAG,OAAO,CAAC,UAAU,CAAC; | 
| 1 | 
            +
            {"version":3,"file":"LocalTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAMtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAgC,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IAC3C,gBAAgB;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,gBAAgB;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,SAAS,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAE7C,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE5B,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC;IAE3B,SAAS,aACP,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAQ;IAW3B,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS,CAa7C;IAED,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,IAAI,gBAAgB,YAEnB;IAED,IAAI,cAAc,YAEjB;IAED;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW1C,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAK3B,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAK7B,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,UAAO,GAAG,OAAO,CAAC,UAAU,CAAC;cAoC1E,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAmDjF,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO;IAWtC,SAAS,KAAK,kBAAkB,IAAI,OAAO,CAO1C;cAEe,0BAA0B;IAmB1C,OAAO,CAAC,WAAW,CAKjB;IAEI,aAAa;IAkBb,cAAc;CAerB"}
         | 
| @@ -5,7 +5,7 @@ import { RemoteTrack } from './types'; | |
| 5 5 | 
             
            export default class RemoteTrackPublication extends TrackPublication {
         | 
| 6 6 | 
             
                track?: RemoteTrack;
         | 
| 7 7 | 
             
                /** @internal */
         | 
| 8 | 
            -
                 | 
| 8 | 
            +
                protected allowed: boolean;
         | 
| 9 9 | 
             
                protected subscribed?: boolean;
         | 
| 10 10 | 
             
                protected disabled: boolean;
         | 
| 11 11 | 
             
                protected currentVideoQuality?: VideoQuality;
         | 
| @@ -41,7 +41,10 @@ export default class RemoteTrackPublication extends TrackPublication { | |
| 41 41 | 
             
                /** @internal */
         | 
| 42 42 | 
             
                setTrack(track?: Track): void;
         | 
| 43 43 | 
             
                /** @internal */
         | 
| 44 | 
            +
                setAllowed(allowed: boolean): void;
         | 
| 45 | 
            +
                /** @internal */
         | 
| 44 46 | 
             
                updateInfo(info: TrackInfo): void;
         | 
| 47 | 
            +
                private emitSubscriptionUpdateIfChanged;
         | 
| 45 48 | 
             
                private isManualOperationAllowed;
         | 
| 46 49 | 
             
                protected handleEnded: (track: RemoteTrack) => void;
         | 
| 47 50 | 
             
                protected get isAdaptiveStream(): boolean;
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"RemoteTrackPublication.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAIrE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,gBAAgB;IAClE,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,gBAAgB;IAChB, | 
| 1 | 
            +
            {"version":3,"file":"RemoteTrackPublication.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteTrackPublication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAIrE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,gBAAgB;IAClE,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,gBAAgB;IAChB,SAAS,CAAC,OAAO,UAAQ;IAGzB,SAAS,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE/B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAS;IAEpC,SAAS,CAAC,mBAAmB,CAAC,EAAE,YAAY,CAAqB;IAEjE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO;IAqBjC,IAAI,kBAAkB,IAAI,gBAAgB,CAAC,kBAAkB,CAQ5D;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,OAAO,CAK1B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO;IAS3B;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY;IAUrC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU;IAkB/C,IAAI,YAAY,IAAI,YAAY,GAAG,SAAS,CAE3C;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK;IA2BtB,gBAAgB;IAChB,UAAU,CAAC,OAAO,EAAE,OAAO;IAM3B,gBAAgB;IAChB,UAAU,CAAC,IAAI,EAAE,SAAS;IAM1B,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,wBAAwB;IAchC,SAAS,CAAC,WAAW,UAAW,WAAW,UAGzC;IAEF,SAAS,KAAK,gBAAgB,IAAI,OAAO,CAExC;IAED,SAAS,CAAC,sBAAsB,YAAa,OAAO,UAMlD;IAEF,SAAS,CAAC,2BAA2B,eAAgB,MAAM,UAAU,UAMnE;IAGF,eAAe;CAiBhB"}
         | 
    
        package/package.json
    CHANGED
    
    
    
        package/src/api/SignalClient.ts
    CHANGED
    
    | @@ -1,5 +1,5 @@ | |
| 1 | 
            -
            import 'webrtc-adapter';
         | 
| 2 1 | 
             
            import Queue from 'async-await-queue';
         | 
| 2 | 
            +
            import 'webrtc-adapter';
         | 
| 3 3 | 
             
            import log from '../logger';
         | 
| 4 4 | 
             
            import {
         | 
| 5 5 | 
             
              ClientInfo,
         | 
| @@ -37,6 +37,7 @@ interface ConnectOpts { | |
| 37 37 | 
             
              /** internal */
         | 
| 38 38 | 
             
              reconnect?: boolean;
         | 
| 39 39 |  | 
| 40 | 
            +
              /** @deprecated */
         | 
| 40 41 | 
             
              publishOnly?: string;
         | 
| 41 42 |  | 
| 42 43 | 
             
              adaptiveStream?: boolean;
         | 
| @@ -45,6 +46,7 @@ interface ConnectOpts { | |
| 45 46 | 
             
            // public options
         | 
| 46 47 | 
             
            export interface SignalOptions {
         | 
| 47 48 | 
             
              autoSubscribe?: boolean;
         | 
| 49 | 
            +
              /** @deprecated */
         | 
| 48 50 | 
             
              publishOnly?: string;
         | 
| 49 51 | 
             
              adaptiveStream?: boolean;
         | 
| 50 52 | 
             
            }
         | 
    
        package/src/options.ts
    CHANGED
    
    
    
        package/src/room/PCTransport.ts
    CHANGED
    
    | @@ -1,6 +1,13 @@ | |
| 1 1 | 
             
            import { debounce } from 'ts-debounce';
         | 
| 2 2 | 
             
            import log from '../logger';
         | 
| 3 3 |  | 
| 4 | 
            +
            /** @internal */
         | 
| 5 | 
            +
            interface TrackBitrateInfo {
         | 
| 6 | 
            +
              sid: string;
         | 
| 7 | 
            +
              codec: string;
         | 
| 8 | 
            +
              maxbr: number;
         | 
| 9 | 
            +
            }
         | 
| 10 | 
            +
             | 
| 4 11 | 
             
            /** @internal */
         | 
| 5 12 | 
             
            export default class PCTransport {
         | 
| 6 13 | 
             
              pc: RTCPeerConnection;
         | 
| @@ -11,6 +18,8 @@ export default class PCTransport { | |
| 11 18 |  | 
| 12 19 | 
             
              renegotiate: boolean = false;
         | 
| 13 20 |  | 
| 21 | 
            +
              trackBitrates: TrackBitrateInfo[] = [];
         | 
| 22 | 
            +
             | 
| 14 23 | 
             
              onOffer?: (offer: RTCSessionDescriptionInit) => void;
         | 
| 15 24 |  | 
| 16 25 | 
             
              constructor(config?: RTCConfiguration) {
         | 
| @@ -78,10 +87,40 @@ export default class PCTransport { | |
| 78 87 | 
             
                // actually negotiate
         | 
| 79 88 | 
             
                log.debug('starting to negotiate');
         | 
| 80 89 | 
             
                const offer = await this.pc.createOffer(options);
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                // mung sdp for codec bitrate setting that can't apply by sendEncoding
         | 
| 92 | 
            +
                this.trackBitrates.forEach((trackbr) => {
         | 
| 93 | 
            +
                  let sdp = offer.sdp ?? '';
         | 
| 94 | 
            +
                  const sidIndex = sdp.search(new RegExp(`msid.* ${trackbr.sid}`));
         | 
| 95 | 
            +
                  if (sidIndex < 0) {
         | 
| 96 | 
            +
                    return;
         | 
| 97 | 
            +
                  }
         | 
| 98 | 
            +
             | 
| 99 | 
            +
                  const mlineStart = sdp.substring(0, sidIndex).lastIndexOf('m=');
         | 
| 100 | 
            +
                  const mlineEnd = sdp.indexOf('m=', sidIndex);
         | 
| 101 | 
            +
                  const mediaSection = sdp.substring(mlineStart, mlineEnd);
         | 
| 102 | 
            +
             | 
| 103 | 
            +
                  const mungedMediaSection = mediaSection.replace(
         | 
| 104 | 
            +
                    new RegExp(`a=rtpmap:(\\d+) ${trackbr.codec}/\\d+`, 'i'),
         | 
| 105 | 
            +
                    '$'.concat(`&\r\na=fmtp:$1 x-google-max-bitrate=${trackbr.maxbr}`), // Unity replaces '$&' by some random values when building ( Using concat as a workaround )
         | 
| 106 | 
            +
                  );
         | 
| 107 | 
            +
                  sdp = sdp.substring(0, mlineStart) + mungedMediaSection + sdp.substring(mlineEnd);
         | 
| 108 | 
            +
                  offer.sdp = sdp;
         | 
| 109 | 
            +
                });
         | 
| 110 | 
            +
                this.trackBitrates = [];
         | 
| 111 | 
            +
             | 
| 81 112 | 
             
                await this.pc.setLocalDescription(offer);
         | 
| 82 113 | 
             
                this.onOffer(offer);
         | 
| 83 114 | 
             
              }
         | 
| 84 115 |  | 
| 116 | 
            +
              setTrackCodecBitrate(sid: string, codec: string, maxbr: number) {
         | 
| 117 | 
            +
                this.trackBitrates.push({
         | 
| 118 | 
            +
                  sid,
         | 
| 119 | 
            +
                  codec,
         | 
| 120 | 
            +
                  maxbr,
         | 
| 121 | 
            +
                });
         | 
| 122 | 
            +
              }
         | 
| 123 | 
            +
             | 
| 85 124 | 
             
              close() {
         | 
| 86 125 | 
             
                this.pc.close();
         | 
| 87 126 | 
             
              }
         | 
    
        package/src/room/RTCEngine.ts
    CHANGED
    
    | @@ -277,23 +277,8 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit | |
| 277 277 | 
             
                    this.emit(EngineEvent.MediaTrackAdded, track, ev.stream);
         | 
| 278 278 | 
             
                  };
         | 
| 279 279 | 
             
                }
         | 
| 280 | 
            -
                // data channels
         | 
| 281 | 
            -
                this.lossyDC = this.publisher.pc.createDataChannel(lossyDataChannel, {
         | 
| 282 | 
            -
                  // will drop older packets that arrive
         | 
| 283 | 
            -
                  ordered: true,
         | 
| 284 | 
            -
                  maxRetransmits: 0,
         | 
| 285 | 
            -
                });
         | 
| 286 | 
            -
                this.reliableDC = this.publisher.pc.createDataChannel(reliableDataChannel, {
         | 
| 287 | 
            -
                  ordered: true,
         | 
| 288 | 
            -
                });
         | 
| 289 280 |  | 
| 290 | 
            -
                 | 
| 291 | 
            -
                this.lossyDC.onmessage = this.handleDataMessage;
         | 
| 292 | 
            -
                this.reliableDC.onmessage = this.handleDataMessage;
         | 
| 293 | 
            -
             | 
| 294 | 
            -
                // handle datachannel errors
         | 
| 295 | 
            -
                this.lossyDC.onerror = this.handleDataError;
         | 
| 296 | 
            -
                this.reliableDC.onerror = this.handleDataError;
         | 
| 281 | 
            +
                this.createDataChannels();
         | 
| 297 282 |  | 
| 298 283 | 
             
                // configure signaling client
         | 
| 299 284 | 
             
                this.client.onAnswer = async (sd) => {
         | 
| @@ -368,6 +353,40 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit | |
| 368 353 | 
             
                };
         | 
| 369 354 | 
             
              }
         | 
| 370 355 |  | 
| 356 | 
            +
              private createDataChannels() {
         | 
| 357 | 
            +
                if (!this.publisher) {
         | 
| 358 | 
            +
                  return;
         | 
| 359 | 
            +
                }
         | 
| 360 | 
            +
             | 
| 361 | 
            +
                // clear old data channel callbacks if recreate
         | 
| 362 | 
            +
                if (this.lossyDC) {
         | 
| 363 | 
            +
                  this.lossyDC.onmessage = null;
         | 
| 364 | 
            +
                  this.lossyDC.onerror = null;
         | 
| 365 | 
            +
                }
         | 
| 366 | 
            +
                if (this.reliableDC) {
         | 
| 367 | 
            +
                  this.reliableDC.onmessage = null;
         | 
| 368 | 
            +
                  this.reliableDC.onerror = null;
         | 
| 369 | 
            +
                }
         | 
| 370 | 
            +
             | 
| 371 | 
            +
                // create data channels
         | 
| 372 | 
            +
                this.lossyDC = this.publisher.pc.createDataChannel(lossyDataChannel, {
         | 
| 373 | 
            +
                  // will drop older packets that arrive
         | 
| 374 | 
            +
                  ordered: true,
         | 
| 375 | 
            +
                  maxRetransmits: 0,
         | 
| 376 | 
            +
                });
         | 
| 377 | 
            +
                this.reliableDC = this.publisher.pc.createDataChannel(reliableDataChannel, {
         | 
| 378 | 
            +
                  ordered: true,
         | 
| 379 | 
            +
                });
         | 
| 380 | 
            +
             | 
| 381 | 
            +
                // also handle messages over the pub channel, for backwards compatibility
         | 
| 382 | 
            +
                this.lossyDC.onmessage = this.handleDataMessage;
         | 
| 383 | 
            +
                this.reliableDC.onmessage = this.handleDataMessage;
         | 
| 384 | 
            +
             | 
| 385 | 
            +
                // handle datachannel errors
         | 
| 386 | 
            +
                this.lossyDC.onerror = this.handleDataError;
         | 
| 387 | 
            +
                this.reliableDC.onerror = this.handleDataError;
         | 
| 388 | 
            +
              }
         | 
| 389 | 
            +
             | 
| 371 390 | 
             
              private handleDataChannel = async ({ channel }: RTCDataChannelEvent) => {
         | 
| 372 391 | 
             
                if (!channel) {
         | 
| 373 392 | 
             
                  return;
         | 
| @@ -563,6 +582,12 @@ export default class RTCEngine extends (EventEmitter as new () => TypedEventEmit | |
| 563 582 | 
             
                await this.waitForPCConnected();
         | 
| 564 583 | 
             
                this.client.setReconnected();
         | 
| 565 584 |  | 
| 585 | 
            +
                // recreate publish datachannel if it's id is null
         | 
| 586 | 
            +
                // (for safari https://bugs.webkit.org/show_bug.cgi?id=184688)
         | 
| 587 | 
            +
                if (this.reliableDC?.readyState === 'open' && this.reliableDC.id === null) {
         | 
| 588 | 
            +
                  this.createDataChannels();
         | 
| 589 | 
            +
                }
         | 
| 590 | 
            +
             | 
| 566 591 | 
             
                // resume success
         | 
| 567 592 | 
             
                this.emit(EngineEvent.Resumed);
         | 
| 568 593 | 
             
              }
         | 
    
        package/src/room/Room.ts
    CHANGED
    
    | @@ -358,7 +358,8 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>) | |
| 358 358 | 
             
              /**
         | 
| 359 359 | 
             
               * disconnects the room, emits [[RoomEvent.Disconnected]]
         | 
| 360 360 | 
             
               */
         | 
| 361 | 
            -
              disconnect = (stopTracks = true) => {
         | 
| 361 | 
            +
              disconnect = async (stopTracks = true) => {
         | 
| 362 | 
            +
                log.info('disconnect from room', { identity: this.localParticipant.identity });
         | 
| 362 363 | 
             
                if (this.state === ConnectionState.Connecting) {
         | 
| 363 364 | 
             
                  // try aborting pending connection attempt
         | 
| 364 365 | 
             
                  log.warn('abort connection attempt');
         | 
| @@ -367,14 +368,14 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>) | |
| 367 368 | 
             
                }
         | 
| 368 369 | 
             
                // send leave
         | 
| 369 370 | 
             
                if (this.engine?.client.isConnected) {
         | 
| 370 | 
            -
                  this.engine.client.sendLeave();
         | 
| 371 | 
            +
                  await this.engine.client.sendLeave();
         | 
| 371 372 | 
             
                }
         | 
| 372 373 | 
             
                // close engine (also closes client)
         | 
| 373 374 | 
             
                if (this.engine) {
         | 
| 374 375 | 
             
                  this.engine.close();
         | 
| 375 376 | 
             
                }
         | 
| 376 377 |  | 
| 377 | 
            -
                this.handleDisconnect(stopTracks);
         | 
| 378 | 
            +
                this.handleDisconnect(stopTracks, DisconnectReason.CLIENT_INITIATED);
         | 
| 378 379 | 
             
                /* @ts-ignore */
         | 
| 379 380 | 
             
                this.engine = undefined;
         | 
| 380 381 | 
             
              };
         | 
| @@ -647,6 +648,9 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>) | |
| 647 648 | 
             
              };
         | 
| 648 649 |  | 
| 649 650 | 
             
              private handleDisconnect(shouldStopTracks = true, reason?: DisconnectReason) {
         | 
| 651 | 
            +
                if (this.state === ConnectionState.Disconnected) {
         | 
| 652 | 
            +
                  return;
         | 
| 653 | 
            +
                }
         | 
| 650 654 | 
             
                this.participants.forEach((p) => {
         | 
| 651 655 | 
             
                  p.tracks.forEach((pub) => {
         | 
| 652 656 | 
             
                    p.unpublishTrack(pub.trackSid);
         | 
| @@ -662,6 +666,9 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>) | |
| 662 666 | 
             
                    pub.track?.stop();
         | 
| 663 667 | 
             
                  }
         | 
| 664 668 | 
             
                });
         | 
| 669 | 
            +
                this.localParticipant.tracks.clear();
         | 
| 670 | 
            +
                this.localParticipant.videoTracks.clear();
         | 
| 671 | 
            +
                this.localParticipant.audioTracks.clear();
         | 
| 665 672 |  | 
| 666 673 | 
             
                this.participants.clear();
         | 
| 667 674 | 
             
                this.activeSpeakers = [];
         | 
| @@ -823,18 +830,7 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>) | |
| 823 830 | 
             
                  return;
         | 
| 824 831 | 
             
                }
         | 
| 825 832 |  | 
| 826 | 
            -
                pub. | 
| 827 | 
            -
                participant.emit(
         | 
| 828 | 
            -
                  ParticipantEvent.TrackSubscriptionPermissionChanged,
         | 
| 829 | 
            -
                  pub,
         | 
| 830 | 
            -
                  pub.subscriptionStatus,
         | 
| 831 | 
            -
                );
         | 
| 832 | 
            -
                this.emitWhenConnected(
         | 
| 833 | 
            -
                  RoomEvent.TrackSubscriptionPermissionChanged,
         | 
| 834 | 
            -
                  pub,
         | 
| 835 | 
            -
                  pub.subscriptionStatus,
         | 
| 836 | 
            -
                  participant,
         | 
| 837 | 
            -
                );
         | 
| 833 | 
            +
                pub.setAllowed(update.allowed);
         | 
| 838 834 | 
             
              };
         | 
| 839 835 |  | 
| 840 836 | 
             
              private handleDataPacket = (userPacket: UserPacket, kind: DataPacket_Kind) => {
         | 
| @@ -971,7 +967,15 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>) | |
| 971 967 | 
             
                        participant,
         | 
| 972 968 | 
             
                      );
         | 
| 973 969 | 
             
                    },
         | 
| 974 | 
            -
                  ) | 
| 970 | 
            +
                  )
         | 
| 971 | 
            +
                  .on(ParticipantEvent.TrackSubscriptionPermissionChanged, (pub, status) => {
         | 
| 972 | 
            +
                    this.emitWhenConnected(
         | 
| 973 | 
            +
                      RoomEvent.TrackSubscriptionPermissionChanged,
         | 
| 974 | 
            +
                      pub,
         | 
| 975 | 
            +
                      status,
         | 
| 976 | 
            +
                      participant,
         | 
| 977 | 
            +
                    );
         | 
| 978 | 
            +
                  });
         | 
| 975 979 |  | 
| 976 980 | 
             
                // update info at the end after callbacks have been set up
         | 
| 977 981 | 
             
                if (info) {
         | 
    
        package/src/room/events.ts
    CHANGED
    
    | @@ -402,6 +402,8 @@ export enum TrackEvent { | |
| 402 402 | 
             
              Muted = 'muted',
         | 
| 403 403 | 
             
              Unmuted = 'unmuted',
         | 
| 404 404 | 
             
              Ended = 'ended',
         | 
| 405 | 
            +
              Subscribed = 'subscribed',
         | 
| 406 | 
            +
              Unsubscribed = 'unsubscribed',
         | 
| 405 407 | 
             
              /** @internal */
         | 
| 406 408 | 
             
              UpdateSettings = 'updateSettings',
         | 
| 407 409 | 
             
              /** @internal */
         | 
| @@ -433,4 +435,9 @@ export enum TrackEvent { | |
| 433 435 | 
             
               * Only fires on LocalTracks
         | 
| 434 436 | 
             
               */
         | 
| 435 437 | 
             
              UpstreamResumed = 'upstreamResumed',
         | 
| 438 | 
            +
              /**
         | 
| 439 | 
            +
               * @internal
         | 
| 440 | 
            +
               * Fires on RemoteTrackPublication
         | 
| 441 | 
            +
               */
         | 
| 442 | 
            +
              SubscriptionPermissionChanged = 'subscriptionPermissionChanged',
         | 
| 436 443 | 
             
            }
         |