homebridge-plugin-utils 1.34.0 → 1.35.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.
@@ -24,8 +24,9 @@
24
24
  * @module
25
25
  */
26
26
  import { spawn } from "node:child_process";
27
+ import { EOL } from "node:os";
27
28
  import { EventEmitter } from "node:events";
28
- import os from "node:os";
29
+ import { FFMPEG_INPUT_TIMEOUT } from "./settings.js";
29
30
  import util from "node:util";
30
31
  // Matches non-printable control characters for stripping from FFmpeg stderr output. Compiled once at module scope rather than per data event.
31
32
  const NON_PRINTABLE_CHARS = /\p{C}+/gu;
@@ -60,18 +61,6 @@ const NON_PRINTABLE_CHARS = /\p{C}+/gu;
60
61
  * @category FFmpeg
61
62
  */
62
63
  export class FfmpegProcess extends EventEmitter {
63
- /**
64
- * Indicates if an error has occurred during FFmpeg process execution.
65
- */
66
- hasError;
67
- /**
68
- * Indicates whether the FFmpeg process has ended.
69
- */
70
- isEnded;
71
- /**
72
- * Indicates whether the FFmpeg process has started.
73
- */
74
- isStarted;
75
64
  /**
76
65
  * Optional callback to be called when the FFmpeg process is ready for streaming.
77
66
  */
@@ -96,6 +85,8 @@ export class FfmpegProcess extends EventEmitter {
96
85
  * The underlying Node.js ChildProcess instance for the FFmpeg process.
97
86
  */
98
87
  process;
88
+ _hasError;
89
+ _isStarted;
99
90
  /**
100
91
  * Accumulated log lines from standard error for error reporting and debugging.
101
92
  */
@@ -103,16 +94,20 @@ export class FfmpegProcess extends EventEmitter {
103
94
  ffmpegTimeout;
104
95
  isLogging;
105
96
  stderrBuffer;
97
+ /**
98
+ * Indicates whether the FFmpeg process has ended. Protected to allow subclass state transitions (e.g., signaling generators before shutdown).
99
+ */
100
+ _isEnded;
106
101
  // Create a new FFmpeg process instance.
107
102
  constructor(options, commandLineArgs, callback) {
108
103
  // Initialize our parent.
109
104
  super();
110
105
  this.callback = null;
111
106
  this.commandLineArgs = [];
112
- this.hasError = false;
107
+ this._hasError = false;
108
+ this._isEnded = false;
109
+ this._isStarted = false;
113
110
  this.isLogging = false;
114
- this.isEnded = false;
115
- this.isStarted = false;
116
111
  this.log = options.log;
117
112
  this.options = options;
118
113
  this.process = null;
@@ -141,8 +136,8 @@ export class FfmpegProcess extends EventEmitter {
141
136
  // See if we should display ffmpeg command output.
142
137
  this.isLogging = false;
143
138
  // Track if we've started or ended FFmpeg.
144
- this.isStarted = false;
145
- this.isEnded = false;
139
+ this._isStarted = false;
140
+ this._isEnded = false;
146
141
  // If we've got a loglevel specified, ensure we display it.
147
142
  if (this.commandLineArgs.includes("-loglevel")) {
148
143
  this.isLogging = true;
@@ -207,9 +202,9 @@ export class FfmpegProcess extends EventEmitter {
207
202
  // Inform us when we start receiving data back from FFmpeg. We do this here because it's the only
208
203
  // truly reliable place we can check on FFmpeg. stdin and stdout may not be used at all, depending
209
204
  // on the way FFmpeg is called, but stderr will always be there.
210
- if (!this.isStarted) {
211
- this.isStarted = true;
212
- this.isEnded = false;
205
+ if (!this._isStarted) {
206
+ this._isStarted = true;
207
+ this._isEnded = false;
213
208
  this.log.debug("FFmpeg process started.");
214
209
  // Always remember to execute the callback once we're setup to let homebridge know we're streaming.
215
210
  if (this.callback) {
@@ -218,18 +213,18 @@ export class FfmpegProcess extends EventEmitter {
218
213
  }
219
214
  }
220
215
  // Append to the current line we've been buffering. We don't want to output not-printable characters to ensure the log output is readable.
221
- this.stderrBuffer += data.toString().replace(NON_PRINTABLE_CHARS, os.EOL);
216
+ this.stderrBuffer += data.toString().replace(NON_PRINTABLE_CHARS, EOL);
222
217
  // Debugging and additional logging collection.
223
218
  for (;;) {
224
219
  // Find the next newline.
225
- const lineIndex = this.stderrBuffer.indexOf(os.EOL);
220
+ const lineIndex = this.stderrBuffer.indexOf(EOL);
226
221
  // If there's no newline, we're done until we get more data.
227
222
  if (lineIndex === -1) {
228
223
  return;
229
224
  }
230
225
  // Grab the next complete line, and increment our buffer.
231
226
  const line = this.stderrBuffer.slice(0, lineIndex);
232
- this.stderrBuffer = this.stderrBuffer.slice(lineIndex + os.EOL.length);
227
+ this.stderrBuffer = this.stderrBuffer.slice(lineIndex + EOL.length);
233
228
  this._stderrLog.push(line);
234
229
  // Show it to the user if it's been requested.
235
230
  if (this.isLogging || this.isVerbose || this.options.debug) {
@@ -243,8 +238,8 @@ export class FfmpegProcess extends EventEmitter {
243
238
  if (this.ffmpegTimeout) {
244
239
  clearTimeout(this.ffmpegTimeout);
245
240
  }
246
- this.isStarted = false;
247
- this.isEnded = true;
241
+ this._isStarted = false;
242
+ this._isEnded = true;
248
243
  // Some utilities to streamline things.
249
244
  const logPrefix = "FFmpeg process ended ";
250
245
  // FFmpeg ended normally and our canary didn't need to enforce FFmpeg's extinction.
@@ -257,7 +252,7 @@ export class FfmpegProcess extends EventEmitter {
257
252
  }
258
253
  else {
259
254
  // Flag that we've run into an FFmpeg error.
260
- this.hasError = true;
255
+ this._hasError = true;
261
256
  // Flush out any remaining output in our error buffer.
262
257
  if (this.stderrBuffer.length) {
263
258
  this._stderrLog.push(this.stderrBuffer + "\n");
@@ -288,7 +283,7 @@ export class FfmpegProcess extends EventEmitter {
288
283
  // In case we need to kill it again, just to be sure it's really dead.
289
284
  this.ffmpegTimeout = setTimeout(() => {
290
285
  this.process?.kill("SIGKILL");
291
- }, 5000);
286
+ }, FFMPEG_INPUT_TIMEOUT);
292
287
  // Send the kill shot.
293
288
  this.process?.kill();
294
289
  }
@@ -318,6 +313,24 @@ export class FfmpegProcess extends EventEmitter {
318
313
  this.log.error(x);
319
314
  }
320
315
  }
316
+ /**
317
+ * Indicates if an error has occurred during FFmpeg process execution.
318
+ */
319
+ get hasError() {
320
+ return this._hasError;
321
+ }
322
+ /**
323
+ * Indicates whether the FFmpeg process has ended.
324
+ */
325
+ get isEnded() {
326
+ return this._isEnded;
327
+ }
328
+ /**
329
+ * Indicates whether the FFmpeg process has started.
330
+ */
331
+ get isStarted() {
332
+ return this._isStarted;
333
+ }
321
334
  /**
322
335
  * Returns the accumulated standard error log lines from the FFmpeg process.
323
336
  *
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/ffmpeg/process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/ffmpeg/process.ts"],"names":[],"mappings":"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"}
@@ -143,7 +143,7 @@ declare abstract class FfmpegFMp4Process extends FfmpegProcess {
143
143
  protected abstract videoEncoderArgs(): string[];
144
144
  protected abstract postFilterArgs(): string[];
145
145
  protected abstract metadataLabel(): string;
146
- protected abstract handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type: string): void;
146
+ protected abstract handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type: number): void;
147
147
  /**
148
148
  * Prepares and configures the FFmpeg process for reading and parsing output fMP4 data. The box parsing loop is shared...each complete box is dispatched to the
149
149
  * subclass via handleParsedBox().
@@ -212,7 +212,7 @@ export declare class FfmpegRecordingProcess extends FfmpegFMp4Process {
212
212
  protected videoEncoderArgs(): string[];
213
213
  protected postFilterArgs(): string[];
214
214
  protected metadataLabel(): string;
215
- protected handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type: string): void;
215
+ protected handleParsedBox(header: Buffer, data: Buffer, dataLength: number, type: number): void;
216
216
  /**
217
217
  * Stops the FFmpeg process and performs cleanup, ensuring the segment generator can exit.
218
218
  */
@@ -276,7 +276,7 @@ export declare class FfmpegLivestreamProcess extends FfmpegFMp4Process {
276
276
  protected videoEncoderArgs(): string[];
277
277
  protected postFilterArgs(): string[];
278
278
  protected metadataLabel(): string;
279
- protected handleParsedBox(header: Buffer, data: Buffer, _dataLength: number, type: string): void;
279
+ protected handleParsedBox(header: Buffer, data: Buffer, _dataLength: number, type: number): void;
280
280
  /**
281
281
  * Starts the FFmpeg process, adjusting the fragment duration if segmentLength has been set.
282
282
  *
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { HKSV_IDR_INTERVAL, HKSV_TIMEOUT } from "./settings.js";
6
6
  import { runWithTimeout } from "../util.js";
7
+ import { BOX_HEADER_SIZE } from "./fmp4.js";
7
8
  import { FfmpegProcess } from "./process.js";
8
9
  import { once } from "node:events";
9
10
  // Utility to map HKSV audio recording codec types to their AAC Object Type identifiers. We also use satisfies here to ensure we account for any future changes that
@@ -21,6 +22,10 @@ const translateAudioSampleRate = {
21
22
  [4 /* AudioRecordingSamplerate.KHZ_44_1 */]: "44.1",
22
23
  [5 /* AudioRecordingSamplerate.KHZ_48 */]: "48"
23
24
  };
25
+ // ISO BMFF box type constants encoded as 32-bit integers for comparison without string allocation in the box-parsing hot path.
26
+ const BOX_TYPE_MDAT = 0x6D646174;
27
+ const BOX_TYPE_MOOF = 0x6D6F6F66;
28
+ const BOX_TYPE_MOOV = 0x6D6F6F76;
24
29
  // Reusable empty buffer sentinel for the box-parsing loop. Avoids repeated zero-byte allocations on every box reset.
25
30
  const EMPTY_BUFFER = Buffer.alloc(0);
26
31
  // Known HKSV-related errors due to occasional inconsistencies produced by the input stream and FFmpeg's own occasional quirkiness. Compiled once at module scope
@@ -82,7 +87,8 @@ class FfmpegFMp4Process extends FfmpegProcess {
82
87
  // own state, which avoids the virtual-call-from-constructor problem.
83
88
  this._isVerbose = isVerbose;
84
89
  }
85
- // Verbose flag stored during construction and consumed by buildCommandLine(). This avoids passing isVerbose through the hook method chain.
90
+ // Per-instance verbose flag, distinct from the inherited isVerbose which reflects the global codecSupport.verbose setting. We keep both so either a global debug
91
+ // setting or a per-session opt-in can enable verbose FFmpeg logging...the check in buildCommandLine() ORs them together.
86
92
  _isVerbose;
87
93
  // Assembles the FFmpeg command line by calling hook methods in the standard order. The shared skeleton lives here; mode-specific pieces come from subclass overrides.
88
94
  // Subclasses call this as the last step of their constructor, after their own state is fully initialized.
@@ -176,7 +182,7 @@ class FfmpegFMp4Process extends FfmpegProcess {
176
182
  let header = EMPTY_BUFFER;
177
183
  let bufferRemaining = EMPTY_BUFFER;
178
184
  let dataLength = 0;
179
- let type = "";
185
+ let type = 0;
180
186
  // Process FFmpeg output and parse out the fMP4 stream it's generating. Here, we take on the task of parsing the fMP4 stream that's being generated and split it up
181
187
  // into the MP4 boxes that HAP-NodeJS is ultimately expecting.
182
188
  this.process?.stdout.on("data", dataListener = (buffer) => {
@@ -193,20 +199,21 @@ class FfmpegFMp4Process extends FfmpegProcess {
193
199
  // No existing header, let's start a new box.
194
200
  if (!header.length) {
195
201
  // If there aren't enough bytes for a complete box header, save them for the next chunk.
196
- if (buffer.length < 8) {
202
+ if (buffer.length < BOX_HEADER_SIZE) {
197
203
  bufferRemaining = buffer;
198
204
  break;
199
205
  }
200
206
  // Grab the header. The first four bytes represents the length of the entire box. Second four bytes represent the box type.
201
- header = buffer.subarray(0, 8);
207
+ header = buffer.subarray(0, BOX_HEADER_SIZE);
202
208
  // Now we retrieve the length of the box.
203
209
  dataLength = header.readUInt32BE(0);
204
- // Get the type of the box. This is always a string and has a funky history to it that makes for an interesting read!
205
- type = header.subarray(4).toString();
210
+ // Read the box type as a 32-bit integer to avoid per-box string allocation. Box types are 4-byte ASCII codes ("moof", "mdat", etc.) - a legacy of Apple's
211
+ // original QuickTime "atoms" from 1991, carried forward when MPEG-4 Part 12 standardized the container as ISO BMFF and renamed atoms to "boxes."
212
+ type = header.readUInt32BE(4);
206
213
  // Finally, we get the data portion of the box.
207
- data = buffer.subarray(8, dataLength);
214
+ data = buffer.subarray(BOX_HEADER_SIZE, dataLength);
208
215
  // Mark our data offset so we account for the length of the data header and subtract it from the overall length to capture just the data portion.
209
- dataLength -= offset = 8;
216
+ dataLength -= offset = BOX_HEADER_SIZE;
210
217
  }
211
218
  else {
212
219
  // Grab the data from our buffer.
@@ -222,7 +229,7 @@ class FfmpegFMp4Process extends FfmpegProcess {
222
229
  this.handleParsedBox(header, data, dataLength, type);
223
230
  // Prepare to start a new box for the next buffer that we will be processing.
224
231
  header = EMPTY_BUFFER;
225
- type = "";
232
+ type = 0;
226
233
  // We've parsed an entire box, and there's no more data in this buffer to parse.
227
234
  if (buffer.length === (offset + dataLength)) {
228
235
  dataLength = 0;
@@ -246,7 +253,7 @@ class FfmpegFMp4Process extends FfmpegProcess {
246
253
  // Call our parent to get started.
247
254
  super.stopProcess();
248
255
  // Signal that the process has ended.
249
- this.isEnded = true;
256
+ this._isEnded = true;
250
257
  this.emit("close");
251
258
  }
252
259
  /**
@@ -388,7 +395,7 @@ export class FfmpegRecordingProcess extends FfmpegFMp4Process {
388
395
  */
389
396
  stopProcess() {
390
397
  // Emit mp4box to unblock segmentGenerator() if it's waiting, then let the base class handle the rest.
391
- this.isEnded = true;
398
+ this._isEnded = true;
392
399
  this.emit("mp4box");
393
400
  super.stopProcess();
394
401
  }
@@ -413,7 +420,7 @@ export class FfmpegRecordingProcess extends FfmpegFMp4Process {
413
420
  // Loop forever, generating either FTYP/MOOV box pairs or MOOF/MDAT box pairs for HomeKit Secure Video.
414
421
  for (;;) {
415
422
  // FFmpeg has finished its output - we're done.
416
- if (this.isEnded) {
423
+ if (this._isEnded) {
417
424
  return;
418
425
  }
419
426
  // If the buffer is empty, wait for our FFmpeg process to produce more boxes.
@@ -441,7 +448,7 @@ export class FfmpegRecordingProcess extends FfmpegFMp4Process {
441
448
  // of MOOF as the audio/video data "header", and MDAT as the "payload".
442
449
  //
443
450
  // Once we see these, we combine all the segments in our queue to send back to HomeKit.
444
- if ((box.type === "moov") || (box.type === "mdat")) {
451
+ if ((box.type === BOX_TYPE_MOOV) || (box.type === BOX_TYPE_MDAT)) {
445
452
  yield Buffer.concat(segment);
446
453
  segment = [];
447
454
  }
@@ -559,7 +566,7 @@ export class FfmpegLivestreamProcess extends FfmpegFMp4Process {
559
566
  if (!this.hasInitSegment) {
560
567
  // The initialization segment is everything before the first moof box. Once we've seen a moof box, we know we've captured it in full. We collect the parts into an
561
568
  // array and concatenate once at the end to avoid creating intermediate buffers on every pre-moof box.
562
- if (type === "moof") {
569
+ if (type === BOX_TYPE_MOOF) {
563
570
  this._initSegment = Buffer.concat(this._initSegmentParts);
564
571
  this._initSegmentParts = [];
565
572
  this.hasInitSegment = true;
@@ -609,9 +616,9 @@ export class FfmpegLivestreamProcess extends FfmpegFMp4Process {
609
616
  if (this.hasInitSegment) {
610
617
  return this._initSegment;
611
618
  }
612
- // Wait until the initialization segment is seen and then try again.
619
+ // Wait until the initialization segment is available.
613
620
  await once(this, "initsegment");
614
- return this.getInitSegment();
621
+ return this._initSegment;
615
622
  }
616
623
  /**
617
624
  * Returns the initialization segment as a Buffer, or null if not yet available.
@@ -1 +1 @@
1
- {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/ffmpeg/record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/ffmpeg/record.ts"],"names":[],"mappings":"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"}
@@ -44,8 +44,8 @@ import type { HomebridgePluginLogging } from "../util.js";
44
44
  * @category FFmpeg
45
45
  */
46
46
  export declare class RtpDemuxer extends EventEmitter {
47
- private heartbeatTimer;
48
- private heartbeatMsg;
47
+ private heartbeatTimer?;
48
+ private heartbeatMsg?;
49
49
  private _isRunning;
50
50
  private log?;
51
51
  private inputPort;
@@ -120,6 +120,9 @@ export class RtpDemuxer extends EventEmitter {
120
120
  // Send a heartbeat to FFmpeg every few seconds to keep things open. FFmpeg has a five-second timeout in reading input, and we want to be comfortably within the
121
121
  // margin for error to ensure the process continues to run.
122
122
  this.heartbeatTimer = setTimeout(() => {
123
+ if (!this.heartbeatMsg) {
124
+ return;
125
+ }
123
126
  this.log?.debug("Sending ffmpeg a heartbeat.");
124
127
  this.socket.send(this.heartbeatMsg, port);
125
128
  this.heartbeat(port);
@@ -238,8 +241,12 @@ export class RtpPortAllocator {
238
241
  const assignedPort = socket.address().port;
239
242
  // We're done with the socket, let's cleanup.
240
243
  socket.close();
241
- // Check to see if the port is one we're already using. If it is, try again.
244
+ // Check to see if the port is one we're already using. For specific port requests, return failure and let the caller retry with a fresh port pair. For random
245
+ // port requests, loop and let the OS assign a different one.
242
246
  if (this.portsInUse.has(assignedPort)) {
247
+ if (port) {
248
+ return -1;
249
+ }
243
250
  continue;
244
251
  }
245
252
  // Now let's mark the port in use.
@@ -1 +1 @@
1
- {"version":3,"file":"rtp.js","sourceRoot":"","sources":["../../src/ffmpeg/rtp.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,6JAA6J;AAC7J,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAElC,cAAc,CAAkB;IAChC,YAAY,CAAU;IACtB,UAAU,CAAU;IACpB,GAAG,CAA2B;IAC9B,SAAS,CAAS;IACV,MAAM,CAAC;IAEvB;;;;;;;;;;;;;;OAcG;IACH,YAAY,QAA2B,EAAG,SAAiB,EAAE,QAAgB,EAAE,OAAe,EAAE,GAA4B;QAE1H,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAElE,gDAAgD;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAG,EAAE;YAEjC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YAEhC,oCAAoC;YACpC,IAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAE1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjC,CAAC;iBAAM,CAAC;gBAEN,yJAAyJ;gBACzJ,iHAAiH;gBACjH,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAErC,iCAAiC;gBACjC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAExB,mDAAmD;gBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kFAAkF,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtI,wBAAwB;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,IAAY;QAE5B,iCAAiC;QACjC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAElC,gKAAgK;QAChK,2DAA2D;QAC3D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAEpC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAE/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEvB,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK;QAEV,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/E,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACK,cAAc,CAAC,OAAe;QAEpC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,OAAe;QAElC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAW,SAAS;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,gBAAgB;IAEnB,UAAU,CAAc;IAEhC;;OAEG;IACH;QAEE,iCAAiC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAI,GAAG,CAAC;QAE9C,IAAI,CAAC;YAEH,4FAA4F;YAC5F,SAAQ,CAAC;gBAEP,6DAA6D;gBAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAEnE,oFAAoF;gBACpF,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEf,6BAA6B;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAEhD,2GAA2G;gBAC3G,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElB,6CAA6C;gBAC7C,4CAA4C;gBAC5C,MAAM,aAAa,CAAC;gBAEpB,+DAA+D;gBAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;gBAE3C,6CAA6C;gBAC7C,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEf,4EAA4E;gBAC5E,IAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAErC,SAAS;gBACX,CAAC;gBAED,kCAAkC;gBAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAElC,mBAAmB;gBACnB,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,QAAQ,CAAC,WAA8B,MAAM,EAAE,YAAqB,CAAC,EAAE,QAAQ,GAAG,CAAC;QAE/F,6HAA6H;QAC7H,IAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC;YAEpD,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,wDAAwD;QACxD,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAElC,4CAA4C;YAC5C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEjF,6CAA6C;YAC7C,IAAG,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;gBAEvB,mFAAmF;gBACnF,IAAG,SAAS,EAAE,CAAC;oBAEb,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;gBAED,gEAAgE;gBAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;YACxD,CAAC;YAED,kEAAkE;YAClE,SAAS,KAAK,YAAY,CAAC;QAC7B,CAAC;QAED,qCAAqC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,KAAK,CAAC,OAAO,CAAC,WAA8B,MAAM,EAAE,YAAqB,CAAC;QAE/E,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,IAAY;QAExB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"rtp.js","sourceRoot":"","sources":["../../src/ffmpeg/rtp.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ export declare const HOMEKIT_STREAMING_HEADROOM = 64;
3
3
  export declare const HKSV_FRAGMENT_LENGTH = 4000;
4
4
  export declare const HKSV_IDR_INTERVAL = 4;
5
5
  export declare const HKSV_TIMEOUT = 4500;
6
+ export declare const FFMPEG_INPUT_TIMEOUT = 5000;
6
7
  export declare const RPI_GPU_MINIMUM = 128;
@@ -12,6 +12,9 @@ export const HKSV_FRAGMENT_LENGTH = 4000;
12
12
  export const HKSV_IDR_INTERVAL = 4;
13
13
  // HomeKit Secure Video communication timeout threshold, in milliseconds. HKSV has a strict 5 second threshold for communication, so we set this a little below that.
14
14
  export const HKSV_TIMEOUT = 4500;
15
+ // FFmpeg's default input timeout, in milliseconds. FFmpeg terminates input streams that receive no data for this duration. The SIGKILL failsafe in process.ts and the
16
+ // stream health monitor in stream.ts are both coordinated with this value.
17
+ export const FFMPEG_INPUT_TIMEOUT = 5000;
15
18
  // Minimum required GPU memory on a Raspberry Pi to enable hardware acceleration.
16
19
  export const RPI_GPU_MINIMUM = 128;
17
20
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/ffmpeg/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,+IAA+I;AAC/I,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,qGAAqG;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,qKAAqK;AACrK,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/ffmpeg/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,+IAA+I;AAC/I,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,qGAAqG;AACrG,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,qKAAqK;AACrK,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,sKAAsK;AACtK,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC"}
@@ -2,6 +2,7 @@
2
2
  *
3
3
  * ffmpeg/stream.ts: Provide FFmpeg process control to support HomeKit livestreaming.
4
4
  */
5
+ import { FFMPEG_INPUT_TIMEOUT } from "./settings.js";
5
6
  import { FfmpegProcess } from "./process.js";
6
7
  import { createSocket } from "node:dgram";
7
8
  /**
@@ -105,7 +106,8 @@ export class FfmpegStreamingProcess extends FfmpegProcess {
105
106
  createSocket(portInfo) {
106
107
  let errorListener;
107
108
  let messageListener;
108
- const socket = createSocket(portInfo.addressVersion === "ipv6" ? "udp6" : "udp4");
109
+ const isIPv6 = portInfo.addressVersion === "ipv6";
110
+ const socket = createSocket(isIPv6 ? "udp6" : "udp4");
109
111
  // Cleanup after ourselves when the socket closes.
110
112
  socket.once("close", () => {
111
113
  if (this.streamTimeout) {
@@ -130,10 +132,10 @@ export class FfmpegStreamingProcess extends FfmpegProcess {
130
132
  this.log.debug("Video stream appears to be inactive for 5 seconds. Stopping stream.");
131
133
  this.delegate.controller.forceStopStreamingSession(this.sessionId);
132
134
  this.delegate.stopStream?.(this.sessionId);
133
- }, 5000);
135
+ }, FFMPEG_INPUT_TIMEOUT);
134
136
  });
135
137
  // Bind to the port we're opening.
136
- socket.bind(portInfo.port, (portInfo.addressVersion === "ipv6") ? "::1" : "127.0.0.1");
138
+ socket.bind(portInfo.port, isIPv6 ? "::1" : "127.0.0.1");
137
139
  }
138
140
  /**
139
141
  * Returns the underlying FFmpeg child process, or null if the process is not running.
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/ffmpeg/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/ffmpeg/stream.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./backpressure.js";
1
2
  export * from "./featureoptions.js";
2
3
  export * from "./mqttclient.js";
3
4
  export * from "./service.js";
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  *
3
3
  * index.ts: Homebridge plugin utilities.
4
4
  */
5
+ export * from "./backpressure.js";
5
6
  export * from "./featureoptions.js";
6
7
  export * from "./mqttclient.js";
7
8
  export * from "./service.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
@@ -257,7 +257,7 @@ export class MqttClient {
257
257
  log.info("MQTT: set message received for %s: %s.", type, value);
258
258
  }
259
259
  catch (error) {
260
- log.error("MQTT: error setting message received for %s: %s. %s", type, value, error);
260
+ log.error("MQTT: error setting %s to %s: %s.", type, value, (error instanceof Error ? error.message : String(error)).replace(/\.$/, ""));
261
261
  }
262
262
  });
263
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mqttclient.js","sourceRoot":"","sources":["../src/mqttclient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqttclient.js","sourceRoot":"","sources":["../src/mqttclient.ts"],"names":[],"mappings":"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"}