mediasoup 3.14.15 → 3.15.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/node/lib/ActiveSpeakerObserver.d.ts +7 -33
- package/node/lib/ActiveSpeakerObserver.d.ts.map +1 -1
- package/node/lib/ActiveSpeakerObserver.js +12 -11
- package/node/lib/ActiveSpeakerObserverTypes.d.ts +39 -0
- package/node/lib/ActiveSpeakerObserverTypes.d.ts.map +1 -0
- package/node/lib/ActiveSpeakerObserverTypes.js +2 -0
- package/node/lib/AudioLevelObserver.d.ts +7 -52
- package/node/lib/AudioLevelObserver.d.ts.map +1 -1
- package/node/lib/AudioLevelObserver.js +14 -13
- package/node/lib/AudioLevelObserverTypes.d.ts +58 -0
- package/node/lib/AudioLevelObserverTypes.d.ts.map +1 -0
- package/node/lib/AudioLevelObserverTypes.js +2 -0
- package/node/lib/Channel.d.ts +0 -9
- package/node/lib/Channel.d.ts.map +1 -1
- package/node/lib/Channel.js +0 -9
- package/node/lib/Consumer.d.ts +9 -291
- package/node/lib/Consumer.d.ts.map +1 -1
- package/node/lib/Consumer.js +38 -114
- package/node/lib/ConsumerTypes.d.ts +315 -0
- package/node/lib/ConsumerTypes.d.ts.map +1 -0
- package/node/lib/ConsumerTypes.js +2 -0
- package/node/lib/DataConsumer.d.ts +7 -163
- package/node/lib/DataConsumer.d.ts.map +1 -1
- package/node/lib/DataConsumer.js +23 -97
- package/node/lib/DataConsumerTypes.d.ts +192 -0
- package/node/lib/DataConsumerTypes.d.ts.map +1 -0
- package/node/lib/DataConsumerTypes.js +2 -0
- package/node/lib/DataProducer.d.ts +6 -114
- package/node/lib/DataProducer.d.ts.map +1 -1
- package/node/lib/DataProducer.js +11 -61
- package/node/lib/DataProducerTypes.d.ts +134 -0
- package/node/lib/DataProducerTypes.d.ts.map +1 -0
- package/node/lib/DataProducerTypes.js +2 -0
- package/node/lib/DirectTransport.d.ts +8 -71
- package/node/lib/DirectTransport.d.ts.map +1 -1
- package/node/lib/DirectTransport.js +13 -48
- package/node/lib/DirectTransportTypes.d.ts +62 -0
- package/node/lib/DirectTransportTypes.d.ts.map +1 -0
- package/node/lib/DirectTransportTypes.js +2 -0
- package/node/lib/Logger.d.ts +1 -1
- package/node/lib/Logger.d.ts.map +1 -1
- package/node/lib/PipeTransport.d.ts +11 -133
- package/node/lib/PipeTransport.d.ts.map +1 -1
- package/node/lib/PipeTransport.js +27 -56
- package/node/lib/PipeTransportTypes.d.ts +146 -0
- package/node/lib/PipeTransportTypes.d.ts.map +1 -0
- package/node/lib/PipeTransportTypes.js +2 -0
- package/node/lib/PlainTransport.d.ts +9 -145
- package/node/lib/PlainTransport.d.ts.map +1 -1
- package/node/lib/PlainTransport.js +16 -54
- package/node/lib/PlainTransportTypes.d.ts +156 -0
- package/node/lib/PlainTransportTypes.d.ts.map +1 -0
- package/node/lib/PlainTransportTypes.js +2 -0
- package/node/lib/Producer.d.ts +8 -186
- package/node/lib/Producer.d.ts.map +1 -1
- package/node/lib/Producer.js +19 -76
- package/node/lib/ProducerTypes.d.ts +203 -0
- package/node/lib/ProducerTypes.d.ts.map +1 -0
- package/node/lib/ProducerTypes.js +2 -0
- package/node/lib/Router.d.ts +15 -208
- package/node/lib/Router.d.ts.map +1 -1
- package/node/lib/Router.js +35 -86
- package/node/lib/RouterTypes.d.ts +228 -0
- package/node/lib/RouterTypes.d.ts.map +1 -0
- package/node/lib/RouterTypes.js +2 -0
- package/node/lib/RtpObserver.d.ts +14 -69
- package/node/lib/RtpObserver.d.ts.map +1 -1
- package/node/lib/RtpObserver.js +5 -47
- package/node/lib/RtpObserverTypes.d.ts +87 -0
- package/node/lib/RtpObserverTypes.d.ts.map +1 -0
- package/node/lib/RtpObserverTypes.js +2 -0
- package/node/lib/Transport.d.ts +18 -312
- package/node/lib/Transport.d.ts.map +1 -1
- package/node/lib/Transport.js +30 -121
- package/node/lib/TransportTypes.d.ts +349 -0
- package/node/lib/TransportTypes.d.ts.map +1 -0
- package/node/lib/TransportTypes.js +2 -0
- package/node/lib/WebRtcServer.d.ts +6 -83
- package/node/lib/WebRtcServer.d.ts.map +1 -1
- package/node/lib/WebRtcServer.js +15 -42
- package/node/lib/WebRtcServerTypes.d.ts +90 -0
- package/node/lib/WebRtcServerTypes.d.ts.map +1 -0
- package/node/lib/WebRtcServerTypes.js +2 -0
- package/node/lib/WebRtcTransport.d.ts +8 -219
- package/node/lib/WebRtcTransport.d.ts.map +1 -1
- package/node/lib/WebRtcTransport.js +14 -75
- package/node/lib/WebRtcTransportTypes.d.ts +228 -0
- package/node/lib/WebRtcTransportTypes.d.ts.map +1 -0
- package/node/lib/WebRtcTransportTypes.js +2 -0
- package/node/lib/Worker.d.ts +6 -200
- package/node/lib/Worker.d.ts.map +1 -1
- package/node/lib/Worker.js +17 -54
- package/node/lib/WorkerTypes.d.ts +211 -0
- package/node/lib/WorkerTypes.d.ts.map +1 -0
- package/node/lib/WorkerTypes.js +2 -0
- package/node/lib/enhancedEvents.d.ts.map +1 -1
- package/node/lib/enhancedEvents.js +0 -3
- package/node/lib/fbsUtils.d.ts +40 -0
- package/node/lib/fbsUtils.d.ts.map +1 -0
- package/node/lib/fbsUtils.js +82 -0
- package/node/lib/index.d.ts +9 -16
- package/node/lib/index.d.ts.map +1 -1
- package/node/lib/index.js +8 -10
- package/node/lib/ortc.d.ts +6 -6
- package/node/lib/ortc.d.ts.map +1 -1
- package/node/lib/ortc.js +2 -2
- package/node/lib/rtpParametersFbsUtils.d.ts +15 -0
- package/node/lib/rtpParametersFbsUtils.d.ts.map +1 -0
- package/node/lib/{RtpParameters.js → rtpParametersFbsUtils.js} +5 -5
- package/node/lib/{RtpParameters.d.ts → rtpParametersTypes.d.ts} +1 -14
- package/node/lib/rtpParametersTypes.d.ts.map +1 -0
- package/node/lib/rtpParametersTypes.js +2 -0
- package/node/lib/rtpStreamStatsFbsUtils.d.ts +6 -0
- package/node/lib/rtpStreamStatsFbsUtils.d.ts.map +1 -0
- package/node/lib/{RtpStream.d.ts → rtpStreamStatsTypes.d.ts} +5 -10
- package/node/lib/rtpStreamStatsTypes.d.ts.map +1 -0
- package/node/lib/rtpStreamStatsTypes.js +2 -0
- package/node/lib/scalabilityModesTypes.d.ts +6 -0
- package/node/lib/scalabilityModesTypes.d.ts.map +1 -0
- package/node/lib/scalabilityModesTypes.js +2 -0
- package/node/lib/scalabilityModesUtils.d.ts +3 -0
- package/node/lib/scalabilityModesUtils.d.ts.map +1 -0
- package/node/lib/{scalabilityModes.js → scalabilityModesUtils.js} +2 -2
- package/node/lib/sctpParametersFbsUtils.d.ts +7 -0
- package/node/lib/sctpParametersFbsUtils.d.ts.map +1 -0
- package/node/lib/{SctpParameters.d.ts → sctpParametersTypes.d.ts} +1 -6
- package/node/lib/sctpParametersTypes.d.ts.map +1 -0
- package/node/lib/sctpParametersTypes.js +2 -0
- package/node/lib/{SrtpParameters.d.ts → srtpParametersFbsUtils.d.ts} +2 -18
- package/node/lib/srtpParametersFbsUtils.d.ts.map +1 -0
- package/node/lib/srtpParametersTypes.d.ts +18 -0
- package/node/lib/srtpParametersTypes.d.ts.map +1 -0
- package/node/lib/srtpParametersTypes.js +2 -0
- package/node/lib/supportedRtpCapabilities.d.ts +1 -1
- package/node/lib/supportedRtpCapabilities.d.ts.map +1 -1
- package/node/lib/test/test-ActiveSpeakerObserver.js +5 -4
- package/node/lib/test/test-AudioLevelObserver.js +1 -0
- package/node/lib/test/test-Consumer.js +2 -2
- package/node/lib/test/test-DirectTransport.js +1 -1
- package/node/lib/test/test-PipeTransport.js +3 -2
- package/node/lib/test/test-PlainTransport.js +2 -3
- package/node/lib/test/test-Producer.js +2 -2
- package/node/lib/test/test-Router.js +2 -2
- package/node/lib/test/test-WebRtcServer.js +14 -6
- package/node/lib/test/test-WebRtcTransport.js +4 -4
- package/node/lib/test/test-Worker.js +2 -2
- package/node/lib/types.d.ts +32 -23
- package/node/lib/types.d.ts.map +1 -1
- package/node/lib/types.js +2 -15
- package/node/lib/utils.d.ts +0 -45
- package/node/lib/utils.d.ts.map +1 -1
- package/node/lib/utils.js +0 -101
- package/package.json +10 -10
- package/worker/src/RTC/SimulcastConsumer.cpp +4 -5
- package/node/lib/RtpParameters.d.ts.map +0 -1
- package/node/lib/RtpStream.d.ts.map +0 -1
- package/node/lib/SctpParameters.d.ts.map +0 -1
- package/node/lib/SrtpParameters.d.ts.map +0 -1
- package/node/lib/scalabilityModes.d.ts +0 -7
- package/node/lib/scalabilityModes.d.ts.map +0 -1
- /package/node/lib/{RtpStream.js → rtpStreamStatsFbsUtils.js} +0 -0
- /package/node/lib/{SctpParameters.js → sctpParametersFbsUtils.js} +0 -0
- /package/node/lib/{SrtpParameters.js → srtpParametersFbsUtils.js} +0 -0
|
@@ -1,40 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RtpObserver
|
|
3
|
-
import {
|
|
4
|
-
import { AppData } from './types';
|
|
5
|
-
export type ActiveSpeakerObserverOptions<ActiveSpeakerObserverAppData extends AppData = AppData> = {
|
|
6
|
-
interval?: number;
|
|
7
|
-
/**
|
|
8
|
-
* Custom application data.
|
|
9
|
-
*/
|
|
10
|
-
appData?: ActiveSpeakerObserverAppData;
|
|
11
|
-
};
|
|
12
|
-
export type ActiveSpeakerObserverDominantSpeaker = {
|
|
13
|
-
/**
|
|
14
|
-
* The audio Producer instance.
|
|
15
|
-
*/
|
|
16
|
-
producer: Producer;
|
|
17
|
-
};
|
|
18
|
-
export type ActiveSpeakerObserverEvents = RtpObserverEvents & {
|
|
19
|
-
dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
|
|
20
|
-
};
|
|
21
|
-
export type ActiveSpeakerObserverObserver = EnhancedEventEmitter<ActiveSpeakerObserverObserverEvents>;
|
|
22
|
-
export type ActiveSpeakerObserverObserverEvents = RtpObserverObserverEvents & {
|
|
23
|
-
dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
|
|
24
|
-
};
|
|
1
|
+
import type { ActiveSpeakerObserver, ActiveSpeakerObserverEvents, ActiveSpeakerObserverObserver } from './ActiveSpeakerObserverTypes';
|
|
2
|
+
import type { RtpObserver } from './RtpObserverTypes';
|
|
3
|
+
import { RtpObserverImpl, RtpObserverConstructorOptions } from './RtpObserver';
|
|
4
|
+
import type { AppData } from './types';
|
|
25
5
|
type RtpObserverObserverConstructorOptions<ActiveSpeakerObserverAppData> = RtpObserverConstructorOptions<ActiveSpeakerObserverAppData>;
|
|
26
|
-
export declare class
|
|
27
|
-
/**
|
|
28
|
-
* @private
|
|
29
|
-
*/
|
|
6
|
+
export declare class ActiveSpeakerObserverImpl<ActiveSpeakerObserverAppData extends AppData = AppData> extends RtpObserverImpl<ActiveSpeakerObserverAppData, ActiveSpeakerObserverEvents, ActiveSpeakerObserverObserver> implements RtpObserver, ActiveSpeakerObserver {
|
|
30
7
|
constructor(options: RtpObserverObserverConstructorOptions<ActiveSpeakerObserverAppData>);
|
|
31
|
-
|
|
32
|
-
* Observer.
|
|
33
|
-
*
|
|
34
|
-
* @override
|
|
35
|
-
*/
|
|
8
|
+
get type(): 'activespeaker';
|
|
36
9
|
get observer(): ActiveSpeakerObserverObserver;
|
|
37
10
|
private handleWorkerNotifications;
|
|
11
|
+
private handleListenerError;
|
|
38
12
|
}
|
|
39
13
|
export {};
|
|
40
14
|
//# sourceMappingURL=ActiveSpeakerObserver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,qBAAqB,EAErB,2BAA2B,EAC3B,6BAA6B,EAE7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC,KAAK,qCAAqC,CAAC,4BAA4B,IACtE,6BAA6B,CAAC,4BAA4B,CAAC,CAAC;AAI7D,qBAAa,yBAAyB,CACpC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CAEvD,SAAQ,eAAe,CACtB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,CAE9B,YAAW,WAAW,EAAE,qBAAqB;gBAG5C,OAAO,EAAE,qCAAqC,CAAC,4BAA4B,CAAC;IAW7E,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED,IAAI,QAAQ,IAAI,6BAA6B,CAE5C;IAED,OAAO,CAAC,yBAAyB;IAmCjC,OAAO,CAAC,mBAAmB;CAQ3B"}
|
|
@@ -1,26 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ActiveSpeakerObserverImpl = void 0;
|
|
4
4
|
const Logger_1 = require("./Logger");
|
|
5
5
|
const enhancedEvents_1 = require("./enhancedEvents");
|
|
6
6
|
const RtpObserver_1 = require("./RtpObserver");
|
|
7
7
|
const notification_1 = require("./fbs/notification");
|
|
8
8
|
const FbsActiveSpeakerObserver = require("./fbs/active-speaker-observer");
|
|
9
9
|
const logger = new Logger_1.Logger('ActiveSpeakerObserver');
|
|
10
|
-
class
|
|
11
|
-
/**
|
|
12
|
-
* @private
|
|
13
|
-
*/
|
|
10
|
+
class ActiveSpeakerObserverImpl extends RtpObserver_1.RtpObserverImpl {
|
|
14
11
|
constructor(options) {
|
|
15
12
|
const observer = new enhancedEvents_1.EnhancedEventEmitter();
|
|
16
13
|
super(options, observer);
|
|
17
14
|
this.handleWorkerNotifications();
|
|
15
|
+
this.handleListenerError();
|
|
16
|
+
}
|
|
17
|
+
get type() {
|
|
18
|
+
return 'activespeaker';
|
|
18
19
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Observer.
|
|
21
|
-
*
|
|
22
|
-
* @override
|
|
23
|
-
*/
|
|
24
20
|
get observer() {
|
|
25
21
|
return super.observer;
|
|
26
22
|
}
|
|
@@ -47,5 +43,10 @@ class ActiveSpeakerObserver extends RtpObserver_1.RtpObserver {
|
|
|
47
43
|
}
|
|
48
44
|
});
|
|
49
45
|
}
|
|
46
|
+
handleListenerError() {
|
|
47
|
+
this.on('listenererror', (eventName, error) => {
|
|
48
|
+
logger.error(`event listener threw an error [eventName:${eventName}]:`, error);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
50
51
|
}
|
|
51
|
-
exports.
|
|
52
|
+
exports.ActiveSpeakerObserverImpl = ActiveSpeakerObserverImpl;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { EnhancedEventEmitter } from './enhancedEvents';
|
|
2
|
+
import type { RtpObserver, RtpObserverEvents, RtpObserverObserverEvents } from './RtpObserverTypes';
|
|
3
|
+
import type { Producer } from './ProducerTypes';
|
|
4
|
+
import type { AppData } from './types';
|
|
5
|
+
export type ActiveSpeakerObserverOptions<ActiveSpeakerObserverAppData extends AppData = AppData> = {
|
|
6
|
+
interval?: number;
|
|
7
|
+
/**
|
|
8
|
+
* Custom application data.
|
|
9
|
+
*/
|
|
10
|
+
appData?: ActiveSpeakerObserverAppData;
|
|
11
|
+
};
|
|
12
|
+
export type ActiveSpeakerObserverDominantSpeaker = {
|
|
13
|
+
/**
|
|
14
|
+
* The audio Producer instance.
|
|
15
|
+
*/
|
|
16
|
+
producer: Producer;
|
|
17
|
+
};
|
|
18
|
+
export type ActiveSpeakerObserverEvents = RtpObserverEvents & {
|
|
19
|
+
dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
|
|
20
|
+
};
|
|
21
|
+
export type ActiveSpeakerObserverObserver = EnhancedEventEmitter<ActiveSpeakerObserverObserverEvents>;
|
|
22
|
+
export type ActiveSpeakerObserverObserverEvents = RtpObserverObserverEvents & {
|
|
23
|
+
dominantspeaker: [ActiveSpeakerObserverDominantSpeaker];
|
|
24
|
+
};
|
|
25
|
+
export interface ActiveSpeakerObserver<ActiveSpeakerObserverAppData extends AppData = AppData> extends RtpObserver<ActiveSpeakerObserverAppData, ActiveSpeakerObserverEvents, ActiveSpeakerObserverObserver> {
|
|
26
|
+
/**
|
|
27
|
+
* RtpObserver type.
|
|
28
|
+
*
|
|
29
|
+
* @override
|
|
30
|
+
*/
|
|
31
|
+
get type(): 'activespeaker';
|
|
32
|
+
/**
|
|
33
|
+
* Observer.
|
|
34
|
+
*
|
|
35
|
+
* @override
|
|
36
|
+
*/
|
|
37
|
+
get observer(): ActiveSpeakerObserverObserver;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ActiveSpeakerObserverTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActiveSpeakerObserverTypes.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserverTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,4BAA4B,CACvC,4BAA4B,SAAS,OAAO,GAAG,OAAO,IACnD;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,4BAA4B,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IAClD;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,GAAG;IAC7D,eAAe,EAAE,CAAC,oCAAoC,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACxC,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;AAE3D,MAAM,MAAM,mCAAmC,GAAG,yBAAyB,GAAG;IAC7E,eAAe,EAAE,CAAC,oCAAoC,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,WAAW,qBAAqB,CACrC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CACrD,SAAQ,WAAW,CACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,CAC7B;IACD;;;;OAIG;IACH,IAAI,IAAI,IAAI,eAAe,CAAC;IAE5B;;;;OAIG;IACH,IAAI,QAAQ,IAAI,6BAA6B,CAAC;CAC9C"}
|
|
@@ -1,59 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RtpObserver
|
|
3
|
-
import {
|
|
4
|
-
import { AppData } from './types';
|
|
5
|
-
export type AudioLevelObserverOptions<AudioLevelObserverAppData extends AppData = AppData> = {
|
|
6
|
-
/**
|
|
7
|
-
* Maximum number of entries in the 'volumes”' event. Default 1.
|
|
8
|
-
*/
|
|
9
|
-
maxEntries?: number;
|
|
10
|
-
/**
|
|
11
|
-
* Minimum average volume (in dBvo from -127 to 0) for entries in the
|
|
12
|
-
* 'volumes' event. Default -80.
|
|
13
|
-
*/
|
|
14
|
-
threshold?: number;
|
|
15
|
-
/**
|
|
16
|
-
* Interval in ms for checking audio volumes. Default 1000.
|
|
17
|
-
*/
|
|
18
|
-
interval?: number;
|
|
19
|
-
/**
|
|
20
|
-
* Custom application data.
|
|
21
|
-
*/
|
|
22
|
-
appData?: AudioLevelObserverAppData;
|
|
23
|
-
};
|
|
24
|
-
export type AudioLevelObserverVolume = {
|
|
25
|
-
/**
|
|
26
|
-
* The audio Producer instance.
|
|
27
|
-
*/
|
|
28
|
-
producer: Producer;
|
|
29
|
-
/**
|
|
30
|
-
* The average volume (in dBvo from -127 to 0) of the audio Producer in the
|
|
31
|
-
* last interval.
|
|
32
|
-
*/
|
|
33
|
-
volume: number;
|
|
34
|
-
};
|
|
35
|
-
export type AudioLevelObserverEvents = RtpObserverEvents & {
|
|
36
|
-
volumes: [AudioLevelObserverVolume[]];
|
|
37
|
-
silence: [];
|
|
38
|
-
};
|
|
39
|
-
export type AudioLevelObserverObserver = EnhancedEventEmitter<AudioLevelObserverObserverEvents>;
|
|
40
|
-
export type AudioLevelObserverObserverEvents = RtpObserverObserverEvents & {
|
|
41
|
-
volumes: [AudioLevelObserverVolume[]];
|
|
42
|
-
silence: [];
|
|
43
|
-
};
|
|
1
|
+
import type { AudioLevelObserver, AudioLevelObserverEvents, AudioLevelObserverObserver } from './AudioLevelObserverTypes';
|
|
2
|
+
import type { RtpObserver } from './RtpObserverTypes';
|
|
3
|
+
import { RtpObserverImpl, RtpObserverConstructorOptions } from './RtpObserver';
|
|
4
|
+
import type { AppData } from './types';
|
|
44
5
|
type AudioLevelObserverConstructorOptions<AudioLevelObserverAppData> = RtpObserverConstructorOptions<AudioLevelObserverAppData>;
|
|
45
|
-
export declare class
|
|
46
|
-
/**
|
|
47
|
-
* @private
|
|
48
|
-
*/
|
|
6
|
+
export declare class AudioLevelObserverImpl<AudioLevelObserverAppData extends AppData = AppData> extends RtpObserverImpl<AudioLevelObserverAppData, AudioLevelObserverEvents, AudioLevelObserverObserver> implements RtpObserver, AudioLevelObserver {
|
|
49
7
|
constructor(options: AudioLevelObserverConstructorOptions<AudioLevelObserverAppData>);
|
|
50
|
-
|
|
51
|
-
* Observer.
|
|
52
|
-
*
|
|
53
|
-
* @override
|
|
54
|
-
*/
|
|
8
|
+
get type(): 'audiolevel';
|
|
55
9
|
get observer(): AudioLevelObserverObserver;
|
|
56
10
|
private handleWorkerNotifications;
|
|
11
|
+
private handleListenerError;
|
|
57
12
|
}
|
|
58
13
|
export {};
|
|
59
14
|
//# sourceMappingURL=AudioLevelObserver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,kBAAkB,EAElB,wBAAwB,EACxB,0BAA0B,EAE1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,KAAK,oCAAoC,CAAC,yBAAyB,IAClE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;AAI1D,qBAAa,sBAAsB,CACjC,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAEpD,SAAQ,eAAe,CACtB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,CAE3B,YAAW,WAAW,EAAE,kBAAkB;gBAGzC,OAAO,EAAE,oCAAoC,CAAC,yBAAyB,CAAC;IAWzE,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,IAAI,QAAQ,IAAI,0BAA0B,CAEzC;IAED,OAAO,CAAC,yBAAyB;IAwDjC,OAAO,CAAC,mBAAmB;CAQ3B"}
|
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.AudioLevelObserverImpl = void 0;
|
|
4
4
|
const Logger_1 = require("./Logger");
|
|
5
5
|
const enhancedEvents_1 = require("./enhancedEvents");
|
|
6
6
|
const RtpObserver_1 = require("./RtpObserver");
|
|
7
|
-
const
|
|
7
|
+
const fbsUtils = require("./fbsUtils");
|
|
8
8
|
const notification_1 = require("./fbs/notification");
|
|
9
9
|
const FbsAudioLevelObserver = require("./fbs/audio-level-observer");
|
|
10
10
|
const logger = new Logger_1.Logger('AudioLevelObserver');
|
|
11
|
-
class
|
|
12
|
-
/**
|
|
13
|
-
* @private
|
|
14
|
-
*/
|
|
11
|
+
class AudioLevelObserverImpl extends RtpObserver_1.RtpObserverImpl {
|
|
15
12
|
constructor(options) {
|
|
16
13
|
const observer = new enhancedEvents_1.EnhancedEventEmitter();
|
|
17
14
|
super(options, observer);
|
|
18
15
|
this.handleWorkerNotifications();
|
|
16
|
+
this.handleListenerError();
|
|
17
|
+
}
|
|
18
|
+
get type() {
|
|
19
|
+
return 'audiolevel';
|
|
19
20
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Observer.
|
|
22
|
-
*
|
|
23
|
-
* @override
|
|
24
|
-
*/
|
|
25
21
|
get observer() {
|
|
26
22
|
return super.observer;
|
|
27
23
|
}
|
|
@@ -33,7 +29,7 @@ class AudioLevelObserver extends RtpObserver_1.RtpObserver {
|
|
|
33
29
|
data.body(notification);
|
|
34
30
|
// Get the corresponding Producer instance and remove entries with
|
|
35
31
|
// no Producer (it may have been closed in the meanwhile).
|
|
36
|
-
const volumes =
|
|
32
|
+
const volumes = fbsUtils
|
|
37
33
|
.parseVector(notification, 'volumes', parseVolume)
|
|
38
34
|
.map(({ producerId, volume, }) => ({
|
|
39
35
|
producer: this.getProducerById(producerId),
|
|
@@ -59,8 +55,13 @@ class AudioLevelObserver extends RtpObserver_1.RtpObserver {
|
|
|
59
55
|
}
|
|
60
56
|
});
|
|
61
57
|
}
|
|
58
|
+
handleListenerError() {
|
|
59
|
+
this.on('listenererror', (eventName, error) => {
|
|
60
|
+
logger.error(`event listener threw an error [eventName:${eventName}]:`, error);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
62
63
|
}
|
|
63
|
-
exports.
|
|
64
|
+
exports.AudioLevelObserverImpl = AudioLevelObserverImpl;
|
|
64
65
|
function parseVolume(binary) {
|
|
65
66
|
return {
|
|
66
67
|
producerId: binary.producerId(),
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { EnhancedEventEmitter } from './enhancedEvents';
|
|
2
|
+
import type { RtpObserver, RtpObserverEvents, RtpObserverObserverEvents } from './RtpObserverTypes';
|
|
3
|
+
import type { Producer } from './ProducerTypes';
|
|
4
|
+
import type { AppData } from './types';
|
|
5
|
+
export type AudioLevelObserverOptions<AudioLevelObserverAppData extends AppData = AppData> = {
|
|
6
|
+
/**
|
|
7
|
+
* Maximum number of entries in the 'volumes”' event. Default 1.
|
|
8
|
+
*/
|
|
9
|
+
maxEntries?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Minimum average volume (in dBvo from -127 to 0) for entries in the
|
|
12
|
+
* 'volumes' event. Default -80.
|
|
13
|
+
*/
|
|
14
|
+
threshold?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Interval in ms for checking audio volumes. Default 1000.
|
|
17
|
+
*/
|
|
18
|
+
interval?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Custom application data.
|
|
21
|
+
*/
|
|
22
|
+
appData?: AudioLevelObserverAppData;
|
|
23
|
+
};
|
|
24
|
+
export type AudioLevelObserverVolume = {
|
|
25
|
+
/**
|
|
26
|
+
* The audio Producer instance.
|
|
27
|
+
*/
|
|
28
|
+
producer: Producer;
|
|
29
|
+
/**
|
|
30
|
+
* The average volume (in dBvo from -127 to 0) of the audio Producer in the
|
|
31
|
+
* last interval.
|
|
32
|
+
*/
|
|
33
|
+
volume: number;
|
|
34
|
+
};
|
|
35
|
+
export type AudioLevelObserverEvents = RtpObserverEvents & {
|
|
36
|
+
volumes: [AudioLevelObserverVolume[]];
|
|
37
|
+
silence: [];
|
|
38
|
+
};
|
|
39
|
+
export type AudioLevelObserverObserver = EnhancedEventEmitter<AudioLevelObserverObserverEvents>;
|
|
40
|
+
export type AudioLevelObserverObserverEvents = RtpObserverObserverEvents & {
|
|
41
|
+
volumes: [AudioLevelObserverVolume[]];
|
|
42
|
+
silence: [];
|
|
43
|
+
};
|
|
44
|
+
export interface AudioLevelObserver<AudioLevelObserverAppData extends AppData = AppData> extends RtpObserver<AudioLevelObserverAppData, AudioLevelObserverEvents, AudioLevelObserverObserver> {
|
|
45
|
+
/**
|
|
46
|
+
* RtpObserver type.
|
|
47
|
+
*
|
|
48
|
+
* @override
|
|
49
|
+
*/
|
|
50
|
+
get type(): 'audiolevel';
|
|
51
|
+
/**
|
|
52
|
+
* Observer.
|
|
53
|
+
*
|
|
54
|
+
* @override
|
|
55
|
+
*/
|
|
56
|
+
get observer(): AudioLevelObserverObserver;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=AudioLevelObserverTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioLevelObserverTypes.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserverTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EACX,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,yBAAyB,CACpC,yBAAyB,SAAS,OAAO,GAAG,OAAO,IAChD;IACH;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG;IAC1D,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,0BAA0B,GACrC,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;AAExD,MAAM,MAAM,gCAAgC,GAAG,yBAAyB,GAAG;IAC1E,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAClC,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAClD,SAAQ,WAAW,CACnB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,CAC1B;IACD;;;;OAIG;IACH,IAAI,IAAI,IAAI,YAAY,CAAC;IAEzB;;;;OAIG;IACH,IAAI,QAAQ,IAAI,0BAA0B,CAAC;CAC3C"}
|
package/node/lib/Channel.d.ts
CHANGED
|
@@ -5,9 +5,6 @@ import { Response } from './fbs/response';
|
|
|
5
5
|
import { Body as NotificationBody, Event } from './fbs/notification';
|
|
6
6
|
export declare class Channel extends EnhancedEventEmitter {
|
|
7
7
|
#private;
|
|
8
|
-
/**
|
|
9
|
-
* @private
|
|
10
|
-
*/
|
|
11
8
|
constructor({ producerSocket, consumerSocket, pid, }: {
|
|
12
9
|
producerSocket: any;
|
|
13
10
|
consumerSocket: any;
|
|
@@ -17,13 +14,7 @@ export declare class Channel extends EnhancedEventEmitter {
|
|
|
17
14
|
* flatbuffer builder.
|
|
18
15
|
*/
|
|
19
16
|
get bufferBuilder(): flatbuffers.Builder;
|
|
20
|
-
/**
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
17
|
close(): void;
|
|
24
|
-
/**
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
18
|
notify(event: Event, bodyType?: NotificationBody, bodyOffset?: number, handlerId?: string): void;
|
|
28
19
|
request(method: Method, bodyType?: RequestBody, bodyOffset?: number, handlerId?: string): Promise<Response>;
|
|
29
20
|
private processResponse;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAEN,IAAI,IAAI,gBAAgB,EACxB,KAAK,EACL,MAAM,oBAAoB,CAAC;AAmB5B,qBAAa,OAAQ,SAAQ,oBAAoB;;
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAEN,IAAI,IAAI,gBAAgB,EACxB,KAAK,EACL,MAAM,oBAAoB,CAAC;AAmB5B,qBAAa,OAAQ,SAAQ,oBAAoB;;gBAsBpC,EACX,cAAc,EACd,cAAc,EACd,GAAG,GACH,EAAE;QACF,cAAc,EAAE,GAAG,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACZ;IAiID;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC,OAAO,CAEvC;IAED,KAAK,IAAI,IAAI;IAiCb,MAAM,CACL,KAAK,EAAE,KAAK,EACZ,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,IAAI;IA6DD,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC;IAgGpB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,UAAU;CAiClB"}
|
package/node/lib/Channel.js
CHANGED
|
@@ -32,9 +32,6 @@ class Channel extends enhancedEvents_1.EnhancedEventEmitter {
|
|
|
32
32
|
#recvBuffer = Buffer.alloc(0);
|
|
33
33
|
// flatbuffers builder.
|
|
34
34
|
#bufferBuilder = new flatbuffers.Builder(1024);
|
|
35
|
-
/**
|
|
36
|
-
* @private
|
|
37
|
-
*/
|
|
38
35
|
constructor({ producerSocket, consumerSocket, pid, }) {
|
|
39
36
|
super();
|
|
40
37
|
logger.debug('constructor()');
|
|
@@ -115,9 +112,6 @@ class Channel extends enhancedEvents_1.EnhancedEventEmitter {
|
|
|
115
112
|
get bufferBuilder() {
|
|
116
113
|
return this.#bufferBuilder;
|
|
117
114
|
}
|
|
118
|
-
/**
|
|
119
|
-
* @private
|
|
120
|
-
*/
|
|
121
115
|
close() {
|
|
122
116
|
if (this.#closed) {
|
|
123
117
|
return;
|
|
@@ -146,9 +140,6 @@ class Channel extends enhancedEvents_1.EnhancedEventEmitter {
|
|
|
146
140
|
}
|
|
147
141
|
catch (error) { }
|
|
148
142
|
}
|
|
149
|
-
/**
|
|
150
|
-
* @private
|
|
151
|
-
*/
|
|
152
143
|
notify(event, bodyType, bodyOffset, handlerId) {
|
|
153
144
|
logger.debug(`notify() [event:${notification_1.Event[event]}]`);
|
|
154
145
|
if (this.#closed) {
|