livekit-client 1.1.8 → 1.1.9
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/README.md +1 -0
 - package/dist/livekit-client.esm.mjs +460 -118
 - 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 +2 -1
 - package/dist/src/api/SignalClient.d.ts.map +1 -1
 - package/dist/src/index.d.ts +4 -3
 - package/dist/src/index.d.ts.map +1 -1
 - package/dist/src/proto/livekit_models.d.ts +234 -0
 - package/dist/src/proto/livekit_models.d.ts.map +1 -1
 - package/dist/src/proto/livekit_rtc.d.ts +944 -6
 - package/dist/src/proto/livekit_rtc.d.ts.map +1 -1
 - package/dist/src/room/RTCEngine.d.ts +2 -2
 - package/dist/src/room/RTCEngine.d.ts.map +1 -1
 - package/dist/src/room/Room.d.ts +2 -2
 - package/dist/src/room/Room.d.ts.map +1 -1
 - package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
 - package/dist/src/room/track/LocalTrack.d.ts +2 -0
 - package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
 - package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
 - package/dist/src/room/track/RemoteTrack.d.ts.map +1 -1
 - package/package.json +3 -1
 - package/src/api/SignalClient.ts +19 -6
 - package/src/index.ts +6 -2
 - package/src/proto/livekit_models.ts +179 -4
 - package/src/proto/livekit_rtc.ts +14 -1
 - package/src/room/RTCEngine.ts +3 -2
 - package/src/room/Room.ts +10 -8
 - package/src/room/track/LocalAudioTrack.ts +16 -12
 - package/src/room/track/LocalTrack.ts +37 -25
 - package/src/room/track/LocalVideoTrack.ts +15 -11
 - package/src/room/track/RemoteTrack.ts +1 -0
 - package/dist/src/api/RequestQueue.d.ts +0 -13
 - package/dist/src/api/RequestQueue.d.ts.map +0 -1
 - package/src/api/RequestQueue.ts +0 -53
 
| 
         @@ -86,21 +86,25 @@ export default class LocalVideoTrack extends LocalTrack { 
     | 
|
| 
       86 
86 
     | 
    
         
             
              }
         
     | 
| 
       87 
87 
     | 
    
         | 
| 
       88 
88 
     | 
    
         
             
              async mute(): Promise<LocalVideoTrack> {
         
     | 
| 
       89 
     | 
    
         
            -
                 
     | 
| 
       90 
     | 
    
         
            -
                   
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
      
 89 
     | 
    
         
            +
                await this.muteQueue.run(async () => {
         
     | 
| 
      
 90 
     | 
    
         
            +
                  if (this.source === Track.Source.Camera && !this.isUserProvided) {
         
     | 
| 
      
 91 
     | 
    
         
            +
                    log.debug('stopping camera track');
         
     | 
| 
      
 92 
     | 
    
         
            +
                    // also stop the track, so that camera indicator is turned off
         
     | 
| 
      
 93 
     | 
    
         
            +
                    this._mediaStreamTrack.stop();
         
     | 
| 
      
 94 
     | 
    
         
            +
                  }
         
     | 
| 
      
 95 
     | 
    
         
            +
                  await super.mute();
         
     | 
| 
      
 96 
     | 
    
         
            +
                });
         
     | 
| 
       95 
97 
     | 
    
         
             
                return this;
         
     | 
| 
       96 
98 
     | 
    
         
             
              }
         
     | 
| 
       97 
99 
     | 
    
         | 
| 
       98 
100 
     | 
    
         
             
              async unmute(): Promise<LocalVideoTrack> {
         
     | 
| 
       99 
     | 
    
         
            -
                 
     | 
| 
       100 
     | 
    
         
            -
                   
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
      
 101 
     | 
    
         
            +
                await this.muteQueue.run(async () => {
         
     | 
| 
      
 102 
     | 
    
         
            +
                  if (this.source === Track.Source.Camera && !this.isUserProvided) {
         
     | 
| 
      
 103 
     | 
    
         
            +
                    log.debug('reacquiring camera track');
         
     | 
| 
      
 104 
     | 
    
         
            +
                    await this.restartTrack();
         
     | 
| 
      
 105 
     | 
    
         
            +
                  }
         
     | 
| 
      
 106 
     | 
    
         
            +
                  await super.unmute();
         
     | 
| 
      
 107 
     | 
    
         
            +
                });
         
     | 
| 
       104 
108 
     | 
    
         
             
                return this;
         
     | 
| 
       105 
109 
     | 
    
         
             
              }
         
     | 
| 
       106 
110 
     | 
    
         | 
| 
         @@ -21,6 +21,7 @@ export default abstract class RemoteTrack extends Track { 
     | 
|
| 
       21 
21 
     | 
    
         
             
              setMuted(muted: boolean) {
         
     | 
| 
       22 
22 
     | 
    
         
             
                if (this.isMuted !== muted) {
         
     | 
| 
       23 
23 
     | 
    
         
             
                  this.isMuted = muted;
         
     | 
| 
      
 24 
     | 
    
         
            +
                  this._mediaStreamTrack.enabled = !muted;
         
     | 
| 
       24 
25 
     | 
    
         
             
                  this.emit(muted ? TrackEvent.Muted : TrackEvent.Unmuted, this);
         
     | 
| 
       25 
26 
     | 
    
         
             
                }
         
     | 
| 
       26 
27 
     | 
    
         
             
              }
         
     | 
| 
         @@ -1,13 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            export default class Queue {
         
     | 
| 
       2 
     | 
    
         
            -
                private queue;
         
     | 
| 
       3 
     | 
    
         
            -
                private running;
         
     | 
| 
       4 
     | 
    
         
            -
                constructor();
         
     | 
| 
       5 
     | 
    
         
            -
                enqueue(cb: () => void): void;
         
     | 
| 
       6 
     | 
    
         
            -
                dequeue(): void;
         
     | 
| 
       7 
     | 
    
         
            -
                run(): Promise<void>;
         
     | 
| 
       8 
     | 
    
         
            -
                pause(): void;
         
     | 
| 
       9 
     | 
    
         
            -
                reset(): void;
         
     | 
| 
       10 
     | 
    
         
            -
                isRunning(): boolean;
         
     | 
| 
       11 
     | 
    
         
            -
                isEmpty(): boolean;
         
     | 
| 
       12 
     | 
    
         
            -
            }
         
     | 
| 
       13 
     | 
    
         
            -
            //# sourceMappingURL=RequestQueue.d.ts.map
         
     | 
| 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"RequestQueue.d.ts","sourceRoot":"","sources":["../../../src/api/RequestQueue.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,OAAO,CAAC,KAAK,CAAoB;IAEjC,OAAO,CAAC,OAAO,CAAU;;IAOzB,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI;IAKtB,OAAO;IAMD,GAAG;IAWT,KAAK;IAKL,KAAK;IAML,SAAS;IAIT,OAAO;CAGR"}
         
     | 
    
        package/src/api/RequestQueue.ts
    DELETED
    
    | 
         @@ -1,53 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            import log from '../logger';
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            export default class Queue {
         
     | 
| 
       4 
     | 
    
         
            -
              private queue: Array<() => void>;
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              private running: boolean;
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              constructor() {
         
     | 
| 
       9 
     | 
    
         
            -
                this.queue = [];
         
     | 
| 
       10 
     | 
    
         
            -
                this.running = false;
         
     | 
| 
       11 
     | 
    
         
            -
              }
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
              enqueue(cb: () => void) {
         
     | 
| 
       14 
     | 
    
         
            -
                log.trace('enqueuing request to fire later');
         
     | 
| 
       15 
     | 
    
         
            -
                this.queue.push(cb);
         
     | 
| 
       16 
     | 
    
         
            -
              }
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
              dequeue() {
         
     | 
| 
       19 
     | 
    
         
            -
                const evt = this.queue.shift();
         
     | 
| 
       20 
     | 
    
         
            -
                if (evt) evt();
         
     | 
| 
       21 
     | 
    
         
            -
                log.trace('firing request from queue');
         
     | 
| 
       22 
     | 
    
         
            -
              }
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              async run() {
         
     | 
| 
       25 
     | 
    
         
            -
                if (this.running) return;
         
     | 
| 
       26 
     | 
    
         
            -
                log.trace('start queue');
         
     | 
| 
       27 
     | 
    
         
            -
                this.running = true;
         
     | 
| 
       28 
     | 
    
         
            -
                while (this.running && this.queue.length > 0) {
         
     | 
| 
       29 
     | 
    
         
            -
                  this.dequeue();
         
     | 
| 
       30 
     | 
    
         
            -
                }
         
     | 
| 
       31 
     | 
    
         
            -
                this.running = false;
         
     | 
| 
       32 
     | 
    
         
            -
                log.trace('queue finished');
         
     | 
| 
       33 
     | 
    
         
            -
              }
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
              pause() {
         
     | 
| 
       36 
     | 
    
         
            -
                log.trace('pausing queue');
         
     | 
| 
       37 
     | 
    
         
            -
                this.running = false;
         
     | 
| 
       38 
     | 
    
         
            -
              }
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
              reset() {
         
     | 
| 
       41 
     | 
    
         
            -
                log.trace('resetting queue');
         
     | 
| 
       42 
     | 
    
         
            -
                this.running = false;
         
     | 
| 
       43 
     | 
    
         
            -
                this.queue = [];
         
     | 
| 
       44 
     | 
    
         
            -
              }
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
              isRunning() {
         
     | 
| 
       47 
     | 
    
         
            -
                return this.running;
         
     | 
| 
       48 
     | 
    
         
            -
              }
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
              isEmpty() {
         
     | 
| 
       51 
     | 
    
         
            -
                return this.queue.length === 0;
         
     | 
| 
       52 
     | 
    
         
            -
              }
         
     | 
| 
       53 
     | 
    
         
            -
            }
         
     |