mediasoup 3.13.14 → 3.13.16
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 +27 -41
- package/node/lib/ActiveSpeakerObserver.d.ts.map +1 -1
- package/node/lib/ActiveSpeakerObserver.js +15 -17
- package/node/lib/AudioLevelObserver.d.ts.map +1 -1
- package/node/lib/AudioLevelObserver.js +27 -29
- package/node/lib/Channel.d.ts +1 -1
- package/node/lib/Channel.d.ts.map +1 -1
- package/node/lib/Channel.js +78 -89
- package/node/lib/Consumer.d.ts +2 -2
- package/node/lib/Consumer.d.ts.map +1 -1
- package/node/lib/Consumer.js +158 -184
- package/node/lib/DataConsumer.d.ts +1 -1
- package/node/lib/DataConsumer.d.ts.map +1 -1
- package/node/lib/DataConsumer.js +84 -91
- package/node/lib/DataProducer.d.ts +1 -1
- package/node/lib/DataProducer.d.ts.map +1 -1
- package/node/lib/DataProducer.js +32 -30
- package/node/lib/DirectTransport.d.ts.map +1 -1
- package/node/lib/DirectTransport.js +23 -27
- package/node/lib/EnhancedEventEmitter.d.ts.map +1 -1
- package/node/lib/Logger.d.ts.map +1 -1
- package/node/lib/PipeTransport.d.ts +2 -2
- package/node/lib/PipeTransport.d.ts.map +1 -1
- package/node/lib/PipeTransport.js +41 -45
- package/node/lib/PlainTransport.d.ts +1 -1
- package/node/lib/PlainTransport.d.ts.map +1 -1
- package/node/lib/PlainTransport.js +56 -64
- package/node/lib/Producer.d.ts +1 -1
- package/node/lib/Producer.d.ts.map +1 -1
- package/node/lib/Producer.js +102 -124
- package/node/lib/Router.d.ts +9 -9
- package/node/lib/Router.d.ts.map +1 -1
- package/node/lib/Router.js +102 -95
- package/node/lib/RtpObserver.d.ts +3 -3
- package/node/lib/RtpObserver.d.ts.map +1 -1
- package/node/lib/RtpObserver.js +6 -4
- package/node/lib/RtpParameters.d.ts.map +1 -1
- package/node/lib/RtpParameters.js +107 -139
- package/node/lib/RtpStream.d.ts.map +1 -1
- package/node/lib/RtpStream.js +6 -8
- package/node/lib/SctpParameters.d.ts.map +1 -1
- package/node/lib/SctpParameters.js +12 -12
- package/node/lib/SrtpParameters.d.ts.map +1 -1
- package/node/lib/SrtpParameters.js +28 -37
- package/node/lib/Transport.d.ts +5 -5
- package/node/lib/Transport.d.ts.map +1 -1
- package/node/lib/Transport.js +128 -139
- package/node/lib/WebRtcServer.d.ts +1 -1
- package/node/lib/WebRtcServer.d.ts.map +1 -1
- package/node/lib/WebRtcServer.js +7 -6
- package/node/lib/WebRtcTransport.d.ts +1 -1
- package/node/lib/WebRtcTransport.d.ts.map +1 -1
- package/node/lib/WebRtcTransport.js +177 -215
- package/node/lib/Worker.d.ts +9 -4
- package/node/lib/Worker.d.ts.map +1 -1
- package/node/lib/Worker.js +45 -36
- package/node/lib/errors.d.ts.map +1 -1
- package/node/lib/errors.js +6 -6
- package/node/lib/index.d.ts +1 -1
- package/node/lib/index.d.ts.map +1 -1
- package/node/lib/index.js +2 -2
- package/node/lib/ortc.d.ts +2 -2
- package/node/lib/ortc.d.ts.map +1 -1
- package/node/lib/ortc.js +107 -123
- package/node/lib/scalabilityModes.d.ts.map +1 -1
- package/node/lib/scalabilityModes.js +2 -2
- package/node/lib/supportedRtpCapabilities.d.ts.map +1 -1
- package/node/lib/supportedRtpCapabilities.js +61 -93
- package/node/lib/test/test-ActiveSpeakerObserver.d.ts.map +1 -0
- package/node/lib/test/test-ActiveSpeakerObserver.js +84 -0
- package/node/lib/test/test-AudioLevelObserver.d.ts.map +1 -0
- package/node/lib/test/test-AudioLevelObserver.js +89 -0
- package/node/lib/test/test-Consumer.d.ts.map +1 -0
- package/node/lib/test/test-Consumer.js +951 -0
- package/node/lib/test/test-DataConsumer.d.ts.map +1 -0
- package/node/lib/test/test-DataConsumer.js +296 -0
- package/node/lib/test/test-DataProducer.d.ts.map +1 -0
- package/node/lib/{tests → test}/test-DataProducer.js +116 -133
- package/node/lib/test/test-DirectTransport.d.ts.map +1 -0
- package/node/lib/{tests → test}/test-DirectTransport.js +95 -109
- package/node/lib/test/test-PipeTransport.d.ts.map +1 -0
- package/node/lib/{tests → test}/test-PipeTransport.js +402 -383
- package/node/lib/test/test-PlainTransport.d.ts.map +1 -0
- package/node/lib/test/test-PlainTransport.js +411 -0
- package/node/lib/test/test-Producer.d.ts.map +1 -0
- package/node/lib/{tests → test}/test-Producer.js +301 -348
- package/node/lib/{tests → test}/test-Router.d.ts.map +1 -1
- package/node/lib/test/test-Router.js +120 -0
- package/node/lib/test/test-WebRtcServer.d.ts.map +1 -0
- package/node/lib/{tests → test}/test-WebRtcServer.js +177 -196
- package/node/lib/test/test-WebRtcTransport.d.ts.map +1 -0
- package/node/lib/test/test-WebRtcTransport.js +479 -0
- package/node/lib/{tests → test}/test-Worker.d.ts.map +1 -1
- package/node/lib/test/test-Worker.js +217 -0
- package/node/lib/test/test-mediasoup.d.ts.map +1 -0
- package/node/lib/test/test-mediasoup.js +74 -0
- package/node/lib/test/test-multiopus.d.ts.map +1 -0
- package/node/lib/test/test-multiopus.js +209 -0
- package/node/lib/test/test-node-sctp.d.ts.map +1 -0
- package/node/lib/{tests → test}/test-node-sctp.js +69 -89
- package/node/lib/{tests → test}/test-ortc.d.ts.map +1 -1
- package/node/lib/{tests → test}/test-ortc.js +104 -111
- package/node/lib/types.d.ts.map +1 -1
- package/node/lib/utils.d.ts +5 -0
- package/node/lib/utils.d.ts.map +1 -1
- package/node/lib/utils.js +27 -13
- package/npm-scripts.mjs +217 -286
- package/package.json +128 -123
- package/worker/include/Channel/ChannelRequest.hpp +1 -1
- package/worker/include/Channel/ChannelSocket.hpp +5 -5
- package/worker/include/Logger.hpp +20 -16
- package/worker/include/MediaSoupErrors.hpp +5 -5
- package/worker/include/RTC/ActiveSpeakerObserver.hpp +2 -2
- package/worker/include/RTC/Consumer.hpp +2 -2
- package/worker/include/RTC/DataConsumer.hpp +2 -2
- package/worker/include/RTC/DataProducer.hpp +1 -1
- package/worker/include/RTC/DtlsTransport.hpp +4 -4
- package/worker/include/RTC/IceCandidate.hpp +6 -6
- package/worker/include/RTC/KeyFrameRequestManager.hpp +3 -3
- package/worker/include/RTC/PipeTransport.hpp +3 -1
- package/worker/include/RTC/PlainTransport.hpp +6 -2
- package/worker/include/RTC/Producer.hpp +1 -1
- package/worker/include/RTC/RTCP/FeedbackRtpTransport.hpp +3 -3
- package/worker/include/RTC/RTCP/Packet.hpp +1 -1
- package/worker/include/RTC/RateCalculator.hpp +1 -1
- package/worker/include/RTC/Router.hpp +2 -2
- package/worker/include/RTC/RtcLogger.hpp +6 -6
- package/worker/include/RTC/RtpDictionaries.hpp +1 -2
- package/worker/include/RTC/RtpObserver.hpp +1 -1
- package/worker/include/RTC/RtpPacket.hpp +13 -18
- package/worker/include/RTC/RtpRetransmissionBuffer.hpp +4 -2
- package/worker/include/RTC/RtpStreamRecv.hpp +1 -1
- package/worker/include/RTC/SctpAssociation.hpp +2 -2
- package/worker/include/RTC/SeqManager.hpp +7 -7
- package/worker/include/RTC/StunPacket.hpp +4 -4
- package/worker/include/RTC/Transport.hpp +2 -2
- package/worker/include/RTC/TransportCongestionControlClient.hpp +1 -1
- package/worker/include/RTC/TransportCongestionControlServer.hpp +1 -1
- package/worker/include/RTC/TransportTuple.hpp +8 -4
- package/worker/include/RTC/TrendCalculator.hpp +1 -1
- package/worker/include/RTC/WebRtcServer.hpp +5 -3
- package/worker/include/Settings.hpp +2 -2
- package/worker/include/Utils.hpp +12 -12
- package/worker/include/Worker.hpp +1 -1
- package/worker/include/handles/TcpConnectionHandle.hpp +5 -4
- package/worker/include/handles/TcpServerHandle.hpp +5 -3
- package/worker/include/handles/UdpSocketHandle.hpp +7 -4
- package/worker/include/handles/UnixStreamSocketHandle.hpp +2 -3
- package/worker/scripts/clang-format.mjs +28 -41
- package/worker/scripts/package-lock.json +1084 -2825
- package/worker/scripts/package.json +11 -12
- package/worker/src/Channel/ChannelRequest.cpp +1 -1
- package/worker/src/Channel/ChannelSocket.cpp +10 -10
- package/worker/src/DepLibSRTP.cpp +8 -8
- package/worker/src/DepLibWebRTC.cpp +2 -2
- package/worker/src/DepOpenSSL.cpp +2 -2
- package/worker/src/DepUsrSCTP.cpp +7 -9
- package/worker/src/Logger.cpp +2 -2
- package/worker/src/MediaSoupErrors.cpp +1 -1
- package/worker/src/RTC/ActiveSpeakerObserver.cpp +15 -18
- package/worker/src/RTC/Consumer.cpp +2 -3
- package/worker/src/RTC/DataConsumer.cpp +4 -4
- package/worker/src/RTC/DataProducer.cpp +1 -1
- package/worker/src/RTC/DirectTransport.cpp +5 -1
- package/worker/src/RTC/DtlsTransport.cpp +7 -11
- package/worker/src/RTC/KeyFrameRequestManager.cpp +2 -4
- package/worker/src/RTC/NackGenerator.cpp +7 -16
- package/worker/src/RTC/PlainTransport.cpp +1 -1
- package/worker/src/RTC/PortManager.cpp +8 -4
- package/worker/src/RTC/Producer.cpp +1 -4
- package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +10 -9
- package/worker/src/RTC/RTCP/Packet.cpp +2 -2
- package/worker/src/RTC/RtcLogger.cpp +5 -5
- package/worker/src/RTC/RtpDictionaries/RtpHeaderExtensionParameters.cpp +0 -1
- package/worker/src/RTC/RtpPacket.cpp +2 -12
- package/worker/src/RTC/RtpRetransmissionBuffer.cpp +38 -36
- package/worker/src/RTC/RtpStreamRecv.cpp +3 -3
- package/worker/src/RTC/SctpAssociation.cpp +36 -19
- package/worker/src/RTC/SctpDictionaries/SctpStreamParameters.cpp +0 -1
- package/worker/src/RTC/SeqManager.cpp +5 -5
- package/worker/src/RTC/SimulcastConsumer.cpp +1 -2
- package/worker/src/RTC/StunPacket.cpp +14 -14
- package/worker/src/RTC/Transport.cpp +5 -4
- package/worker/src/RTC/WebRtcServer.cpp +31 -29
- package/worker/src/RTC/WebRtcTransport.cpp +3 -3
- package/worker/src/Settings.cpp +8 -8
- package/worker/src/Utils/Crypto.cpp +1 -1
- package/worker/src/Utils/File.cpp +3 -1
- package/worker/src/Utils/IP.cpp +2 -2
- package/worker/src/Utils/String.cpp +3 -3
- package/worker/src/Worker.cpp +7 -7
- package/worker/src/handles/TcpConnectionHandle.cpp +4 -3
- package/worker/src/handles/TcpServerHandle.cpp +14 -12
- package/worker/src/handles/TimerHandle.cpp +1 -2
- package/worker/src/handles/UdpSocketHandle.cpp +18 -17
- package/worker/src/handles/UnixStreamSocketHandle.cpp +15 -14
- package/worker/src/lib.cpp +10 -7
- package/worker/tasks.py +47 -35
- package/worker/test/src/Utils/TestIP.cpp +1 -1
- package/node/lib/fbs/data-consumer/binary.d.ts +0 -25
- package/node/lib/fbs/data-consumer/binary.d.ts.map +0 -1
- package/node/lib/fbs/data-consumer/binary.js +0 -77
- package/node/lib/fbs/data-consumer/data.d.ts +0 -10
- package/node/lib/fbs/data-consumer/data.d.ts.map +0 -1
- package/node/lib/fbs/data-consumer/data.js +0 -30
- package/node/lib/fbs/data-consumer/string.d.ts +0 -22
- package/node/lib/fbs/data-consumer/string.d.ts.map +0 -1
- package/node/lib/fbs/data-consumer/string.js +0 -59
- package/node/lib/fbs/data-producer/binary.d.ts +0 -25
- package/node/lib/fbs/data-producer/binary.d.ts.map +0 -1
- package/node/lib/fbs/data-producer/binary.js +0 -77
- package/node/lib/fbs/data-producer/data.d.ts +0 -10
- package/node/lib/fbs/data-producer/data.d.ts.map +0 -1
- package/node/lib/fbs/data-producer/data.js +0 -30
- package/node/lib/fbs/data-producer/string.d.ts +0 -22
- package/node/lib/fbs/data-producer/string.d.ts.map +0 -1
- package/node/lib/fbs/data-producer/string.js +0 -59
- package/node/lib/fbs/message/type.d.ts +0 -7
- package/node/lib/fbs/message/type.d.ts.map +0 -1
- package/node/lib/fbs/message/type.js +0 -11
- package/node/lib/tests/test-ActiveSpeakerObserver.d.ts.map +0 -1
- package/node/lib/tests/test-ActiveSpeakerObserver.js +0 -82
- package/node/lib/tests/test-AudioLevelObserver.d.ts.map +0 -1
- package/node/lib/tests/test-AudioLevelObserver.js +0 -92
- package/node/lib/tests/test-Consumer.d.ts.map +0 -1
- package/node/lib/tests/test-Consumer.js +0 -912
- package/node/lib/tests/test-DataConsumer.d.ts.map +0 -1
- package/node/lib/tests/test-DataConsumer.js +0 -285
- package/node/lib/tests/test-DataProducer.d.ts.map +0 -1
- package/node/lib/tests/test-DirectTransport.d.ts.map +0 -1
- package/node/lib/tests/test-PipeTransport.d.ts.map +0 -1
- package/node/lib/tests/test-PlainTransport.d.ts.map +0 -1
- package/node/lib/tests/test-PlainTransport.js +0 -425
- package/node/lib/tests/test-Producer.d.ts.map +0 -1
- package/node/lib/tests/test-Router.js +0 -122
- package/node/lib/tests/test-WebRtcServer.d.ts.map +0 -1
- package/node/lib/tests/test-WebRtcTransport.d.ts.map +0 -1
- package/node/lib/tests/test-WebRtcTransport.js +0 -519
- package/node/lib/tests/test-Worker.js +0 -232
- package/node/lib/tests/test-mediasoup.d.ts.map +0 -1
- package/node/lib/tests/test-mediasoup.js +0 -42
- package/node/lib/tests/test-multiopus.d.ts.map +0 -1
- package/node/lib/tests/test-multiopus.js +0 -214
- package/node/lib/tests/test-node-sctp.d.ts.map +0 -1
- /package/node/lib/{tests → test}/test-ActiveSpeakerObserver.d.ts +0 -0
- /package/node/lib/{tests → test}/test-AudioLevelObserver.d.ts +0 -0
- /package/node/lib/{tests → test}/test-Consumer.d.ts +0 -0
- /package/node/lib/{tests → test}/test-DataConsumer.d.ts +0 -0
- /package/node/lib/{tests → test}/test-DataProducer.d.ts +0 -0
- /package/node/lib/{tests → test}/test-DirectTransport.d.ts +0 -0
- /package/node/lib/{tests → test}/test-PipeTransport.d.ts +0 -0
- /package/node/lib/{tests → test}/test-PlainTransport.d.ts +0 -0
- /package/node/lib/{tests → test}/test-Producer.d.ts +0 -0
- /package/node/lib/{tests → test}/test-Router.d.ts +0 -0
- /package/node/lib/{tests → test}/test-WebRtcServer.d.ts +0 -0
- /package/node/lib/{tests → test}/test-WebRtcTransport.d.ts +0 -0
- /package/node/lib/{tests → test}/test-Worker.d.ts +0 -0
- /package/node/lib/{tests → test}/test-mediasoup.d.ts +0 -0
- /package/node/lib/{tests → test}/test-multiopus.d.ts +0 -0
- /package/node/lib/{tests → test}/test-node-sctp.d.ts +0 -0
- /package/node/lib/{tests → test}/test-ortc.d.ts +0 -0
package/README.md
CHANGED
|
@@ -10,58 +10,51 @@
|
|
|
10
10
|
[![][codeql-shield-mediasoup]][codeql-mediasoup]
|
|
11
11
|
[![][opencollective-shield-mediasoup]][opencollective-mediasoup]
|
|
12
12
|
|
|
13
|
-
|
|
14
13
|
## Website and Documentation
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
- [mediasoup.org][mediasoup-website]
|
|
18
16
|
|
|
19
17
|
## Support Forum
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
- [mediasoup.discourse.group][mediasoup-discourse]
|
|
23
20
|
|
|
24
21
|
## Design Goals
|
|
25
22
|
|
|
26
23
|
mediasoup and its client side libraries are designed to accomplish with the following goals:
|
|
27
24
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
- Be a [SFU](https://webrtcglossary.com/sfu) (Selective Forwarding Unit).
|
|
26
|
+
- Support both WebRTC and plain RTP input and output.
|
|
27
|
+
- Be a Node.js module or Rust crate in server side.
|
|
28
|
+
- Be a tiny TypeScript and C++ libraries in client side.
|
|
29
|
+
- Be minimalist: just handle the media layer.
|
|
30
|
+
- Be signaling agnostic: do not mandate any signaling protocol.
|
|
31
|
+
- Be super low level API.
|
|
32
|
+
- Support all existing WebRTC endpoints.
|
|
33
|
+
- Enable integration with well known multimedia libraries/tools.
|
|
38
34
|
|
|
39
35
|
## Architecture
|
|
40
36
|
|
|
41
37
|
![][mediasoup-architecture]
|
|
42
38
|
|
|
43
|
-
|
|
44
39
|
## Use Cases
|
|
45
40
|
|
|
46
41
|
mediasoup and its client side libraries provide a super low level API. They are intended to enable different use cases and scenarios, without any constraint or assumption. Some of these use cases are:
|
|
47
42
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
- Group video chat applications.
|
|
44
|
+
- One-to-many (or few-to-many) broadcasting applications in real-time.
|
|
45
|
+
- RTP streaming.
|
|
52
46
|
|
|
53
47
|
## Features
|
|
54
48
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
49
|
+
- ECMAScript 6/Idiomatic Rust low level API.
|
|
50
|
+
- Multi-stream: multiple audio/video streams over a single ICE + DTLS transport.
|
|
51
|
+
- IPv6 ready.
|
|
52
|
+
- ICE / DTLS / RTP / RTCP over UDP and TCP.
|
|
53
|
+
- Simulcast and SVC support.
|
|
54
|
+
- Congestion control.
|
|
55
|
+
- Sender and receiver bandwidth estimation with spatial/temporal layers distribution algorithm.
|
|
56
|
+
- Data message exchange (via WebRTC DataChannels, SCTP over plain UDP, and direct termination in Node.js/Rust).
|
|
57
|
+
- Extremely powerful (media worker thread/subprocess coded in C++ on top of [libuv](https://libuv.org)).
|
|
65
58
|
|
|
66
59
|
## Demo Online
|
|
67
60
|
|
|
@@ -69,31 +62,24 @@ mediasoup and its client side libraries provide a super low level API. They are
|
|
|
69
62
|
|
|
70
63
|
Try it at [v3demo.mediasoup.org](https://v3demo.mediasoup.org) ([source code](https://github.com/versatica/mediasoup-demo)).
|
|
71
64
|
|
|
72
|
-
|
|
73
65
|
## Authors
|
|
74
66
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
- Iñaki Baz Castillo [[website](https://inakibaz.me)|[github](https://github.com/ibc/)]
|
|
68
|
+
- José Luis Millán [[github](https://github.com/jmillan/)]
|
|
69
|
+
- Nazar Mokynskyi [[github](https://github.com/nazar-pc/)]
|
|
79
70
|
|
|
80
71
|
## Social
|
|
81
72
|
|
|
82
|
-
|
|
83
|
-
|
|
73
|
+
- Twitter: [@mediasoup_sfu](https://twitter.com/mediasoup_sfu)
|
|
84
74
|
|
|
85
75
|
## Sponsor
|
|
86
76
|
|
|
87
77
|
You can support mediasoup by [sponsoring][sponsor] it. Thanks!
|
|
88
78
|
|
|
89
|
-
|
|
90
79
|
## License
|
|
91
80
|
|
|
92
81
|
[ISC](./LICENSE)
|
|
93
82
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
83
|
[mediasoup-banner]: /art/mediasoup-banner.png
|
|
98
84
|
[mediasoup-website]: https://mediasoup.org
|
|
99
85
|
[mediasoup-discourse]: https://mediasoup.discourse.group
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"ActiveSpeakerObserver.d.ts","sourceRoot":"","sources":["../src/ActiveSpeakerObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,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,mCAAmC,GAAG,yBAAyB,GAAG;IAC7E,eAAe,EAAE,CAAC,oCAAoC,CAAC,CAAC;CACxD,CAAC;AAEF,KAAK,qCAAqC,CAAC,4BAA4B,IACtE,6BAA6B,CAAC,4BAA4B,CAAC,CAAC;AAI7D,qBAAa,qBAAqB,CACjC,4BAA4B,SAAS,OAAO,GAAG,OAAO,CACrD,SAAQ,WAAW,CACpB,4BAA4B,EAC5B,2BAA2B,CAC3B;IACA;;OAEG;gBAEF,OAAO,EAAE,qCAAqC,CAAC,4BAA4B,CAAC;IAO7E;;OAEG;IACH,IAAI,QAAQ,IAAI,oBAAoB,CAAC,mCAAmC,CAAC,CAExE;IAED,OAAO,CAAC,yBAAyB;CAkCjC"}
|
|
@@ -23,25 +23,23 @@ class ActiveSpeakerObserver extends RtpObserver_1.RtpObserver {
|
|
|
23
23
|
handleWorkerNotifications() {
|
|
24
24
|
this.channel.on(this.internal.rtpObserverId, (event, data) => {
|
|
25
25
|
switch (event) {
|
|
26
|
-
case notification_1.Event.ACTIVESPEAKEROBSERVER_DOMINANT_SPEAKER:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (!producer) {
|
|
32
|
-
break;
|
|
33
|
-
}
|
|
34
|
-
const dominantSpeaker = {
|
|
35
|
-
producer
|
|
36
|
-
};
|
|
37
|
-
this.safeEmit('dominantspeaker', dominantSpeaker);
|
|
38
|
-
this.observer.safeEmit('dominantspeaker', dominantSpeaker);
|
|
26
|
+
case notification_1.Event.ACTIVESPEAKEROBSERVER_DOMINANT_SPEAKER: {
|
|
27
|
+
const notification = new FbsActiveSpeakerObserver.DominantSpeakerNotification();
|
|
28
|
+
data.body(notification);
|
|
29
|
+
const producer = this.getProducerById(notification.producerId());
|
|
30
|
+
if (!producer) {
|
|
39
31
|
break;
|
|
40
32
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
const dominantSpeaker = {
|
|
34
|
+
producer,
|
|
35
|
+
};
|
|
36
|
+
this.safeEmit('dominantspeaker', dominantSpeaker);
|
|
37
|
+
this.observer.safeEmit('dominantspeaker', dominantSpeaker);
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
default: {
|
|
41
|
+
logger.error('ignoring unknown event "%s"', event);
|
|
42
|
+
}
|
|
45
43
|
}
|
|
46
44
|
});
|
|
47
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,MAAM,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"AudioLevelObserver.d.ts","sourceRoot":"","sources":["../src/AudioLevelObserver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKlC,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,gCAAgC,GAAG,yBAAyB,GAAG;IAC1E,OAAO,EAAE,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtC,OAAO,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF,KAAK,oCAAoC,CAAC,yBAAyB,IAClE,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;AAI1D,qBAAa,kBAAkB,CAC9B,yBAAyB,SAAS,OAAO,GAAG,OAAO,CAClD,SAAQ,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;IACzE;;OAEG;gBAEF,OAAO,EAAE,oCAAoC,CAAC,yBAAyB,CAAC;IAOzE;;OAEG;IACH,IAAI,QAAQ,IAAI,oBAAoB,CAAC,gCAAgC,CAAC,CAErE;IAED,OAAO,CAAC,yBAAyB;CAuDjC"}
|
|
@@ -24,36 +24,34 @@ class AudioLevelObserver extends RtpObserver_1.RtpObserver {
|
|
|
24
24
|
handleWorkerNotifications() {
|
|
25
25
|
this.channel.on(this.internal.rtpObserverId, (event, data) => {
|
|
26
26
|
switch (event) {
|
|
27
|
-
case notification_1.Event.AUDIOLEVELOBSERVER_VOLUMES:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// Emit observer event.
|
|
42
|
-
this.observer.safeEmit('volumes', volumes);
|
|
43
|
-
}
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
case notification_1.Event.AUDIOLEVELOBSERVER_SILENCE:
|
|
47
|
-
{
|
|
48
|
-
this.safeEmit('silence');
|
|
27
|
+
case notification_1.Event.AUDIOLEVELOBSERVER_VOLUMES: {
|
|
28
|
+
const notification = new FbsAudioLevelObserver.VolumesNotification();
|
|
29
|
+
data.body(notification);
|
|
30
|
+
// Get the corresponding Producer instance and remove entries with
|
|
31
|
+
// no Producer (it may have been closed in the meanwhile).
|
|
32
|
+
const volumes = utils
|
|
33
|
+
.parseVector(notification, 'volumes', parseVolume)
|
|
34
|
+
.map(({ producerId, volume, }) => ({
|
|
35
|
+
producer: this.getProducerById(producerId),
|
|
36
|
+
volume,
|
|
37
|
+
}))
|
|
38
|
+
.filter(({ producer }) => producer);
|
|
39
|
+
if (volumes.length > 0) {
|
|
40
|
+
this.safeEmit('volumes', volumes);
|
|
49
41
|
// Emit observer event.
|
|
50
|
-
this.observer.safeEmit('
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
default:
|
|
54
|
-
{
|
|
55
|
-
logger.error('ignoring unknown event "%s"', event);
|
|
42
|
+
this.observer.safeEmit('volumes', volumes);
|
|
56
43
|
}
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
case notification_1.Event.AUDIOLEVELOBSERVER_SILENCE: {
|
|
47
|
+
this.safeEmit('silence');
|
|
48
|
+
// Emit observer event.
|
|
49
|
+
this.observer.safeEmit('silence');
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
default: {
|
|
53
|
+
logger.error('ignoring unknown event "%s"', event);
|
|
54
|
+
}
|
|
57
55
|
}
|
|
58
56
|
});
|
|
59
57
|
}
|
|
@@ -62,6 +60,6 @@ exports.AudioLevelObserver = AudioLevelObserver;
|
|
|
62
60
|
function parseVolume(binary) {
|
|
63
61
|
return {
|
|
64
62
|
producerId: binary.producerId(),
|
|
65
|
-
volume: binary.volume()
|
|
63
|
+
volume: binary.volume(),
|
|
66
64
|
};
|
|
67
65
|
}
|
package/node/lib/Channel.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class Channel extends EnhancedEventEmitter {
|
|
|
8
8
|
/**
|
|
9
9
|
* @private
|
|
10
10
|
*/
|
|
11
|
-
constructor({ producerSocket, consumerSocket, pid }: {
|
|
11
|
+
constructor({ producerSocket, consumerSocket, pid, }: {
|
|
12
12
|
producerSocket: any;
|
|
13
13
|
consumerSocket: any;
|
|
14
14
|
pid: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,EAAW,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"Channel.d.ts","sourceRoot":"","sources":["../src/Channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,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;;IAsBhD;;OAEG;gBACS,EACX,cAAc,EACd,cAAc,EACd,GAAG,GACH,EAAE;QACF,cAAc,EAAE,GAAG,CAAC;QACpB,cAAc,EAAE,GAAG,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACZ;IAmID;;OAEG;IACH,IAAI,aAAa,IAAI,WAAW,CAAC,OAAO,CAEvC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAiCb;;OAEG;IACH,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;IA4FpB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,UAAU;CAkClB"}
|
package/node/lib/Channel.js
CHANGED
|
@@ -34,7 +34,7 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
34
34
|
/**
|
|
35
35
|
* @private
|
|
36
36
|
*/
|
|
37
|
-
constructor({ producerSocket, consumerSocket, pid }) {
|
|
37
|
+
constructor({ producerSocket, consumerSocket, pid, }) {
|
|
38
38
|
super();
|
|
39
39
|
logger.debug('constructor()');
|
|
40
40
|
this.#producerSocket = producerSocket;
|
|
@@ -54,8 +54,8 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
let msgStart = 0;
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
// eslint-disable-next-line no-constant-condition
|
|
58
|
+
while (true) {
|
|
59
59
|
const readLen = this.#recvBuffer.length - msgStart;
|
|
60
60
|
if (readLen < 4) {
|
|
61
61
|
// Incomplete data.
|
|
@@ -73,46 +73,42 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
73
73
|
const message = message_1.Message.getRootAsMessage(buf);
|
|
74
74
|
try {
|
|
75
75
|
switch (message.dataType()) {
|
|
76
|
-
case message_1.Body.Response:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
{
|
|
99
|
-
// eslint-disable-next-line no-console
|
|
100
|
-
console.warn(`worker[pid:${pid}] unexpected data: %s`, payload.toString('utf8', 1));
|
|
101
|
-
}
|
|
76
|
+
case message_1.Body.Response: {
|
|
77
|
+
const response = new response_1.Response();
|
|
78
|
+
message.data(response);
|
|
79
|
+
this.processResponse(response);
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
case message_1.Body.Notification: {
|
|
83
|
+
const notification = new notification_1.Notification();
|
|
84
|
+
message.data(notification);
|
|
85
|
+
this.processNotification(notification);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case message_1.Body.Log: {
|
|
89
|
+
const log = new log_1.Log();
|
|
90
|
+
message.data(log);
|
|
91
|
+
this.processLog(pid, log);
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
default: {
|
|
95
|
+
// eslint-disable-next-line no-console
|
|
96
|
+
console.warn(`worker[pid:${pid}] unexpected data: ${payload.toString('utf8', 1)}`);
|
|
97
|
+
}
|
|
102
98
|
}
|
|
103
99
|
}
|
|
104
100
|
catch (error) {
|
|
105
|
-
logger.error(
|
|
101
|
+
logger.error(`received invalid message from the worker process: ${error}`);
|
|
106
102
|
}
|
|
107
103
|
}
|
|
108
104
|
if (msgStart != 0) {
|
|
109
105
|
this.#recvBuffer = this.#recvBuffer.slice(msgStart);
|
|
110
106
|
}
|
|
111
107
|
});
|
|
112
|
-
this.#consumerSocket.on('end', () =>
|
|
113
|
-
this.#consumerSocket.on('error',
|
|
114
|
-
this.#producerSocket.on('end', () =>
|
|
115
|
-
this.#producerSocket.on('error',
|
|
108
|
+
this.#consumerSocket.on('end', () => logger.debug('Consumer Channel ended by the worker process'));
|
|
109
|
+
this.#consumerSocket.on('error', error => logger.error(`Consumer Channel error: ${error}`));
|
|
110
|
+
this.#producerSocket.on('end', () => logger.debug('Producer Channel ended by the worker process'));
|
|
111
|
+
this.#producerSocket.on('error', error => logger.error(`Producer Channel error: ${error}`));
|
|
116
112
|
}
|
|
117
113
|
/**
|
|
118
114
|
* flatbuffer builder.
|
|
@@ -141,25 +137,23 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
141
137
|
this.#producerSocket.removeAllListeners('end');
|
|
142
138
|
this.#producerSocket.removeAllListeners('error');
|
|
143
139
|
this.#producerSocket.on('error', () => { });
|
|
144
|
-
// Destroy the
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
catch (error) { }
|
|
154
|
-
}, 200);
|
|
140
|
+
// Destroy the sockets.
|
|
141
|
+
try {
|
|
142
|
+
this.#producerSocket.destroy();
|
|
143
|
+
}
|
|
144
|
+
catch (error) { }
|
|
145
|
+
try {
|
|
146
|
+
this.#consumerSocket.destroy();
|
|
147
|
+
}
|
|
148
|
+
catch (error) { }
|
|
155
149
|
}
|
|
156
150
|
/**
|
|
157
151
|
* @private
|
|
158
152
|
*/
|
|
159
153
|
notify(event, bodyType, bodyOffset, handlerId) {
|
|
160
|
-
logger.debug(
|
|
154
|
+
logger.debug(`notify() [event:${notification_1.Event[event]}]`);
|
|
161
155
|
if (this.#closed) {
|
|
162
|
-
throw new errors_1.InvalidStateError(
|
|
156
|
+
throw new errors_1.InvalidStateError(`Channel closed, cannot send notification [event:${notification_1.Event[event]}]`);
|
|
163
157
|
}
|
|
164
158
|
const handlerIdOffset = this.#bufferBuilder.createString(handlerId);
|
|
165
159
|
let notificationOffset;
|
|
@@ -178,20 +172,21 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
178
172
|
// Clear the buffer builder so it's reused for the next request.
|
|
179
173
|
this.#bufferBuilder.clear();
|
|
180
174
|
if (buffer.byteLength > MESSAGE_MAX_LEN) {
|
|
181
|
-
throw new Error(
|
|
175
|
+
throw new Error(`notification too big [event:${notification_1.Event[event]}]`);
|
|
182
176
|
}
|
|
183
177
|
try {
|
|
184
178
|
// This may throw if closed or remote side ended.
|
|
185
179
|
this.#producerSocket.write(buffer, 'binary');
|
|
186
180
|
}
|
|
187
181
|
catch (error) {
|
|
188
|
-
logger.warn(
|
|
182
|
+
logger.warn(`notify() | sending notification failed: ${error}`);
|
|
189
183
|
return;
|
|
190
184
|
}
|
|
191
185
|
}
|
|
192
186
|
async request(method, bodyType, bodyOffset, handlerId) {
|
|
187
|
+
logger.debug(`request() [method:${request_1.Method[method]}]`);
|
|
193
188
|
if (this.#closed) {
|
|
194
|
-
throw new errors_1.InvalidStateError(
|
|
189
|
+
throw new errors_1.InvalidStateError(`Channel closed, cannot send request [method:${request_1.Method[method]}]`);
|
|
195
190
|
}
|
|
196
191
|
this.#nextId < 4294967295 ? ++this.#nextId : (this.#nextId = 1);
|
|
197
192
|
const id = this.#nextId;
|
|
@@ -212,7 +207,7 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
212
207
|
// Clear the buffer builder so it's reused for the next request.
|
|
213
208
|
this.#bufferBuilder.clear();
|
|
214
209
|
if (buffer.byteLength > MESSAGE_MAX_LEN) {
|
|
215
|
-
throw new Error(
|
|
210
|
+
throw new Error(`request too big [method:${request_1.Method[method]}]`);
|
|
216
211
|
}
|
|
217
212
|
// This may throw if closed or remote side ended.
|
|
218
213
|
this.#producerSocket.write(buffer, 'binary');
|
|
@@ -220,21 +215,21 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
220
215
|
const sent = {
|
|
221
216
|
id: id,
|
|
222
217
|
method: request_1.Method[method],
|
|
223
|
-
resolve:
|
|
218
|
+
resolve: data2 => {
|
|
224
219
|
if (!this.#sents.delete(id)) {
|
|
225
220
|
return;
|
|
226
221
|
}
|
|
227
222
|
pResolve(data2);
|
|
228
223
|
},
|
|
229
|
-
reject:
|
|
224
|
+
reject: error => {
|
|
230
225
|
if (!this.#sents.delete(id)) {
|
|
231
226
|
return;
|
|
232
227
|
}
|
|
233
228
|
pReject(error);
|
|
234
229
|
},
|
|
235
230
|
close: () => {
|
|
236
|
-
pReject(new errors_1.InvalidStateError(
|
|
237
|
-
}
|
|
231
|
+
pReject(new errors_1.InvalidStateError(`Channel closed, pending request aborted [method:${request_1.Method[method]}, id:${id}]`));
|
|
232
|
+
},
|
|
238
233
|
};
|
|
239
234
|
// Add sent stuff to the map.
|
|
240
235
|
this.#sents.set(id, sent);
|
|
@@ -243,29 +238,27 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
243
238
|
processResponse(response) {
|
|
244
239
|
const sent = this.#sents.get(response.id());
|
|
245
240
|
if (!sent) {
|
|
246
|
-
logger.error(
|
|
241
|
+
logger.error(`received response does not match any sent request [id:${response.id}]`);
|
|
247
242
|
return;
|
|
248
243
|
}
|
|
249
244
|
if (response.accepted()) {
|
|
250
|
-
logger.debug(
|
|
245
|
+
logger.debug(`request succeeded [method:${sent.method}, id:${sent.id}]`);
|
|
251
246
|
sent.resolve(response);
|
|
252
247
|
}
|
|
253
248
|
else if (response.error()) {
|
|
254
|
-
logger.warn(
|
|
249
|
+
logger.warn(`request failed [method:${sent.method}, id:${sent.id}]: ${response.reason()}`);
|
|
255
250
|
switch (response.error()) {
|
|
256
|
-
case 'TypeError':
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
sent.reject(new Error(response.reason()));
|
|
264
|
-
}
|
|
251
|
+
case 'TypeError': {
|
|
252
|
+
sent.reject(new TypeError(response.reason()));
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
default: {
|
|
256
|
+
sent.reject(new Error(response.reason()));
|
|
257
|
+
}
|
|
265
258
|
}
|
|
266
259
|
}
|
|
267
260
|
else {
|
|
268
|
-
logger.error(
|
|
261
|
+
logger.error(`received response is not accepted nor rejected [method:${sent.method}, id:${sent.id}]`);
|
|
269
262
|
}
|
|
270
263
|
}
|
|
271
264
|
processNotification(notification) {
|
|
@@ -281,30 +274,26 @@ class Channel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
281
274
|
const logData = log.data();
|
|
282
275
|
switch (logData[0]) {
|
|
283
276
|
// 'D' (a debug log).
|
|
284
|
-
case 'D':
|
|
285
|
-
{
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
277
|
+
case 'D': {
|
|
278
|
+
logger.debug(`[pid:${pid}] ${logData.slice(1)}`);
|
|
279
|
+
break;
|
|
280
|
+
}
|
|
289
281
|
// 'W' (a warn log).
|
|
290
|
-
case 'W':
|
|
291
|
-
{
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
282
|
+
case 'W': {
|
|
283
|
+
logger.warn(`[pid:${pid}] ${logData.slice(1)}`);
|
|
284
|
+
break;
|
|
285
|
+
}
|
|
295
286
|
// 'E' (a error log).
|
|
296
|
-
case 'E':
|
|
297
|
-
{
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
}
|
|
287
|
+
case 'E': {
|
|
288
|
+
logger.error(`[pid:${pid}] ${logData.slice(1)}`);
|
|
289
|
+
break;
|
|
290
|
+
}
|
|
301
291
|
// 'X' (a dump log).
|
|
302
|
-
case 'X':
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
}
|
|
292
|
+
case 'X': {
|
|
293
|
+
// eslint-disable-next-line no-console
|
|
294
|
+
console.log(logData.slice(1));
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
308
297
|
}
|
|
309
298
|
}
|
|
310
299
|
}
|
package/node/lib/Consumer.d.ts
CHANGED
|
@@ -221,7 +221,7 @@ export declare class Consumer<ConsumerAppData extends AppData = AppData> extends
|
|
|
221
221
|
/**
|
|
222
222
|
* @private
|
|
223
223
|
*/
|
|
224
|
-
constructor({ internal, data, channel, appData, paused, producerPaused, score, preferredLayers }: {
|
|
224
|
+
constructor({ internal, data, channel, appData, paused, producerPaused, score, preferredLayers, }: {
|
|
225
225
|
internal: ConsumerInternal;
|
|
226
226
|
data: ConsumerData;
|
|
227
227
|
channel: Channel;
|
|
@@ -325,7 +325,7 @@ export declare class Consumer<ConsumerAppData extends AppData = AppData> extends
|
|
|
325
325
|
/**
|
|
326
326
|
* Set preferred video layers.
|
|
327
327
|
*/
|
|
328
|
-
setPreferredLayers({ spatialLayer, temporalLayer }: ConsumerLayers): Promise<void>;
|
|
328
|
+
setPreferredLayers({ spatialLayer, temporalLayer, }: ConsumerLayers): Promise<void>;
|
|
329
329
|
/**
|
|
330
330
|
* Set priority.
|
|
331
331
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Consumer.d.ts","sourceRoot":"","sources":["../src/Consumer.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACN,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,aAAa,EAGb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAuB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMlC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAO9C,MAAM,MAAM,eAAe,CAAC,eAAe,SAAS,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"Consumer.d.ts","sourceRoot":"","sources":["../src/Consumer.ts"],"names":[],"mappings":"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"}
|