livekit-client 1.1.2 → 1.1.3
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 +76 -26
- 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/room/Room.d.ts +1 -0
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
- package/dist/src/room/track/RemoteVideoTrack.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/room/Room.ts +40 -7
- package/src/room/participant/RemoteParticipant.ts +5 -11
- package/src/room/track/RemoteVideoTrack.ts +30 -2
package/dist/src/room/Room.d.ts
CHANGED
@@ -135,6 +135,7 @@ declare class Room extends Room_base {
|
|
135
135
|
*/
|
136
136
|
private updateSubscriptions;
|
137
137
|
private setAndEmitConnectionState;
|
138
|
+
private emitWhenConnected;
|
138
139
|
emit<E extends keyof RoomEventCallbacks>(event: E, ...args: Parameters<RoomEventCallbacks[E]>): boolean;
|
139
140
|
}
|
140
141
|
export default Room;
|
@@ -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,EAGf,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;;;OAGG;gBACS,OAAO,CAAC,EAAE,WAAW;IAwBjC,OAAO,CAAC,YAAY;IA8CpB;;;;;;;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,sEAyIzC;IAEF;;OAEG;IACH,UAAU,iCAmBR;IAEF;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAUnE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAwCjC,OAAO,CAAC,cAAc,CAEpB;IAEF;;;;;;OAMG;IACG,UAAU;IAuBhB;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;;;;;;;;OASG;IACG,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM;IAoChE,OAAO,CAAC,YAAY;
|
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,EAGf,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;;;OAGG;gBACS,OAAO,CAAC,EAAE,WAAW;IAwBjC,OAAO,CAAC,YAAY;IA8CpB;;;;;;;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,sEAyIzC;IAEF;;OAEG;IACH,UAAU,iCAmBR;IAEF;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAUnE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAwCjC,OAAO,CAAC,cAAc,CAEpB;IAEF;;;;;;OAMG;IACG,UAAU;IAuBhB;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;;;;;;;;OASG;IACG,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM;IAoChE,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,eAAe,CAwCrB;IAEF,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,wBAAwB,CAmC9B;IAEF,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,0BAA0B,CAgChC;IAGF,OAAO,CAAC,qBAAqB,CA0B3B;IAEF,OAAO,CAAC,uBAAuB,CAc7B;IAEF,OAAO,CAAC,kCAAkC,CAsBxC;IAEF,OAAO,CAAC,gBAAgB,CAQtB;IAEF,OAAO,CAAC,0BAA0B,CAMhC;IAEF,OAAO,CAAC,yBAAyB,CAO/B;IAEF,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,gBAAgB,CAGtB;IAEF,OAAO,CAAC,6BAA6B,CAWnC;IAEF,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,sBAAsB;IAwE9B,OAAO,CAAC,aAAa;IAuCrB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,iBAAiB;IAWzB,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACrC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACzC,OAAO;CAIX;AAED,eAAe,IAAI,CAAC;AAEpB,oBAAY,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,0EAA0E;IAC1E,YAAY,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/C,sBAAsB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,oBAAoB,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/D,uBAAuB,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClE,cAAc,EAAE,CAAC,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9F,eAAe,EAAE,CACf,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,sBAAsB,EACnC,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACpF,gBAAgB,EAAE,CAAC,WAAW,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChG,iBAAiB,EAAE,CACjB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,sBAAsB,EACnC,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,UAAU,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9E,YAAY,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAChF,mBAAmB,EAAE,CAAC,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjG,qBAAqB,EAAE,CACrB,WAAW,EAAE,qBAAqB,EAClC,WAAW,EAAE,gBAAgB,KAC1B,IAAI,CAAC;IACV,0BAA0B,EAAE,CAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,KAC9C,IAAI,CAAC;IACV,6BAA6B,EAAE,CAC7B,eAAe,EAAE,qBAAqB,EACtC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,KAC9C,IAAI,CAAC;IACV,qBAAqB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9D,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,YAAY,EAAE,CACZ,OAAO,EAAE,UAAU,EACnB,WAAW,CAAC,EAAE,iBAAiB,EAC/B,IAAI,CAAC,EAAE,eAAe,KACnB,IAAI,CAAC;IACV,wBAAwB,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACzF,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC1C,uBAAuB,EAAE,CACvB,WAAW,EAAE,sBAAsB,EACnC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,kCAAkC,EAAE,CAClC,WAAW,EAAE,sBAAsB,EACnC,MAAM,EAAE,gBAAgB,CAAC,kBAAkB,EAC3C,WAAW,EAAE,iBAAiB,KAC3B,IAAI,CAAC;IACV,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC"}
|
@@ -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;AACvC,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;
|
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;AACvC,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;IAmBjE,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;IAuEpB,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;IA0ChC,gBAAgB;IAChB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO;IAoCtD,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":"RemoteVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"AAKA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,gBAAgB;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,sBAAsB,CAAC,CAAyB;IAExD,OAAO,CAAC,WAAW,CAAC,CAAU;IAE9B,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,OAAO,CAAC,aAAa,CAAkB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,cAAc,EACzB,sBAAsB,CAAC,EAAE,sBAAsB;IASjD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,gBAAgB,qBAOnB;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,OAAO;IAavB,MAAM,IAAI,gBAAgB;IAC1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAqBnD;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,EAAE,WAAW;
|
1
|
+
{"version":3,"file":"RemoteVideoTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"AAKA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAIjD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACvD,gBAAgB;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,OAAO,CAAC,SAAS,CAAC,CAAqB;IAEvC,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,sBAAsB,CAAC,CAAyB;IAExD,OAAO,CAAC,WAAW,CAAC,CAAU;IAE9B,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,OAAO,CAAC,aAAa,CAAkB;gBAGrC,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,cAAc,EACzB,sBAAsB,CAAC,EAAE,sBAAsB;IASjD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,gBAAgB,qBAOnB;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAK,EAAE,OAAO;IAavB,MAAM,IAAI,gBAAgB;IAC1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAqBnD;;;;OAIG;IACH,kBAAkB,CAAC,WAAW,EAAE,WAAW;IAuB3C;;;;OAIG;IACH,wBAAwB,CAAC,WAAW,EAAE,WAAW;IASjD,MAAM,IAAI,gBAAgB,EAAE;IAC5B,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAgBnD,gBAAgB;IAChB,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAI9C,SAAS,CAAC,eAAe,sBAevB;YAEY,gBAAgB;IA+B9B,OAAO,CAAC,oBAAoB;cAQZ,0BAA0B;IAM1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAEnB;IAEnB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,gBAAgB;CAyBzB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,IAAI,MAAM,CAAC;IAChB,MAAM,IAAI,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,aAAa,IAAI,IAAI,CAAC;CACvB"}
|
package/package.json
CHANGED
package/src/room/Room.ts
CHANGED
@@ -500,6 +500,20 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
500
500
|
stream: MediaStream,
|
501
501
|
receiver?: RTCRtpReceiver,
|
502
502
|
) {
|
503
|
+
// don't fire onSubscribed when connecting
|
504
|
+
// WebRTC fires onTrack as soon as setRemoteDescription is called on the offer
|
505
|
+
// at that time, ICE connectivity has not been established so the track is not
|
506
|
+
// technically subscribed.
|
507
|
+
// We'll defer these events until when the room is connected or eventually disconnected.
|
508
|
+
if (this.state === ConnectionState.Connecting || this.state === ConnectionState.Reconnecting) {
|
509
|
+
setTimeout(() => {
|
510
|
+
this.onTrackAdded(mediaTrack, stream, receiver);
|
511
|
+
}, 10);
|
512
|
+
return;
|
513
|
+
}
|
514
|
+
if (this.state === ConnectionState.Disconnected) {
|
515
|
+
log.warn('skipping incoming track after Room disconnected');
|
516
|
+
}
|
503
517
|
const parts = unpackStreamId(stream.id);
|
504
518
|
const participantId = parts[0];
|
505
519
|
let trackId = parts[1];
|
@@ -850,7 +864,7 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
850
864
|
// and remote participant joined the room
|
851
865
|
participant
|
852
866
|
.on(ParticipantEvent.TrackPublished, (trackPublication: RemoteTrackPublication) => {
|
853
|
-
this.
|
867
|
+
this.emitWhenConnected(RoomEvent.TrackPublished, trackPublication, participant);
|
854
868
|
})
|
855
869
|
.on(
|
856
870
|
ParticipantEvent.TrackSubscribed,
|
@@ -864,7 +878,7 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
864
878
|
},
|
865
879
|
)
|
866
880
|
.on(ParticipantEvent.TrackUnpublished, (publication: RemoteTrackPublication) => {
|
867
|
-
this.
|
881
|
+
this.emitWhenConnected(RoomEvent.TrackUnpublished, publication, participant);
|
868
882
|
})
|
869
883
|
.on(
|
870
884
|
ParticipantEvent.TrackUnsubscribed,
|
@@ -876,23 +890,32 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
876
890
|
this.emit(RoomEvent.TrackSubscriptionFailed, sid, participant);
|
877
891
|
})
|
878
892
|
.on(ParticipantEvent.TrackMuted, (pub: TrackPublication) => {
|
879
|
-
this.
|
893
|
+
this.emitWhenConnected(RoomEvent.TrackMuted, pub, participant);
|
880
894
|
})
|
881
895
|
.on(ParticipantEvent.TrackUnmuted, (pub: TrackPublication) => {
|
882
|
-
this.
|
896
|
+
this.emitWhenConnected(RoomEvent.TrackUnmuted, pub, participant);
|
883
897
|
})
|
884
898
|
.on(ParticipantEvent.ParticipantMetadataChanged, (metadata: string | undefined) => {
|
885
|
-
this.
|
899
|
+
this.emitWhenConnected(RoomEvent.ParticipantMetadataChanged, metadata, participant);
|
886
900
|
})
|
887
901
|
.on(ParticipantEvent.ConnectionQualityChanged, (quality: ConnectionQuality) => {
|
888
|
-
this.
|
902
|
+
this.emitWhenConnected(RoomEvent.ConnectionQualityChanged, quality, participant);
|
889
903
|
})
|
890
904
|
.on(
|
891
905
|
ParticipantEvent.ParticipantPermissionsChanged,
|
892
906
|
(prevPermissions: ParticipantPermission) => {
|
893
|
-
this.
|
907
|
+
this.emitWhenConnected(
|
908
|
+
RoomEvent.ParticipantPermissionsChanged,
|
909
|
+
prevPermissions,
|
910
|
+
participant,
|
911
|
+
);
|
894
912
|
},
|
895
913
|
);
|
914
|
+
|
915
|
+
// update info at the end after callbacks have been set up
|
916
|
+
if (info) {
|
917
|
+
participant.updateInfo(info);
|
918
|
+
}
|
896
919
|
return participant;
|
897
920
|
}
|
898
921
|
|
@@ -959,6 +982,16 @@ class Room extends (EventEmitter as new () => TypedEmitter<RoomEventCallbacks>)
|
|
959
982
|
return true;
|
960
983
|
}
|
961
984
|
|
985
|
+
private emitWhenConnected<E extends keyof RoomEventCallbacks>(
|
986
|
+
event: E,
|
987
|
+
...args: Parameters<RoomEventCallbacks[E]>
|
988
|
+
): boolean {
|
989
|
+
if (this.state === ConnectionState.Connected) {
|
990
|
+
return this.emit(event, ...args);
|
991
|
+
}
|
992
|
+
return false;
|
993
|
+
}
|
994
|
+
|
962
995
|
// /** @internal */
|
963
996
|
emit<E extends keyof RoomEventCallbacks>(
|
964
997
|
event: E,
|
@@ -23,9 +23,7 @@ export default class RemoteParticipant extends Participant {
|
|
23
23
|
|
24
24
|
/** @internal */
|
25
25
|
static fromParticipantInfo(signalClient: SignalClient, pi: ParticipantInfo): RemoteParticipant {
|
26
|
-
|
27
|
-
rp.updateInfo(pi);
|
28
|
-
return rp;
|
26
|
+
return new RemoteParticipant(signalClient, pi.sid, pi.identity);
|
29
27
|
}
|
30
28
|
|
31
29
|
/** @internal */
|
@@ -182,8 +180,6 @@ export default class RemoteParticipant extends Participant {
|
|
182
180
|
|
183
181
|
/** @internal */
|
184
182
|
updateInfo(info: ParticipantInfo) {
|
185
|
-
const alreadyHasMetadata = this.hasMetadata;
|
186
|
-
|
187
183
|
super.updateInfo(info);
|
188
184
|
|
189
185
|
// we are getting a list of all available tracks, reconcile in here
|
@@ -212,12 +208,10 @@ export default class RemoteParticipant extends Participant {
|
|
212
208
|
validTracks.set(ti.sid, publication);
|
213
209
|
});
|
214
210
|
|
215
|
-
//
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
});
|
220
|
-
}
|
211
|
+
// always emit events for new publications, Room will not forward them unless it's ready
|
212
|
+
newTracks.forEach((publication) => {
|
213
|
+
this.emit(ParticipantEvent.TrackPublished, publication);
|
214
|
+
});
|
221
215
|
|
222
216
|
// detect removed tracks
|
223
217
|
this.tracks.forEach((publication) => {
|
@@ -110,6 +110,8 @@ export default class RemoteVideoTrack extends RemoteTrack {
|
|
110
110
|
// the tab comes into focus for the first time.
|
111
111
|
this.debouncedHandleResize();
|
112
112
|
this.updateVisibility();
|
113
|
+
} else {
|
114
|
+
log.warn('visibility resize observer not triggered');
|
113
115
|
}
|
114
116
|
}
|
115
117
|
|
@@ -294,9 +296,9 @@ class HTMLElementInfo implements ElementInfo {
|
|
294
296
|
|
295
297
|
handleVisibilityChanged?: () => void;
|
296
298
|
|
297
|
-
constructor(element: HTMLMediaElement, visible
|
299
|
+
constructor(element: HTMLMediaElement, visible?: boolean) {
|
298
300
|
this.element = element;
|
299
|
-
this.visible = visible;
|
301
|
+
this.visible = visible ?? isElementInViewport(element);
|
300
302
|
this.visibilityChangedAt = 0;
|
301
303
|
}
|
302
304
|
|
@@ -332,3 +334,29 @@ class HTMLElementInfo implements ElementInfo {
|
|
332
334
|
getResizeObserver()?.unobserve(this.element);
|
333
335
|
}
|
334
336
|
}
|
337
|
+
|
338
|
+
// does not account for occlusion by other elements
|
339
|
+
function isElementInViewport(el: HTMLElement) {
|
340
|
+
let top = el.offsetTop;
|
341
|
+
let left = el.offsetLeft;
|
342
|
+
const width = el.offsetWidth;
|
343
|
+
const height = el.offsetHeight;
|
344
|
+
const { hidden } = el;
|
345
|
+
const { opacity, display } = getComputedStyle(el);
|
346
|
+
|
347
|
+
while (el.offsetParent) {
|
348
|
+
el = el.offsetParent as HTMLElement;
|
349
|
+
top += el.offsetTop;
|
350
|
+
left += el.offsetLeft;
|
351
|
+
}
|
352
|
+
|
353
|
+
return (
|
354
|
+
top < window.pageYOffset + window.innerHeight &&
|
355
|
+
left < window.pageXOffset + window.innerWidth &&
|
356
|
+
top + height > window.pageYOffset &&
|
357
|
+
left + width > window.pageXOffset &&
|
358
|
+
!hidden &&
|
359
|
+
(opacity !== '' ? parseFloat(opacity) > 0 : true) &&
|
360
|
+
display !== 'none'
|
361
|
+
);
|
362
|
+
}
|