@observertc/observer-js 1.0.1-4416b1e.0 → 1.0.1-4daea92.0
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/lib/ObservedCall.d.ts +2 -0
- package/lib/ObservedCall.d.ts.map +1 -1
- package/lib/ObservedCall.js +4 -0
- package/lib/ObservedCallEventMonitor.d.ts +103 -0
- package/lib/ObservedCallEventMonitor.d.ts.map +1 -0
- package/lib/ObservedCallEventMonitor.js +312 -0
- package/lib/ObservedClient.d.ts +10 -3
- package/lib/ObservedClient.d.ts.map +1 -1
- package/lib/ObservedClient.js +73 -3
- package/lib/Observer.d.ts +2 -0
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +10 -2
- package/lib/ObserverEventMonitor.d.ts +106 -0
- package/lib/ObserverEventMonitor.d.ts.map +1 -0
- package/lib/ObserverEventMonitor.js +320 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/schema/ClientEventTypes.d.ts +60 -0
- package/lib/schema/ClientEventTypes.d.ts.map +1 -1
- package/lib/updaters/{OnAllCallObserverUpdater_.d.ts → OnAllCallObserverUpdater.d.ts} +3 -1
- package/lib/updaters/OnAllCallObserverUpdater.d.ts.map +1 -0
- package/lib/updaters/{OnAllCallObserverUpdater_.js → OnAllCallObserverUpdater.js} +13 -1
- package/lib/updaters/OnAllClientCallUpdater.d.ts +2 -0
- package/lib/updaters/OnAllClientCallUpdater.d.ts.map +1 -1
- package/lib/updaters/OnAllClientCallUpdater.js +16 -0
- package/lib/updaters/{OnAnyCallObserverUpdater_.d.ts → OnAnyCallObserverUpdater.d.ts} +2 -1
- package/lib/updaters/OnAnyCallObserverUpdater.d.ts.map +1 -0
- package/lib/updaters/{OnAnyCallObserverUpdater_.js → OnAnyCallObserverUpdater.js} +11 -1
- package/lib/updaters/OnAnyClientCallUpdater.d.ts +1 -0
- package/lib/updaters/OnAnyClientCallUpdater.d.ts.map +1 -1
- package/lib/updaters/OnAnyClientCallUpdater.js +11 -2
- package/lib/utils/MediasoupRemoteTrackResolver.d.ts +25 -0
- package/lib/utils/MediasoupRemoteTrackResolver.d.ts.map +1 -0
- package/lib/utils/MediasoupRemoteTrackResolver.js +110 -0
- package/package.json +1 -1
- package/src/ObservedCall.ts +5 -0
- package/src/ObservedCallEventMonitor.ts +389 -0
- package/src/ObservedClient.ts +88 -5
- package/src/Observer.ts +12 -3
- package/src/ObserverEventMonitor.ts +398 -0
- package/src/index.ts +1 -0
- package/src/schema/ClientEventTypes.ts +64 -0
- package/src/updaters/{OnAllCallObserverUpdater_.ts → OnAllCallObserverUpdater.ts} +14 -1
- package/src/updaters/OnAllClientCallUpdater.ts +15 -0
- package/src/updaters/{OnAnyCallObserverUpdater_.ts → OnAnyCallObserverUpdater.ts} +11 -2
- package/src/updaters/OnAnyClientCallUpdater.ts +9 -2
- package/src/utils/MediasoupRemoteTrackResolver.ts +155 -0
- package/lib/updaters/OnAllCallObserverUpdater_.d.ts.map +0 -1
- package/lib/updaters/OnAnyCallObserverUpdater_.d.ts.map +0 -1
|
@@ -1,3 +1,62 @@
|
|
|
1
|
+
interface DoubleRange {
|
|
2
|
+
max?: number;
|
|
3
|
+
min?: number;
|
|
4
|
+
}
|
|
5
|
+
interface ULongRange {
|
|
6
|
+
max?: number;
|
|
7
|
+
min?: number;
|
|
8
|
+
}
|
|
9
|
+
interface MediaTrackConstraints {
|
|
10
|
+
aspectRatio?: DoubleRange;
|
|
11
|
+
autoGainControl?: boolean[];
|
|
12
|
+
backgroundBlur?: boolean[];
|
|
13
|
+
channelCount?: ULongRange;
|
|
14
|
+
deviceId?: string;
|
|
15
|
+
displaySurface?: string;
|
|
16
|
+
echoCancellation?: boolean[];
|
|
17
|
+
facingMode?: string[];
|
|
18
|
+
frameRate?: DoubleRange;
|
|
19
|
+
groupId?: string;
|
|
20
|
+
height?: ULongRange;
|
|
21
|
+
noiseSuppression?: boolean[];
|
|
22
|
+
sampleRate?: ULongRange;
|
|
23
|
+
sampleSize?: ULongRange;
|
|
24
|
+
width?: ULongRange;
|
|
25
|
+
}
|
|
26
|
+
interface MediaTrackCapabilities {
|
|
27
|
+
aspectRatio?: DoubleRange;
|
|
28
|
+
autoGainControl?: boolean[];
|
|
29
|
+
backgroundBlur?: boolean[];
|
|
30
|
+
channelCount?: ULongRange;
|
|
31
|
+
deviceId?: string;
|
|
32
|
+
displaySurface?: string;
|
|
33
|
+
echoCancellation?: boolean[];
|
|
34
|
+
facingMode?: string[];
|
|
35
|
+
frameRate?: DoubleRange;
|
|
36
|
+
groupId?: string;
|
|
37
|
+
height?: ULongRange;
|
|
38
|
+
noiseSuppression?: boolean[];
|
|
39
|
+
sampleRate?: ULongRange;
|
|
40
|
+
sampleSize?: ULongRange;
|
|
41
|
+
width?: ULongRange;
|
|
42
|
+
}
|
|
43
|
+
interface MediaTrackSettings {
|
|
44
|
+
aspectRatio?: number;
|
|
45
|
+
autoGainControl?: boolean;
|
|
46
|
+
backgroundBlur?: boolean;
|
|
47
|
+
channelCount?: number;
|
|
48
|
+
deviceId?: string;
|
|
49
|
+
displaySurface?: string;
|
|
50
|
+
echoCancellation?: boolean;
|
|
51
|
+
facingMode?: string;
|
|
52
|
+
frameRate?: number;
|
|
53
|
+
groupId?: string;
|
|
54
|
+
height?: number;
|
|
55
|
+
noiseSuppression?: boolean;
|
|
56
|
+
sampleRate?: number;
|
|
57
|
+
sampleSize?: number;
|
|
58
|
+
width?: number;
|
|
59
|
+
}
|
|
1
60
|
export declare enum ClientEventTypes {
|
|
2
61
|
CLIENT_JOINED = "CLIENT_JOINED",
|
|
3
62
|
CLIENT_LEFT = "CLIENT_LEFT",
|
|
@@ -97,4 +156,5 @@ export interface DataChannelClosedEventPayload extends Record<string, unknown> {
|
|
|
97
156
|
readyState: string;
|
|
98
157
|
dataChannelId: string;
|
|
99
158
|
}
|
|
159
|
+
export {};
|
|
100
160
|
//# sourceMappingURL=ClientEventTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientEventTypes.d.ts","sourceRoot":"","sources":["../../src/schema/ClientEventTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ClientEventTypes.d.ts","sourceRoot":"","sources":["../../src/schema/ClientEventTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,11 @@ export declare class OnAllCallObserverUpdater implements Updater {
|
|
|
5
5
|
readonly name = "OnAllCallObserverUpdater";
|
|
6
6
|
readonly description = "Call Observer's update() method when all of the ObservedCalls are updated";
|
|
7
7
|
private readonly _updatedCalls;
|
|
8
|
+
closed: boolean;
|
|
8
9
|
constructor(observer: Observer);
|
|
9
10
|
close(): void;
|
|
10
11
|
private _onNewObservedCall;
|
|
11
12
|
private _onObservedCallUpdated;
|
|
13
|
+
private _updateIfEveryCallUpdated;
|
|
12
14
|
}
|
|
13
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=OnAllCallObserverUpdater.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnAllCallObserverUpdater.d.ts","sourceRoot":"","sources":["../../src/updaters/OnAllCallObserverUpdater.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,wBAAyB,YAAW,OAAO;IAQtD,OAAO,CAAC,QAAQ;IAPjB,SAAgB,IAAI,8BAA8B;IAClD,SAAgB,WAAW,+EAAgF;IAE3G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAC5C,MAAM,UAAS;gBAGb,QAAQ,EAAE,QAAQ;IAU3B,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,yBAAyB;CAOjC"}
|
|
@@ -6,6 +6,7 @@ class OnAllCallObserverUpdater {
|
|
|
6
6
|
name = 'OnAllCallObserverUpdater';
|
|
7
7
|
description = 'Call Observer\'s update() method when all of the ObservedCalls are updated';
|
|
8
8
|
_updatedCalls = new Set();
|
|
9
|
+
closed = false;
|
|
9
10
|
constructor(observer) {
|
|
10
11
|
this.observer = observer;
|
|
11
12
|
this._onNewObservedCall = this._onNewObservedCall.bind(this);
|
|
@@ -15,13 +16,19 @@ class OnAllCallObserverUpdater {
|
|
|
15
16
|
this.observer.on('newcall', this._onNewObservedCall);
|
|
16
17
|
}
|
|
17
18
|
close() {
|
|
18
|
-
|
|
19
|
+
if (this.closed)
|
|
20
|
+
return;
|
|
21
|
+
this.closed = true;
|
|
22
|
+
this._updatedCalls.clear();
|
|
19
23
|
}
|
|
20
24
|
_onNewObservedCall(observedCall) {
|
|
25
|
+
if (this.closed)
|
|
26
|
+
return;
|
|
21
27
|
const onUpdate = () => this._onObservedCallUpdated(observedCall);
|
|
22
28
|
observedCall.once('close', () => {
|
|
23
29
|
observedCall.off('update', onUpdate);
|
|
24
30
|
this._updatedCalls.delete(observedCall.callId);
|
|
31
|
+
this._updateIfEveryCallUpdated();
|
|
25
32
|
});
|
|
26
33
|
observedCall.on('update', onUpdate);
|
|
27
34
|
}
|
|
@@ -29,8 +36,13 @@ class OnAllCallObserverUpdater {
|
|
|
29
36
|
if (observedCall.closed)
|
|
30
37
|
return;
|
|
31
38
|
this._updatedCalls.add(observedCall.callId);
|
|
39
|
+
this._updateIfEveryCallUpdated();
|
|
40
|
+
}
|
|
41
|
+
_updateIfEveryCallUpdated() {
|
|
32
42
|
if (this._updatedCalls.size < this.observer.observedCalls.size)
|
|
33
43
|
return;
|
|
44
|
+
else if (this.closed)
|
|
45
|
+
return;
|
|
34
46
|
this._updatedCalls.clear();
|
|
35
47
|
this.observer.update();
|
|
36
48
|
}
|
|
@@ -5,9 +5,11 @@ export declare class OnAllClientCallUpdater implements Updater {
|
|
|
5
5
|
readonly name = "OnAllClientCallUpdater";
|
|
6
6
|
readonly description = "Call the update() method of the ObservedCall once all client has been updated";
|
|
7
7
|
private readonly _updatedClients;
|
|
8
|
+
closed: boolean;
|
|
8
9
|
constructor(_observedCall: ObservedCall);
|
|
9
10
|
close(): void;
|
|
10
11
|
private _onNewObservedClient;
|
|
11
12
|
private _onClientUpdate;
|
|
13
|
+
private _updateIfEveryClientUpdated;
|
|
12
14
|
}
|
|
13
15
|
//# sourceMappingURL=OnAllClientCallUpdater.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnAllClientCallUpdater.d.ts","sourceRoot":"","sources":["../../src/updaters/OnAllClientCallUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,sBAAuB,YAAW,OAAO;
|
|
1
|
+
{"version":3,"file":"OnAllClientCallUpdater.d.ts","sourceRoot":"","sources":["../../src/updaters/OnAllClientCallUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,sBAAuB,YAAW,OAAO;IAQpD,OAAO,CAAC,aAAa;IAPtB,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,WAAW,mFAAmF;IAEvG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAC9C,MAAM,UAAS;gBAGb,aAAa,EAAE,YAAY;IAU7B,KAAK,IAAI,IAAI;IAOpB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,2BAA2B;CAWnC"}
|
|
@@ -6,6 +6,7 @@ class OnAllClientCallUpdater {
|
|
|
6
6
|
name = 'OnAllClientCallUpdater';
|
|
7
7
|
description = 'Call the update() method of the ObservedCall once all client has been updated';
|
|
8
8
|
_updatedClients = new Set();
|
|
9
|
+
closed = false;
|
|
9
10
|
constructor(_observedCall) {
|
|
10
11
|
this._observedCall = _observedCall;
|
|
11
12
|
this._onNewObservedClient = this._onNewObservedClient.bind(this);
|
|
@@ -15,21 +16,36 @@ class OnAllClientCallUpdater {
|
|
|
15
16
|
this._observedCall.on('newclient', this._onNewObservedClient);
|
|
16
17
|
}
|
|
17
18
|
close() {
|
|
19
|
+
if (this.closed)
|
|
20
|
+
return;
|
|
21
|
+
this.closed = true;
|
|
18
22
|
// do nothing, as close once emitted unsubscription happened
|
|
23
|
+
this._updatedClients.clear();
|
|
19
24
|
}
|
|
20
25
|
_onNewObservedClient(observedClient) {
|
|
26
|
+
if (this.closed)
|
|
27
|
+
return;
|
|
21
28
|
const onUpdate = () => this._onClientUpdate(observedClient);
|
|
22
29
|
observedClient.once('close', () => {
|
|
23
30
|
observedClient.off('update', onUpdate);
|
|
24
31
|
this._updatedClients.delete(observedClient.clientId);
|
|
32
|
+
this._updateIfEveryClientUpdated();
|
|
25
33
|
});
|
|
26
34
|
observedClient.on('update', onUpdate);
|
|
27
35
|
}
|
|
28
36
|
_onClientUpdate(observedClient) {
|
|
37
|
+
if (observedClient.closed)
|
|
38
|
+
return;
|
|
29
39
|
this._updatedClients.add(observedClient.clientId);
|
|
40
|
+
this._updateIfEveryClientUpdated();
|
|
41
|
+
}
|
|
42
|
+
_updateIfEveryClientUpdated() {
|
|
30
43
|
if (this._updatedClients.size < this._observedCall.observedClients.size) {
|
|
31
44
|
return;
|
|
32
45
|
}
|
|
46
|
+
else if (this.closed) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
33
49
|
this._updatedClients.clear();
|
|
34
50
|
this._observedCall.update();
|
|
35
51
|
}
|
|
@@ -4,8 +4,9 @@ export declare class OnAnyCallObserverUpdater implements Updater {
|
|
|
4
4
|
private observver;
|
|
5
5
|
readonly name = "OnAnyCallObserverUpdater";
|
|
6
6
|
readonly description = "Call Observer's update() method on any of the ObservedCall is updated";
|
|
7
|
+
closed: boolean;
|
|
7
8
|
constructor(observver: Observer);
|
|
8
9
|
close(): void;
|
|
9
10
|
private _onNewObservedCall;
|
|
10
11
|
}
|
|
11
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=OnAnyCallObserverUpdater.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnAnyCallObserverUpdater.d.ts","sourceRoot":"","sources":["../../src/updaters/OnAnyCallObserverUpdater.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,wBAAyB,YAAW,OAAO;IAMtD,OAAO,CAAC,SAAS;IALlB,SAAgB,IAAI,8BAA8B;IAClD,SAAgB,WAAW,2EAA4E;IAChG,MAAM,UAAS;gBAGb,SAAS,EAAE,QAAQ;IAU5B,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,kBAAkB;CAc1B"}
|
|
@@ -5,6 +5,7 @@ class OnAnyCallObserverUpdater {
|
|
|
5
5
|
observver;
|
|
6
6
|
name = 'OnAnyCallObserverUpdater';
|
|
7
7
|
description = 'Call Observer\'s update() method on any of the ObservedCall is updated';
|
|
8
|
+
closed = false;
|
|
8
9
|
constructor(observver) {
|
|
9
10
|
this.observver = observver;
|
|
10
11
|
this._onNewObservedCall = this._onNewObservedCall.bind(this);
|
|
@@ -14,10 +15,19 @@ class OnAnyCallObserverUpdater {
|
|
|
14
15
|
this.observver.on('newcall', this._onNewObservedCall);
|
|
15
16
|
}
|
|
16
17
|
close() {
|
|
18
|
+
if (this.closed)
|
|
19
|
+
return;
|
|
20
|
+
this.closed = true;
|
|
17
21
|
// do nothing, because we unsubscribe once close is emitted from observer
|
|
18
22
|
}
|
|
19
23
|
_onNewObservedCall(observedCall) {
|
|
20
|
-
|
|
24
|
+
if (this.closed)
|
|
25
|
+
return;
|
|
26
|
+
const onUpdate = () => {
|
|
27
|
+
if (this.closed)
|
|
28
|
+
return;
|
|
29
|
+
this.observver.update();
|
|
30
|
+
};
|
|
21
31
|
observedCall.once('close', () => {
|
|
22
32
|
observedCall.off('update', onUpdate);
|
|
23
33
|
});
|
|
@@ -4,6 +4,7 @@ export declare class OnAnyClientCallUpdater implements Updater {
|
|
|
4
4
|
private _observedCall;
|
|
5
5
|
readonly name = "OnAnyClientCallUpdater";
|
|
6
6
|
readonly description = "Call the update() method of the ObservedCall when any of the client has been updated";
|
|
7
|
+
closed: boolean;
|
|
7
8
|
constructor(_observedCall: ObservedCall);
|
|
8
9
|
close(): void;
|
|
9
10
|
private _onNewObservedClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnAnyClientCallUpdater.d.ts","sourceRoot":"","sources":["../../src/updaters/OnAnyClientCallUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,sBAAuB,YAAW,OAAO;
|
|
1
|
+
{"version":3,"file":"OnAnyClientCallUpdater.d.ts","sourceRoot":"","sources":["../../src/updaters/OnAnyClientCallUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,sBAAuB,YAAW,OAAO;IAMpD,OAAO,CAAC,aAAa;IALtB,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,WAAW,0FAA0F;IACvG,MAAM,UAAS;gBAGb,aAAa,EAAE,YAAY;IAU7B,KAAK,IAAI,IAAI;IAKpB,OAAO,CAAC,oBAAoB;CAa5B"}
|
|
@@ -5,6 +5,7 @@ class OnAnyClientCallUpdater {
|
|
|
5
5
|
_observedCall;
|
|
6
6
|
name = 'OnAnyClientCallUpdater';
|
|
7
7
|
description = 'Call the update() method of the ObservedCall when any of the client has been updated';
|
|
8
|
+
closed = false;
|
|
8
9
|
constructor(_observedCall) {
|
|
9
10
|
this._observedCall = _observedCall;
|
|
10
11
|
this._onNewObservedClient = this._onNewObservedClient.bind(this);
|
|
@@ -14,10 +15,18 @@ class OnAnyClientCallUpdater {
|
|
|
14
15
|
this._observedCall.on('newclient', this._onNewObservedClient);
|
|
15
16
|
}
|
|
16
17
|
close() {
|
|
17
|
-
|
|
18
|
+
if (this.closed)
|
|
19
|
+
return;
|
|
20
|
+
this.closed = true;
|
|
18
21
|
}
|
|
19
22
|
_onNewObservedClient(observedClient) {
|
|
20
|
-
|
|
23
|
+
if (this.closed)
|
|
24
|
+
return;
|
|
25
|
+
const onUpdate = () => {
|
|
26
|
+
if (this.closed)
|
|
27
|
+
return;
|
|
28
|
+
this._observedCall.update();
|
|
29
|
+
};
|
|
21
30
|
observedClient.once('close', () => {
|
|
22
31
|
observedClient.off('update', onUpdate);
|
|
23
32
|
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ObservedCall } from '../ObservedCall';
|
|
2
|
+
import { ObservedCallEventMonitor } from '../ObservedCallEventMonitor';
|
|
3
|
+
import { ObservedInboundTrack } from '../ObservedInboundTrack';
|
|
4
|
+
import { ObservedOutboundTrack } from '../ObservedOutboundTrack';
|
|
5
|
+
import { RemoteTrackResolver } from './RemoteTrackResolver';
|
|
6
|
+
export declare class MediasoupRemoteTrackResolver implements RemoteTrackResolver {
|
|
7
|
+
readonly observedCall: ObservedCall;
|
|
8
|
+
readonly eventMonitor: ObservedCallEventMonitor<{}>;
|
|
9
|
+
private _consumerIdToProducerId;
|
|
10
|
+
private _producerIdToOutboundTrack;
|
|
11
|
+
private _consumerIdToInboundTrack;
|
|
12
|
+
private _inboundTrackToConsumerId;
|
|
13
|
+
private _producerIdToConsumerIds;
|
|
14
|
+
private _outboundTrackToProducerId;
|
|
15
|
+
constructor(observedCall: ObservedCall);
|
|
16
|
+
resolveRemoteOutboundTrack(inboundTrack: ObservedInboundTrack): ObservedOutboundTrack | undefined;
|
|
17
|
+
resolveRemoteInboundTracks(outboundTrack: ObservedOutboundTrack): ObservedInboundTrack[] | undefined;
|
|
18
|
+
private _addInboundTrack;
|
|
19
|
+
private _removeInboundTrack;
|
|
20
|
+
private _addOutboundTrack;
|
|
21
|
+
private _removeOutboundTrack;
|
|
22
|
+
private _getInboundTrackAttachments;
|
|
23
|
+
private _getOutboundTrackAttachments;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=MediasoupRemoteTrackResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediasoupRemoteTrackResolver.d.ts","sourceRoot":"","sources":["../../src/utils/MediasoupRemoteTrackResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,qBAAa,4BAA6B,YAAW,mBAAmB;aAetD,YAAY,EAAE,YAAY;IAd3C,SAAgB,YAAY,EAAE,wBAAwB,CAAC,EAEtD,CAAC,CAAC;IAEH,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,0BAA0B,CAA4C;IAC9E,OAAO,CAAC,yBAAyB,CAA2C;IAG5E,OAAO,CAAC,yBAAyB,CAA6B;IAC9D,OAAO,CAAC,wBAAwB,CAA+B;IAC/D,OAAO,CAAC,0BAA0B,CAA6B;gBAG9C,YAAY,EAAE,YAAY;IAcpC,0BAA0B,CAAC,YAAY,EAAE,oBAAoB,GAAG,qBAAqB,GAAG,SAAS;IAYjG,0BAA0B,CAAC,aAAa,EAAE,qBAAqB,GAAG,oBAAoB,EAAE,GAAG,SAAS;IAe3G,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,2BAA2B;IAcnC,OAAO,CAAC,4BAA4B;CAWpC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MediasoupRemoteTrackResolver = void 0;
|
|
4
|
+
class MediasoupRemoteTrackResolver {
|
|
5
|
+
observedCall;
|
|
6
|
+
eventMonitor;
|
|
7
|
+
_consumerIdToProducerId = new Map();
|
|
8
|
+
_producerIdToOutboundTrack = new Map();
|
|
9
|
+
_consumerIdToInboundTrack = new Map();
|
|
10
|
+
// private _producerIdToOutboundTrack = new Map<string, ObservedOutboundTrack>();
|
|
11
|
+
_inboundTrackToConsumerId = new Map();
|
|
12
|
+
_producerIdToConsumerIds = new Map();
|
|
13
|
+
_outboundTrackToProducerId = new Map();
|
|
14
|
+
constructor(observedCall) {
|
|
15
|
+
this.observedCall = observedCall;
|
|
16
|
+
this.eventMonitor = this.observedCall.createEventMonitor({});
|
|
17
|
+
this.eventMonitor.onInboundTrackAdded = this._addInboundTrack.bind(this);
|
|
18
|
+
this.eventMonitor.onInboundTrackRemoved = this._removeInboundTrack.bind(this);
|
|
19
|
+
this.eventMonitor.onOutboundTrackAdded = this._addOutboundTrack.bind(this);
|
|
20
|
+
this.eventMonitor.onOutboundTrackRemoved = this._removeOutboundTrack.bind(this);
|
|
21
|
+
// this.eventMonitor.onClientEvent = (client, event) => {
|
|
22
|
+
// };
|
|
23
|
+
}
|
|
24
|
+
resolveRemoteOutboundTrack(inboundTrack) {
|
|
25
|
+
const consumerId = this._inboundTrackToConsumerId.get(inboundTrack.id);
|
|
26
|
+
if (!consumerId)
|
|
27
|
+
return;
|
|
28
|
+
const producerId = this._consumerIdToProducerId.get(consumerId);
|
|
29
|
+
if (!producerId)
|
|
30
|
+
return;
|
|
31
|
+
return this._producerIdToOutboundTrack.get(producerId);
|
|
32
|
+
}
|
|
33
|
+
resolveRemoteInboundTracks(outboundTrack) {
|
|
34
|
+
const producerId = this._outboundTrackToProducerId.get(outboundTrack.id);
|
|
35
|
+
if (!producerId)
|
|
36
|
+
return;
|
|
37
|
+
const consumerIds = this._producerIdToConsumerIds.get(producerId);
|
|
38
|
+
if (!consumerIds)
|
|
39
|
+
return;
|
|
40
|
+
return consumerIds
|
|
41
|
+
.map((consumerId) => this._consumerIdToInboundTrack.get(consumerId))
|
|
42
|
+
.filter((inboundTrack) => Boolean(inboundTrack));
|
|
43
|
+
}
|
|
44
|
+
_addInboundTrack(inboundTrack) {
|
|
45
|
+
const attachments = this._getInboundTrackAttachments(inboundTrack);
|
|
46
|
+
if (!attachments)
|
|
47
|
+
return;
|
|
48
|
+
const { producerId, consumerId } = attachments;
|
|
49
|
+
this._inboundTrackToConsumerId.set(inboundTrack.id, consumerId);
|
|
50
|
+
this._consumerIdToProducerId.set(consumerId, producerId);
|
|
51
|
+
this._consumerIdToInboundTrack.set(consumerId, inboundTrack);
|
|
52
|
+
let producerConsumers = this._producerIdToConsumerIds.get(producerId);
|
|
53
|
+
if (!producerConsumers) {
|
|
54
|
+
producerConsumers = [];
|
|
55
|
+
this._producerIdToConsumerIds.set(producerId, producerConsumers);
|
|
56
|
+
}
|
|
57
|
+
producerConsumers.push(consumerId);
|
|
58
|
+
}
|
|
59
|
+
_removeInboundTrack(inboundTrack) {
|
|
60
|
+
const consumerId = this._inboundTrackToConsumerId.get(inboundTrack.id);
|
|
61
|
+
if (!consumerId)
|
|
62
|
+
return;
|
|
63
|
+
this._inboundTrackToConsumerId.delete(inboundTrack.id);
|
|
64
|
+
this._consumerIdToProducerId.delete(consumerId);
|
|
65
|
+
this._consumerIdToInboundTrack.delete(consumerId);
|
|
66
|
+
const producerConsumers = this._producerIdToConsumerIds.get(consumerId);
|
|
67
|
+
if (!producerConsumers)
|
|
68
|
+
return;
|
|
69
|
+
const filteredProducerConsumers = producerConsumers.filter((id) => id !== consumerId);
|
|
70
|
+
if (filteredProducerConsumers.length === 0) {
|
|
71
|
+
this._producerIdToConsumerIds.delete(consumerId);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this._producerIdToConsumerIds.set(consumerId, filteredProducerConsumers);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_addOutboundTrack(outboundTrack) {
|
|
78
|
+
const attachments = this._getOutboundTrackAttachments(outboundTrack);
|
|
79
|
+
if (!attachments)
|
|
80
|
+
return;
|
|
81
|
+
const { producerId, } = attachments;
|
|
82
|
+
this._producerIdToOutboundTrack.set(producerId, outboundTrack);
|
|
83
|
+
this._outboundTrackToProducerId.set(outboundTrack.id, producerId);
|
|
84
|
+
}
|
|
85
|
+
_removeOutboundTrack(outboundTrack) {
|
|
86
|
+
const producerId = this._outboundTrackToProducerId.get(outboundTrack.id);
|
|
87
|
+
if (!producerId)
|
|
88
|
+
return;
|
|
89
|
+
this._producerIdToOutboundTrack.delete(producerId);
|
|
90
|
+
this._outboundTrackToProducerId.delete(outboundTrack.id);
|
|
91
|
+
}
|
|
92
|
+
_getInboundTrackAttachments(inboundTrack) {
|
|
93
|
+
const { producerId, consumerId } = inboundTrack.attachments ?? {};
|
|
94
|
+
if (!producerId || !consumerId || typeof producerId !== 'string' || typeof consumerId !== 'string')
|
|
95
|
+
return;
|
|
96
|
+
return {
|
|
97
|
+
producerId,
|
|
98
|
+
consumerId
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
_getOutboundTrackAttachments(outboundTrack) {
|
|
102
|
+
const { producerId, } = outboundTrack.attachments ?? {};
|
|
103
|
+
if (!producerId || typeof producerId !== 'string')
|
|
104
|
+
return;
|
|
105
|
+
return {
|
|
106
|
+
producerId,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.MediasoupRemoteTrackResolver = MediasoupRemoteTrackResolver;
|
package/package.json
CHANGED
package/src/ObservedCall.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { OnAllClientCallUpdater } from './updaters/OnAllClientCallUpdater';
|
|
|
10
10
|
import { Updater } from './updaters/Updater';
|
|
11
11
|
import { OnIntervalUpdater } from './updaters/OnIntervalUpdater';
|
|
12
12
|
import { OnAnyClientCallUpdater } from './updaters/OnAnyClientCallUpdater';
|
|
13
|
+
import { ObservedCallEventMonitor } from './ObservedCallEventMonitor';
|
|
13
14
|
|
|
14
15
|
export type ObservedCallSettings<AppData extends Record<string, unknown> = Record<string, unknown>> = {
|
|
15
16
|
callId: string;
|
|
@@ -206,6 +207,10 @@ export class ObservedCall<AppData extends Record<string, unknown> = Record<strin
|
|
|
206
207
|
return result;
|
|
207
208
|
}
|
|
208
209
|
|
|
210
|
+
public createEventMonitor<CTX>(context: CTX): ObservedCallEventMonitor<CTX> {
|
|
211
|
+
return new ObservedCallEventMonitor(this, context);
|
|
212
|
+
}
|
|
213
|
+
|
|
209
214
|
public update() {
|
|
210
215
|
if (this.closed) return;
|
|
211
216
|
|