hap-nodejs 1.1.1-beta.5 → 1.1.1-beta.7
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/@types/bonjour-hap.d.ts +53 -50
- package/@types/simple-plist.d.ts +4 -0
- package/README.md +19 -16
- package/dist/accessories/AirConditioner_accessory.js +32 -30
- package/dist/accessories/AirConditioner_accessory.js.map +1 -1
- package/dist/accessories/AppleTVRemote_accessory.js +86 -74
- package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
- package/dist/accessories/Camera_accessory.js +138 -143
- package/dist/accessories/Camera_accessory.js.map +1 -1
- package/dist/accessories/Fan_accessory.js +24 -20
- package/dist/accessories/Fan_accessory.js.map +1 -1
- package/dist/accessories/GarageDoorOpener_accessory.js +37 -35
- package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
- package/dist/accessories/Light-AdaptiveLighting_accessory.js +46 -44
- package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
- package/dist/accessories/Light_accessory.js +36 -34
- package/dist/accessories/Light_accessory.js.map +1 -1
- package/dist/accessories/Lock_accessory.js +28 -27
- package/dist/accessories/Lock_accessory.js.map +1 -1
- package/dist/accessories/MotionSensor_accessory.js +18 -15
- package/dist/accessories/MotionSensor_accessory.js.map +1 -1
- package/dist/accessories/Outlet_accessory.js +24 -22
- package/dist/accessories/Outlet_accessory.js.map +1 -1
- package/dist/accessories/SmartSpeaker_accessory.js +22 -20
- package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
- package/dist/accessories/Sprinkler_accessory.js +39 -36
- package/dist/accessories/Sprinkler_accessory.js.map +1 -1
- package/dist/accessories/TV_accessory.js +47 -45
- package/dist/accessories/TV_accessory.js.map +1 -1
- package/dist/accessories/TemperatureSensor_accessory.js +17 -14
- package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
- package/dist/accessories/Wi-FiRouter_accessory.js +14 -11
- package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
- package/dist/accessories/Wi-FiSatellite_accessory.js +16 -13
- package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.d.ts +3 -3
- package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
- package/dist/accessories/gstreamer-audioProducer.js +39 -38
- package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
- package/dist/accessories/types.d.ts +63 -63
- package/dist/accessories/types.d.ts.map +1 -1
- package/dist/accessories/types.js +87 -83
- package/dist/accessories/types.js.map +1 -1
- package/dist/index.d.ts +28 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -40
- package/dist/index.js.map +1 -1
- package/dist/internal-types.d.ts +1 -1
- package/dist/internal-types.d.ts.map +1 -1
- package/dist/internal-types.js +21 -19
- package/dist/internal-types.js.map +1 -1
- package/dist/lib/Accessory.d.ts +37 -38
- package/dist/lib/Accessory.d.ts.map +1 -1
- package/dist/lib/Accessory.js +299 -289
- package/dist/lib/Accessory.js.map +1 -1
- package/dist/lib/Advertiser.d.ts +7 -7
- package/dist/lib/Advertiser.d.ts.map +1 -1
- package/dist/lib/Advertiser.js +136 -128
- package/dist/lib/Advertiser.js.map +1 -1
- package/dist/lib/Bridge.d.ts +1 -1
- package/dist/lib/Bridge.d.ts.map +1 -1
- package/dist/lib/Bridge.js +6 -2
- package/dist/lib/Bridge.js.map +1 -1
- package/dist/lib/Characteristic.d.ts +41 -40
- package/dist/lib/Characteristic.d.ts.map +1 -1
- package/dist/lib/Characteristic.js +210 -206
- package/dist/lib/Characteristic.js.map +1 -1
- package/dist/lib/HAPServer.d.ts +30 -35
- package/dist/lib/HAPServer.d.ts.map +1 -1
- package/dist/lib/HAPServer.js +229 -225
- package/dist/lib/HAPServer.js.map +1 -1
- package/dist/lib/Service.d.ts +22 -22
- package/dist/lib/Service.d.ts.map +1 -1
- package/dist/lib/Service.js +71 -67
- package/dist/lib/Service.js.map +1 -1
- package/dist/lib/camera/RTPProxy.d.ts +1 -2
- package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
- package/dist/lib/camera/RTPProxy.js +44 -28
- package/dist/lib/camera/RTPProxy.js.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.d.ts +33 -34
- package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
- package/dist/lib/camera/RTPStreamManagement.js +149 -181
- package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
- package/dist/lib/camera/RecordingManagement.d.ts +17 -19
- package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
- package/dist/lib/camera/RecordingManagement.js +153 -162
- package/dist/lib/camera/RecordingManagement.js.map +1 -1
- package/dist/lib/camera/index.d.ts +3 -3
- package/dist/lib/camera/index.d.ts.map +1 -1
- package/dist/lib/camera/index.js +6 -3
- package/dist/lib/camera/index.js.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.d.ts +33 -33
- package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
- package/dist/lib/controller/AdaptiveLightingController.js +146 -154
- package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
- package/dist/lib/controller/CameraController.d.ts +20 -22
- package/dist/lib/controller/CameraController.d.ts.map +1 -1
- package/dist/lib/controller/CameraController.js +78 -74
- package/dist/lib/controller/CameraController.js.map +1 -1
- package/dist/lib/controller/Controller.d.ts +4 -4
- package/dist/lib/controller/Controller.d.ts.map +1 -1
- package/dist/lib/controller/Controller.js +8 -5
- package/dist/lib/controller/Controller.js.map +1 -1
- package/dist/lib/controller/DoorbellController.d.ts +4 -5
- package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
- package/dist/lib/controller/DoorbellController.js +13 -9
- package/dist/lib/controller/DoorbellController.js.map +1 -1
- package/dist/lib/controller/RemoteController.d.ts +37 -39
- package/dist/lib/controller/RemoteController.d.ts.map +1 -1
- package/dist/lib/controller/RemoteController.js +199 -210
- package/dist/lib/controller/RemoteController.js.map +1 -1
- package/dist/lib/controller/index.d.ts +5 -5
- package/dist/lib/controller/index.d.ts.map +1 -1
- package/dist/lib/controller/index.js +8 -5
- package/dist/lib/controller/index.js.map +1 -1
- package/dist/lib/datastream/DataStreamManagement.d.ts +2 -2
- package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamManagement.js +40 -40
- package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
- package/dist/lib/datastream/DataStreamParser.d.ts +0 -1
- package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamParser.js +77 -57
- package/dist/lib/datastream/DataStreamParser.js.map +1 -1
- package/dist/lib/datastream/DataStreamServer.d.ts +22 -27
- package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
- package/dist/lib/datastream/DataStreamServer.js +164 -159
- package/dist/lib/datastream/DataStreamServer.js.map +1 -1
- package/dist/lib/datastream/index.d.ts +3 -3
- package/dist/lib/datastream/index.d.ts.map +1 -1
- package/dist/lib/datastream/index.js +6 -3
- package/dist/lib/datastream/index.js.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/CharacteristicDefinitions.js +1203 -957
- package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts +1 -1
- package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
- package/dist/lib/definitions/ServiceDefinitions.js +695 -620
- package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
- package/dist/lib/definitions/generate-definitions.d.ts +3 -3
- package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
- package/dist/lib/definitions/generate-definitions.js +259 -247
- package/dist/lib/definitions/generate-definitions.js.map +1 -1
- package/dist/lib/definitions/generator-configuration.d.ts +1 -1
- package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
- package/dist/lib/definitions/generator-configuration.js +181 -176
- package/dist/lib/definitions/generator-configuration.js.map +1 -1
- package/dist/lib/definitions/index.d.ts +2 -2
- package/dist/lib/definitions/index.d.ts.map +1 -1
- package/dist/lib/definitions/index.js +5 -2
- package/dist/lib/definitions/index.js.map +1 -1
- package/dist/lib/gen/HomeKit.d.ts +7 -0
- package/dist/lib/gen/HomeKit.d.ts.map +1 -0
- package/dist/lib/gen/HomeKit.js +8 -0
- package/dist/lib/gen/HomeKit.js.map +1 -0
- package/dist/lib/model/AccessoryInfo.d.ts +3 -4
- package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
- package/dist/lib/model/AccessoryInfo.js +55 -52
- package/dist/lib/model/AccessoryInfo.js.map +1 -1
- package/dist/lib/model/ControllerStorage.d.ts +3 -3
- package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
- package/dist/lib/model/ControllerStorage.js +23 -18
- package/dist/lib/model/ControllerStorage.js.map +1 -1
- package/dist/lib/model/HAPStorage.d.ts +2 -2
- package/dist/lib/model/HAPStorage.d.ts.map +1 -1
- package/dist/lib/model/HAPStorage.js +11 -4
- package/dist/lib/model/HAPStorage.js.map +1 -1
- package/dist/lib/model/IdentifierCache.d.ts +1 -1
- package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
- package/dist/lib/model/IdentifierCache.js +27 -19
- package/dist/lib/model/IdentifierCache.js.map +1 -1
- package/dist/lib/tv/AccessControlManagement.d.ts +9 -9
- package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
- package/dist/lib/tv/AccessControlManagement.js +29 -27
- package/dist/lib/tv/AccessControlManagement.js.map +1 -1
- package/dist/lib/util/checkName.d.ts +2 -2
- package/dist/lib/util/checkName.d.ts.map +1 -1
- package/dist/lib/util/checkName.js +9 -6
- package/dist/lib/util/checkName.js.map +1 -1
- package/dist/lib/util/clone.d.ts.map +1 -1
- package/dist/lib/util/clone.js +5 -1
- package/dist/lib/util/clone.js.map +1 -1
- package/dist/lib/util/color-utils.d.ts +1 -1
- package/dist/lib/util/color-utils.d.ts.map +1 -1
- package/dist/lib/util/color-utils.js +9 -4
- package/dist/lib/util/color-utils.js.map +1 -1
- package/dist/lib/util/eventedhttp.d.ts +22 -23
- package/dist/lib/util/eventedhttp.d.ts.map +1 -1
- package/dist/lib/util/eventedhttp.js +116 -109
- package/dist/lib/util/eventedhttp.js.map +1 -1
- package/dist/lib/util/hapCrypto.d.ts +2 -3
- package/dist/lib/util/hapCrypto.d.ts.map +1 -1
- package/dist/lib/util/hapCrypto.js +40 -31
- package/dist/lib/util/hapCrypto.js.map +1 -1
- package/dist/lib/util/hapStatusError.d.ts +1 -1
- package/dist/lib/util/hapStatusError.d.ts.map +1 -1
- package/dist/lib/util/hapStatusError.js +8 -4
- package/dist/lib/util/hapStatusError.js.map +1 -1
- package/dist/lib/util/net-utils.d.ts +1 -1
- package/dist/lib/util/net-utils.js +23 -17
- package/dist/lib/util/net-utils.js.map +1 -1
- package/dist/lib/util/once.d.ts.map +1 -1
- package/dist/lib/util/once.js +6 -2
- package/dist/lib/util/once.js.map +1 -1
- package/dist/lib/util/promise-utils.d.ts +1 -1
- package/dist/lib/util/promise-utils.d.ts.map +1 -1
- package/dist/lib/util/promise-utils.js +10 -3
- package/dist/lib/util/promise-utils.js.map +1 -1
- package/dist/lib/util/request-util.d.ts +2 -3
- package/dist/lib/util/request-util.d.ts.map +1 -1
- package/dist/lib/util/request-util.js +19 -11
- package/dist/lib/util/request-util.js.map +1 -1
- package/dist/lib/util/time.d.ts +0 -1
- package/dist/lib/util/time.d.ts.map +1 -1
- package/dist/lib/util/time.js +11 -6
- package/dist/lib/util/time.js.map +1 -1
- package/dist/lib/util/tlv.d.ts +0 -1
- package/dist/lib/util/tlv.d.ts.map +1 -1
- package/dist/lib/util/tlv.js +43 -28
- package/dist/lib/util/tlv.js.map +1 -1
- package/dist/lib/util/uuid.d.ts +0 -1
- package/dist/lib/util/uuid.d.ts.map +1 -1
- package/dist/lib/util/uuid.js +38 -26
- package/dist/lib/util/uuid.js.map +1 -1
- package/dist/types.d.ts +24 -24
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -3
- package/dist/types.js.map +1 -1
- package/package.json +47 -52
- package/dist/lib/dbus/align.d.ts +0 -2
- package/dist/lib/dbus/align.d.ts.map +0 -1
- package/dist/lib/dbus/align.js +0 -12
- package/dist/lib/dbus/align.js.map +0 -1
- package/dist/lib/dbus/bus.d.ts +0 -38
- package/dist/lib/dbus/bus.d.ts.map +0 -1
- package/dist/lib/dbus/bus.js +0 -222
- package/dist/lib/dbus/bus.js.map +0 -1
- package/dist/lib/dbus/constants.d.ts +0 -43
- package/dist/lib/dbus/constants.d.ts.map +0 -1
- package/dist/lib/dbus/constants.js +0 -53
- package/dist/lib/dbus/constants.js.map +0 -1
- package/dist/lib/dbus/dbus-buffer.d.ts +0 -30
- package/dist/lib/dbus/dbus-buffer.d.ts.map +0 -1
- package/dist/lib/dbus/dbus-buffer.js +0 -175
- package/dist/lib/dbus/dbus-buffer.js.map +0 -1
- package/dist/lib/dbus/handshake.d.ts +0 -2
- package/dist/lib/dbus/handshake.d.ts.map +0 -1
- package/dist/lib/dbus/handshake.js +0 -130
- package/dist/lib/dbus/handshake.js.map +0 -1
- package/dist/lib/dbus/index.d.ts +0 -3
- package/dist/lib/dbus/index.d.ts.map +0 -1
- package/dist/lib/dbus/index.js +0 -123
- package/dist/lib/dbus/index.js.map +0 -1
- package/dist/lib/dbus/introspect.d.ts +0 -30
- package/dist/lib/dbus/introspect.d.ts.map +0 -1
- package/dist/lib/dbus/introspect.js +0 -208
- package/dist/lib/dbus/introspect.js.map +0 -1
- package/dist/lib/dbus/marshall.d.ts +0 -2
- package/dist/lib/dbus/marshall.d.ts.map +0 -1
- package/dist/lib/dbus/marshall.js +0 -97
- package/dist/lib/dbus/marshall.js.map +0 -1
- package/dist/lib/dbus/marshallers.d.ts +0 -10
- package/dist/lib/dbus/marshallers.d.ts.map +0 -1
- package/dist/lib/dbus/marshallers.js +0 -329
- package/dist/lib/dbus/marshallers.js.map +0 -1
- package/dist/lib/dbus/message.d.ts +0 -4
- package/dist/lib/dbus/message.d.ts.map +0 -1
- package/dist/lib/dbus/message.js +0 -116
- package/dist/lib/dbus/message.js.map +0 -1
- package/dist/lib/dbus/put.d.ts +0 -21
- package/dist/lib/dbus/put.d.ts.map +0 -1
- package/dist/lib/dbus/put.js +0 -120
- package/dist/lib/dbus/put.js.map +0 -1
- package/dist/lib/dbus/readline.d.ts +0 -2
- package/dist/lib/dbus/readline.d.ts.map +0 -1
- package/dist/lib/dbus/readline.js +0 -27
- package/dist/lib/dbus/readline.js.map +0 -1
- package/dist/lib/dbus/signature.d.ts +0 -2
- package/dist/lib/dbus/signature.d.ts.map +0 -1
- package/dist/lib/dbus/signature.js +0 -59
- package/dist/lib/dbus/signature.js.map +0 -1
- package/dist/lib/dbus/stdifaces.d.ts +0 -3
- package/dist/lib/dbus/stdifaces.d.ts.map +0 -1
- package/dist/lib/dbus/stdifaces.js +0 -206
- package/dist/lib/dbus/stdifaces.js.map +0 -1
package/dist/lib/Service.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Service = exports.ServiceEventTypes = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
+
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
const Characteristic_1 = require("./Characteristic");
|
|
9
|
+
const uuid_1 = require("./util/uuid");
|
|
10
|
+
const checkName_1 = require("./util/checkName");
|
|
11
|
+
const debug = (0, debug_1.default)("HAP-NodeJS:Service");
|
|
8
12
|
/**
|
|
9
13
|
* HAP spec allows a maximum of 100 characteristics per service!
|
|
10
14
|
*/
|
|
@@ -12,13 +16,12 @@ const MAX_CHARACTERISTICS = 100;
|
|
|
12
16
|
/**
|
|
13
17
|
* @group Service
|
|
14
18
|
*/
|
|
15
|
-
|
|
16
|
-
export var ServiceEventTypes;
|
|
19
|
+
var ServiceEventTypes;
|
|
17
20
|
(function (ServiceEventTypes) {
|
|
18
21
|
ServiceEventTypes["CHARACTERISTIC_CHANGE"] = "characteristic-change";
|
|
19
22
|
ServiceEventTypes["SERVICE_CONFIGURATION_CHANGE"] = "service-configurationChange";
|
|
20
23
|
ServiceEventTypes["CHARACTERISTIC_WARNING"] = "characteristic-warning";
|
|
21
|
-
})(ServiceEventTypes || (ServiceEventTypes = {}));
|
|
24
|
+
})(ServiceEventTypes || (exports.ServiceEventTypes = ServiceEventTypes = {}));
|
|
22
25
|
/**
|
|
23
26
|
* Service represents a set of grouped values necessary to provide a logical function. For instance, a
|
|
24
27
|
* "Door Lock Mechanism" service might contain two values, one for the "desired lock state" and one for the
|
|
@@ -41,8 +44,8 @@ export var ServiceEventTypes;
|
|
|
41
44
|
*
|
|
42
45
|
* @group Service
|
|
43
46
|
*/
|
|
44
|
-
// eslint-disable-next-line
|
|
45
|
-
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
|
|
48
|
+
class Service extends events_1.EventEmitter {
|
|
46
49
|
// Service MUST NOT have any other static variables
|
|
47
50
|
// Pattern below is for automatic detection of the section of defined services. Used by the generator
|
|
48
51
|
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
@@ -351,9 +354,9 @@ export class Service extends EventEmitter {
|
|
|
351
354
|
* @private
|
|
352
355
|
*/
|
|
353
356
|
linkedServices = [];
|
|
354
|
-
constructor(displayName =
|
|
357
|
+
constructor(displayName = "", UUID, subtype) {
|
|
355
358
|
super();
|
|
356
|
-
|
|
359
|
+
(0, assert_1.default)(UUID, "Services must be created with a valid UUID.");
|
|
357
360
|
this.displayName = displayName;
|
|
358
361
|
this.UUID = UUID;
|
|
359
362
|
this.subtype = subtype;
|
|
@@ -362,9 +365,9 @@ export class Service extends EventEmitter {
|
|
|
362
365
|
// if you don't provide a display name, some HomeKit apps may choose to hide the device.
|
|
363
366
|
if (displayName) {
|
|
364
367
|
// create the characteristic if necessary
|
|
365
|
-
checkName(this.displayName,
|
|
366
|
-
const nameCharacteristic = this.getCharacteristic(Characteristic.Name)
|
|
367
|
-
|
|
368
|
+
(0, checkName_1.checkName)(this.displayName, "Name", displayName);
|
|
369
|
+
const nameCharacteristic = this.getCharacteristic(Characteristic_1.Characteristic.Name) ||
|
|
370
|
+
this.addCharacteristic(Characteristic_1.Characteristic.Name);
|
|
368
371
|
nameCharacteristic.updateValue(displayName);
|
|
369
372
|
}
|
|
370
373
|
}
|
|
@@ -376,24 +379,24 @@ export class Service extends EventEmitter {
|
|
|
376
379
|
* @returns the serviceId
|
|
377
380
|
*/
|
|
378
381
|
getServiceId() {
|
|
379
|
-
return this.UUID + (this.subtype ||
|
|
382
|
+
return this.UUID + (this.subtype || "");
|
|
380
383
|
}
|
|
384
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
381
385
|
addCharacteristic(input, ...constructorArgs) {
|
|
382
386
|
// characteristic might be a constructor like `Characteristic.Brightness` instead of an instance of Characteristic. Coerce if necessary.
|
|
383
|
-
|
|
384
|
-
const characteristic = typeof input === 'function' ? new input(...constructorArgs) : input;
|
|
387
|
+
const characteristic = typeof input === "function" ? new input(...constructorArgs) : input;
|
|
385
388
|
// check for UUID conflict
|
|
386
389
|
for (const existing of this.characteristics) {
|
|
387
390
|
if (existing.UUID === characteristic.UUID) {
|
|
388
|
-
if (characteristic.UUID ===
|
|
389
|
-
//
|
|
391
|
+
if (characteristic.UUID === "00000052-0000-1000-8000-0026BB765291") {
|
|
392
|
+
//This is a special workaround for the Firmware Revision characteristic.
|
|
390
393
|
return existing;
|
|
391
394
|
}
|
|
392
|
-
throw new Error(
|
|
395
|
+
throw new Error("Cannot add a Characteristic with the same UUID as another Characteristic in this Service: " + existing.UUID);
|
|
393
396
|
}
|
|
394
397
|
}
|
|
395
398
|
if (this.characteristics.length >= MAX_CHARACTERISTICS) {
|
|
396
|
-
throw new Error(
|
|
399
|
+
throw new Error("Cannot add more than " + MAX_CHARACTERISTICS + " characteristics to a single service!");
|
|
397
400
|
}
|
|
398
401
|
this.setupCharacteristicEventHandlers(characteristic);
|
|
399
402
|
this.characteristics.push(characteristic);
|
|
@@ -428,7 +431,7 @@ export class Service extends EventEmitter {
|
|
|
428
431
|
* @param service - The service this service should link to
|
|
429
432
|
*/
|
|
430
433
|
addLinkedService(service) {
|
|
431
|
-
//
|
|
434
|
+
//TODO: Add a check if the service is on the same accessory.
|
|
432
435
|
if (!this.linkedServices.includes(service)) {
|
|
433
436
|
this.linkedServices.push(service);
|
|
434
437
|
}
|
|
@@ -440,7 +443,7 @@ export class Service extends EventEmitter {
|
|
|
440
443
|
* @param service - Previously linked service
|
|
441
444
|
*/
|
|
442
445
|
removeLinkedService(service) {
|
|
443
|
-
//
|
|
446
|
+
//TODO: Add a check if the service is on the same accessory.
|
|
444
447
|
const index = this.linkedServices.indexOf(service);
|
|
445
448
|
if (index !== -1) {
|
|
446
449
|
this.linkedServices.splice(index, 1);
|
|
@@ -460,27 +463,27 @@ export class Service extends EventEmitter {
|
|
|
460
463
|
// If Service.prototype.getCharacteristic(Characteristic.Type) does not find the characteristic,
|
|
461
464
|
// but the type is in optionalCharacteristics, it adds the characteristic.type to the service and returns it.
|
|
462
465
|
for (const characteristic of this.characteristics) {
|
|
463
|
-
if (typeof name ===
|
|
466
|
+
if (typeof name === "string" && characteristic.displayName === name) {
|
|
464
467
|
return characteristic;
|
|
465
468
|
}
|
|
466
469
|
else {
|
|
467
|
-
// @ts-expect-error
|
|
468
|
-
if (typeof name ===
|
|
470
|
+
// @ts-expect-error ('UUID' does not exist on type 'never')
|
|
471
|
+
if (typeof name === "function" && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
|
|
469
472
|
return characteristic;
|
|
470
473
|
}
|
|
471
474
|
}
|
|
472
475
|
}
|
|
473
|
-
if (typeof name ===
|
|
476
|
+
if (typeof name === "function") {
|
|
474
477
|
for (const characteristic of this.optionalCharacteristics) {
|
|
475
|
-
// @ts-expect-error
|
|
478
|
+
// @ts-expect-error ('UUID' does not exist on type 'never')
|
|
476
479
|
if ((characteristic instanceof name) || (name.UUID === characteristic.UUID)) {
|
|
477
480
|
return this.addCharacteristic(name);
|
|
478
481
|
}
|
|
479
482
|
}
|
|
480
483
|
const instance = this.addCharacteristic(name);
|
|
481
484
|
// Not found in optional Characteristics. Adding anyway, but warning about it if it isn't the Name.
|
|
482
|
-
if (name.UUID !== Characteristic.Name.UUID) {
|
|
483
|
-
this.emitCharacteristicWarningEvent(instance, "warn-message" /* CharacteristicWarningType.WARN_MESSAGE */,
|
|
485
|
+
if (name.UUID !== Characteristic_1.Characteristic.Name.UUID) {
|
|
486
|
+
this.emitCharacteristicWarningEvent(instance, "warn-message" /* CharacteristicWarningType.WARN_MESSAGE */, "Characteristic not in required or optional characteristic section for service " + this.constructor.name + ". Adding anyway.");
|
|
484
487
|
}
|
|
485
488
|
return instance;
|
|
486
489
|
}
|
|
@@ -488,12 +491,12 @@ export class Service extends EventEmitter {
|
|
|
488
491
|
testCharacteristic(name) {
|
|
489
492
|
// checks for the existence of a characteristic object in the service
|
|
490
493
|
for (const characteristic of this.characteristics) {
|
|
491
|
-
if (typeof name ===
|
|
494
|
+
if (typeof name === "string" && characteristic.displayName === name) {
|
|
492
495
|
return true;
|
|
493
496
|
}
|
|
494
497
|
else {
|
|
495
|
-
// @ts-expect-error
|
|
496
|
-
if (typeof name ===
|
|
498
|
+
// @ts-expect-error ('UUID' does not exist on type 'never')
|
|
499
|
+
if (typeof name === "function" && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
|
|
497
500
|
return true;
|
|
498
501
|
}
|
|
499
502
|
}
|
|
@@ -501,7 +504,7 @@ export class Service extends EventEmitter {
|
|
|
501
504
|
return false;
|
|
502
505
|
}
|
|
503
506
|
setCharacteristic(name, value) {
|
|
504
|
-
// @ts-expect-error
|
|
507
|
+
// @ts-expect-error: We know that both overloads exists individually. There is just no publicly exposed type for that!
|
|
505
508
|
this.getCharacteristic(name).setValue(value);
|
|
506
509
|
return this; // for chaining
|
|
507
510
|
}
|
|
@@ -512,11 +515,12 @@ export class Service extends EventEmitter {
|
|
|
512
515
|
addOptionalCharacteristic(characteristic) {
|
|
513
516
|
// characteristic might be a constructor like `Characteristic.Brightness` instead of an instance
|
|
514
517
|
// of Characteristic. Coerce if necessary.
|
|
515
|
-
if (typeof characteristic ===
|
|
516
|
-
characteristic = new characteristic();
|
|
518
|
+
if (typeof characteristic === "function") {
|
|
519
|
+
characteristic = new characteristic();
|
|
517
520
|
}
|
|
518
521
|
this.optionalCharacteristics.push(characteristic);
|
|
519
522
|
}
|
|
523
|
+
// noinspection JSUnusedGlobalSymbols
|
|
520
524
|
/**
|
|
521
525
|
* This method was created to copy all characteristics from another service to this.
|
|
522
526
|
* It's only adopting is currently in homebridge to merge the AccessoryInformation service. So some things
|
|
@@ -525,7 +529,7 @@ export class Service extends EventEmitter {
|
|
|
525
529
|
* It will not remove characteristics which are present currently but not added on the other characteristic.
|
|
526
530
|
* It will not replace the characteristic if the value is falsy (except of '0' or 'false')
|
|
527
531
|
* @param service
|
|
528
|
-
* @private
|
|
532
|
+
* @private used by homebridge
|
|
529
533
|
*/
|
|
530
534
|
replaceCharacteristicsFromService(service) {
|
|
531
535
|
if (this.UUID !== service.UUID) {
|
|
@@ -533,7 +537,7 @@ export class Service extends EventEmitter {
|
|
|
533
537
|
}
|
|
534
538
|
const foreignCharacteristics = {}; // index foreign characteristics by UUID
|
|
535
539
|
service.characteristics.forEach(characteristic => foreignCharacteristics[characteristic.UUID] = characteristic);
|
|
536
|
-
this.characteristics.forEach(
|
|
540
|
+
this.characteristics.forEach(characteristic => {
|
|
537
541
|
const foreignCharacteristic = foreignCharacteristics[characteristic.UUID];
|
|
538
542
|
if (foreignCharacteristic) {
|
|
539
543
|
delete foreignCharacteristics[characteristic.UUID];
|
|
@@ -561,7 +565,7 @@ export class Service extends EventEmitter {
|
|
|
561
565
|
*/
|
|
562
566
|
_assignIDs(identifierCache, accessoryName, baseIID = 0) {
|
|
563
567
|
// the Accessory Information service must have a (reserved by IdentifierCache) ID of 1
|
|
564
|
-
if (this.UUID ===
|
|
568
|
+
if (this.UUID === "0000003E-0000-1000-8000-0026BB765291") {
|
|
565
569
|
this.iid = 1;
|
|
566
570
|
}
|
|
567
571
|
else {
|
|
@@ -575,14 +579,14 @@ export class Service extends EventEmitter {
|
|
|
575
579
|
}
|
|
576
580
|
/**
|
|
577
581
|
* Returns a JSON representation of this service suitable for delivering to HAP clients.
|
|
578
|
-
* @private
|
|
582
|
+
* @private used to generate response to /accessories query
|
|
579
583
|
*/
|
|
580
584
|
toHAP(connection, contactGetHandlers = true) {
|
|
581
|
-
return new Promise(
|
|
582
|
-
|
|
583
|
-
|
|
585
|
+
return new Promise(resolve => {
|
|
586
|
+
(0, assert_1.default)(this.iid, "iid cannot be undefined for service '" + this.displayName + "'");
|
|
587
|
+
(0, assert_1.default)(this.characteristics.length, "service '" + this.displayName + "' does not have any characteristics!");
|
|
584
588
|
const service = {
|
|
585
|
-
type: toShortForm(this.UUID),
|
|
589
|
+
type: (0, uuid_1.toShortForm)(this.UUID),
|
|
586
590
|
iid: this.iid,
|
|
587
591
|
characteristics: [],
|
|
588
592
|
hidden: this.isHiddenService ? true : undefined,
|
|
@@ -611,7 +615,8 @@ export class Service extends EventEmitter {
|
|
|
611
615
|
timeout = setTimeout(() => {
|
|
612
616
|
timeout = undefined;
|
|
613
617
|
for (const characteristic of missingCharacteristics) {
|
|
614
|
-
this.emitCharacteristicWarningEvent(characteristic, "timeout-read" /* CharacteristicWarningType.TIMEOUT_READ */,
|
|
618
|
+
this.emitCharacteristicWarningEvent(characteristic, "timeout-read" /* CharacteristicWarningType.TIMEOUT_READ */, "The read handler for the characteristic '" + characteristic?.displayName +
|
|
619
|
+
"' didn't respond at all!. Please check that you properly call the callback!");
|
|
615
620
|
service.characteristics.push(characteristic.internalHAPRepresentation()); // value is set to null
|
|
616
621
|
}
|
|
617
622
|
missingCharacteristics.clear();
|
|
@@ -620,7 +625,7 @@ export class Service extends EventEmitter {
|
|
|
620
625
|
}, 3000);
|
|
621
626
|
for (const characteristic of this.characteristics) {
|
|
622
627
|
missingCharacteristics.add(characteristic);
|
|
623
|
-
characteristic.toHAP(connection, contactGetHandlers).then(
|
|
628
|
+
characteristic.toHAP(connection, contactGetHandlers).then(value => {
|
|
624
629
|
if (!timeout) {
|
|
625
630
|
return; // if timeout is undefined, response was already sent out
|
|
626
631
|
}
|
|
@@ -639,13 +644,13 @@ export class Service extends EventEmitter {
|
|
|
639
644
|
}
|
|
640
645
|
/**
|
|
641
646
|
* Returns a JSON representation of this service without characteristic values.
|
|
642
|
-
* @private
|
|
647
|
+
* @private used to generate the config hash
|
|
643
648
|
*/
|
|
644
649
|
internalHAPRepresentation() {
|
|
645
|
-
|
|
646
|
-
|
|
650
|
+
(0, assert_1.default)(this.iid, "iid cannot be undefined for service '" + this.displayName + "'");
|
|
651
|
+
(0, assert_1.default)(this.characteristics.length, "service '" + this.displayName + "' does not have any characteristics!");
|
|
647
652
|
const service = {
|
|
648
|
-
type: toShortForm(this.UUID),
|
|
653
|
+
type: (0, uuid_1.toShortForm)(this.UUID),
|
|
649
654
|
iid: this.iid,
|
|
650
655
|
characteristics: this.characteristics.map(characteristic => characteristic.internalHAPRepresentation()),
|
|
651
656
|
hidden: this.isHiddenService ? true : undefined,
|
|
@@ -674,7 +679,7 @@ export class Service extends EventEmitter {
|
|
|
674
679
|
setupCharacteristicEventHandlers(characteristic) {
|
|
675
680
|
// listen for changes in characteristics and bubble them up
|
|
676
681
|
characteristic.on("change" /* CharacteristicEventTypes.CHANGE */, (change) => {
|
|
677
|
-
this.emit("characteristic-change" /* ServiceEventTypes.CHARACTERISTIC_CHANGE */, { ...change, characteristic });
|
|
682
|
+
this.emit("characteristic-change" /* ServiceEventTypes.CHARACTERISTIC_CHANGE */, { ...change, characteristic: characteristic });
|
|
678
683
|
});
|
|
679
684
|
characteristic.on("characteristic-warning" /* CharacteristicEventTypes.CHARACTERISTIC_WARNING */, this.emitCharacteristicWarningEvent.bind(this, characteristic));
|
|
680
685
|
}
|
|
@@ -683,11 +688,11 @@ export class Service extends EventEmitter {
|
|
|
683
688
|
*/
|
|
684
689
|
emitCharacteristicWarningEvent(characteristic, type, message, stack) {
|
|
685
690
|
this.emit("characteristic-warning" /* ServiceEventTypes.CHARACTERISTIC_WARNING */, {
|
|
686
|
-
characteristic,
|
|
687
|
-
type,
|
|
688
|
-
message,
|
|
691
|
+
characteristic: characteristic,
|
|
692
|
+
type: type,
|
|
693
|
+
message: message,
|
|
689
694
|
originatorChain: [this.displayName, characteristic.displayName],
|
|
690
|
-
stack,
|
|
695
|
+
stack: stack,
|
|
691
696
|
});
|
|
692
697
|
}
|
|
693
698
|
/**
|
|
@@ -704,18 +709,18 @@ export class Service extends EventEmitter {
|
|
|
704
709
|
*/
|
|
705
710
|
static serialize(service) {
|
|
706
711
|
let constructorName;
|
|
707
|
-
if (service.constructor.name !==
|
|
712
|
+
if (service.constructor.name !== "Service") {
|
|
708
713
|
constructorName = service.constructor.name;
|
|
709
714
|
}
|
|
710
715
|
return {
|
|
711
716
|
displayName: service.displayName,
|
|
712
717
|
UUID: service.UUID,
|
|
713
718
|
subtype: service.subtype,
|
|
714
|
-
constructorName,
|
|
719
|
+
constructorName: constructorName,
|
|
715
720
|
hiddenService: service.isHiddenService,
|
|
716
721
|
primaryService: service.isPrimaryService,
|
|
717
|
-
characteristics: service.characteristics.map(characteristic => Characteristic.serialize(characteristic)),
|
|
718
|
-
optionalCharacteristics: service.optionalCharacteristics.map(characteristic => Characteristic.serialize(characteristic)),
|
|
722
|
+
characteristics: service.characteristics.map(characteristic => Characteristic_1.Characteristic.serialize(characteristic)),
|
|
723
|
+
optionalCharacteristics: service.optionalCharacteristics.map(characteristic => Characteristic_1.Characteristic.serialize(characteristic)),
|
|
719
724
|
};
|
|
720
725
|
}
|
|
721
726
|
/**
|
|
@@ -733,18 +738,17 @@ export class Service extends EventEmitter {
|
|
|
733
738
|
}
|
|
734
739
|
service.isHiddenService = !!json.hiddenService;
|
|
735
740
|
service.isPrimaryService = !!json.primaryService;
|
|
736
|
-
const characteristics = json.characteristics.map(serialized => Characteristic.deserialize(serialized));
|
|
741
|
+
const characteristics = json.characteristics.map(serialized => Characteristic_1.Characteristic.deserialize(serialized));
|
|
737
742
|
service._sideloadCharacteristics(characteristics);
|
|
738
743
|
if (json.optionalCharacteristics) {
|
|
739
|
-
service.optionalCharacteristics = json.optionalCharacteristics.map(serialized => Characteristic.deserialize(serialized));
|
|
744
|
+
service.optionalCharacteristics = json.optionalCharacteristics.map(serialized => Characteristic_1.Characteristic.deserialize(serialized));
|
|
740
745
|
}
|
|
741
746
|
return service;
|
|
742
747
|
}
|
|
743
748
|
}
|
|
749
|
+
exports.Service = Service;
|
|
744
750
|
// We have a cyclic dependency problem. Within this file we have the definitions of "./definitions" as
|
|
745
751
|
// type imports only (in order to define the static properties). Setting those properties is done outside
|
|
746
752
|
// this file, within the definition files. Therefore, we import it at the end of this file. Seems weird, but is important.
|
|
747
|
-
(
|
|
748
|
-
await import('./definitions/ServiceDefinitions.js');
|
|
749
|
-
})();
|
|
753
|
+
require("./definitions/ServiceDefinitions");
|
|
750
754
|
//# sourceMappingURL=Service.js.map
|
package/dist/lib/Service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/lib/Service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/lib/Service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RTPProxy.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/RTPProxy.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"RTPProxy.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/RTPProxy.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAkBR,OAAO,EAAE,eAAe;IAjB3C,YAAY,SAAS;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAElB,iBAAiB,EAAG,MAAM,CAAC;IAC3B,kBAAkB,EAAG,MAAM,CAAC;IAC5B,cAAc,EAAG,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,eAAe;IAc3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,OAAO,IAAI,IAAI;IAcf,eAAe,IAAI,MAAM;IAUzB,gBAAgB,IAAI,MAAM;IAU1B,iBAAiB,IAAI,MAAM;IAU3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS3B,OAAO,IAAI,IAAI;IAkBf,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAuB7B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI;IA2BjG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkB9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAiB5B,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B/C,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwDtD"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const dgram_1 = tslib_1.__importDefault(require("dgram"));
|
|
3
5
|
/**
|
|
4
6
|
* RTPProxy to proxy unencrypted RTP and RTCP
|
|
5
7
|
*
|
|
@@ -9,7 +11,7 @@ import { createSocket } from 'node:dgram';
|
|
|
9
11
|
* with a custom HAP controller.
|
|
10
12
|
* @group Camera
|
|
11
13
|
*/
|
|
12
|
-
|
|
14
|
+
class RTPProxy {
|
|
13
15
|
options;
|
|
14
16
|
startingPort = 10000;
|
|
15
17
|
type;
|
|
@@ -28,7 +30,7 @@ export default class RTPProxy {
|
|
|
28
30
|
serverRTCPPort;
|
|
29
31
|
constructor(options) {
|
|
30
32
|
this.options = options;
|
|
31
|
-
this.type = options.isIPV6 ?
|
|
33
|
+
this.type = options.isIPV6 ? "udp6" : "udp4";
|
|
32
34
|
this.startingPort = 10000;
|
|
33
35
|
this.outgoingAddress = options.outgoingAddress;
|
|
34
36
|
this.outgoingPort = options.outgoingPort;
|
|
@@ -38,12 +40,16 @@ export default class RTPProxy {
|
|
|
38
40
|
this.incomingSSRC = null;
|
|
39
41
|
this.outgoingPayloadType = null;
|
|
40
42
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
setup() {
|
|
44
|
+
return this.createSocketPair(this.type)
|
|
45
|
+
.then((sockets) => {
|
|
46
|
+
this.incomingRTPSocket = sockets[0];
|
|
47
|
+
this.incomingRTCPSocket = sockets[1];
|
|
48
|
+
return this.createSocket(this.type);
|
|
49
|
+
}).then((socket) => {
|
|
50
|
+
this.outgoingSocket = socket;
|
|
51
|
+
this.onBound();
|
|
52
|
+
});
|
|
47
53
|
}
|
|
48
54
|
destroy() {
|
|
49
55
|
if (this.incomingRTPSocket) {
|
|
@@ -58,15 +64,24 @@ export default class RTPProxy {
|
|
|
58
64
|
}
|
|
59
65
|
incomingRTPPort() {
|
|
60
66
|
const address = this.incomingRTPSocket.address();
|
|
61
|
-
|
|
67
|
+
if (typeof address !== "string") {
|
|
68
|
+
return address.port;
|
|
69
|
+
}
|
|
70
|
+
throw new Error("Unsupported socket!");
|
|
62
71
|
}
|
|
63
72
|
incomingRTCPPort() {
|
|
64
73
|
const address = this.incomingRTCPSocket.address();
|
|
65
|
-
|
|
74
|
+
if (typeof address !== "string") {
|
|
75
|
+
return address.port;
|
|
76
|
+
}
|
|
77
|
+
throw new Error("Unsupported socket!");
|
|
66
78
|
}
|
|
67
79
|
outgoingLocalPort() {
|
|
68
80
|
const address = this.outgoingSocket.address();
|
|
69
|
-
|
|
81
|
+
if (typeof address !== "string") {
|
|
82
|
+
return address.port;
|
|
83
|
+
}
|
|
84
|
+
throw new Error("Unsupported socket!");
|
|
70
85
|
}
|
|
71
86
|
setServerAddress(address) {
|
|
72
87
|
this.serverAddress = address;
|
|
@@ -101,13 +116,13 @@ export default class RTPProxy {
|
|
|
101
116
|
if (this.disabled) {
|
|
102
117
|
return;
|
|
103
118
|
}
|
|
104
|
-
this.incomingRTPSocket.on(
|
|
119
|
+
this.incomingRTPSocket.on("message", msg => {
|
|
105
120
|
this.rtpMessage(msg);
|
|
106
121
|
});
|
|
107
|
-
this.incomingRTCPSocket.on(
|
|
122
|
+
this.incomingRTCPSocket.on("message", msg => {
|
|
108
123
|
this.rtcpMessage(msg);
|
|
109
124
|
});
|
|
110
|
-
this.outgoingSocket.on(
|
|
125
|
+
this.outgoingSocket.on("message", msg => {
|
|
111
126
|
this.rtcpReply(msg);
|
|
112
127
|
});
|
|
113
128
|
}
|
|
@@ -138,7 +153,7 @@ export default class RTPProxy {
|
|
|
138
153
|
if ((offset + 4 + len) > msg.length) {
|
|
139
154
|
break;
|
|
140
155
|
}
|
|
141
|
-
let packet = msg.
|
|
156
|
+
let packet = msg.slice(offset, offset + 4 + len);
|
|
142
157
|
packet = transform(pt, packet);
|
|
143
158
|
if (packet) {
|
|
144
159
|
rtcpPackets.push(packet);
|
|
@@ -179,9 +194,9 @@ export default class RTPProxy {
|
|
|
179
194
|
}
|
|
180
195
|
}
|
|
181
196
|
createSocket(type) {
|
|
182
|
-
return new Promise(
|
|
197
|
+
return new Promise(resolve => {
|
|
183
198
|
const retry = () => {
|
|
184
|
-
const socket = createSocket(type);
|
|
199
|
+
const socket = dgram_1.default.createSocket(type);
|
|
185
200
|
const bindErrorHandler = () => {
|
|
186
201
|
if (this.startingPort === 65535) {
|
|
187
202
|
this.startingPort = 10000;
|
|
@@ -192,8 +207,8 @@ export default class RTPProxy {
|
|
|
192
207
|
socket.close();
|
|
193
208
|
retry();
|
|
194
209
|
};
|
|
195
|
-
socket.once(
|
|
196
|
-
socket.on(
|
|
210
|
+
socket.once("error", bindErrorHandler);
|
|
211
|
+
socket.on("listening", () => {
|
|
197
212
|
resolve(socket);
|
|
198
213
|
});
|
|
199
214
|
socket.bind(this.startingPort);
|
|
@@ -202,10 +217,10 @@ export default class RTPProxy {
|
|
|
202
217
|
});
|
|
203
218
|
}
|
|
204
219
|
createSocketPair(type) {
|
|
205
|
-
return new Promise(
|
|
220
|
+
return new Promise(resolve => {
|
|
206
221
|
const retry = () => {
|
|
207
|
-
const socket1 = createSocket(type);
|
|
208
|
-
const socket2 = createSocket(type);
|
|
222
|
+
const socket1 = dgram_1.default.createSocket(type);
|
|
223
|
+
const socket2 = dgram_1.default.createSocket(type);
|
|
209
224
|
const state = { socket1: 0, socket2: 0 };
|
|
210
225
|
const recheck = () => {
|
|
211
226
|
if (state.socket1 === 0 || state.socket2 === 0) {
|
|
@@ -225,19 +240,19 @@ export default class RTPProxy {
|
|
|
225
240
|
socket2.close();
|
|
226
241
|
retry();
|
|
227
242
|
};
|
|
228
|
-
socket1.once(
|
|
243
|
+
socket1.once("error", () => {
|
|
229
244
|
state.socket1 = 1;
|
|
230
245
|
recheck();
|
|
231
246
|
});
|
|
232
|
-
socket2.once(
|
|
247
|
+
socket2.once("error", () => {
|
|
233
248
|
state.socket2 = 1;
|
|
234
249
|
recheck();
|
|
235
250
|
});
|
|
236
|
-
socket1.once(
|
|
251
|
+
socket1.once("listening", () => {
|
|
237
252
|
state.socket1 = 2;
|
|
238
253
|
recheck();
|
|
239
254
|
});
|
|
240
|
-
socket2.once(
|
|
255
|
+
socket2.once("listening", () => {
|
|
241
256
|
state.socket2 = 2;
|
|
242
257
|
recheck();
|
|
243
258
|
});
|
|
@@ -248,4 +263,5 @@ export default class RTPProxy {
|
|
|
248
263
|
});
|
|
249
264
|
}
|
|
250
265
|
}
|
|
266
|
+
exports.default = RTPProxy;
|
|
251
267
|
//# sourceMappingURL=RTPProxy.js.map
|