@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.7 → 5.0.0-beta.8

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.
@@ -49,6 +49,21 @@ const CAMERA_TALKBACK_FAILED_CONDITION = 'camera-talkback-failed';
49
49
  * choice, and a camera that retains it never retains more than a controller can select.
50
50
  */
51
51
  const RECORDING_PREBUFFER_MS = 4_000;
52
+ /**
53
+ * How long a HomeBase-attached camera's pull is kept warm after its last consumer leaves, in milliseconds.
54
+ *
55
+ * A cold pull on such a camera costs the level-2 handshake plus the base's own warm-up before a first
56
+ * keyframe, which a controller that has already given up does not wait for; a pull still warm answers the
57
+ * next attach from its retained keyframe instead. Measured on a real base: a reattach 1.8s after release
58
+ * reached the adaptation in 9ms and the negotiated output in 0.56s, while a controller retried 8.3s after
59
+ * the attempt it abandoned — past the source's own default, which is what leaves the retry paying for a
60
+ * second cold start.
61
+ *
62
+ * A standalone camera is its own station and pays none of that, so it keeps the source's default. The window
63
+ * is bounded by the source's battery budget rather than by this value, because nothing extends that budget
64
+ * once the session holding it has ended.
65
+ */
66
+ const ATTACHED_PULL_LINGER_MS = 30_000;
52
67
  /** The fragment length this camera advertises, which is the value HomeKit Secure Video cameras use. */
53
68
  const RECORDING_FRAGMENT_LENGTH_MS = 4_000;
54
69
  /**
@@ -212,7 +227,13 @@ function attachCameraStreaming(context) {
212
227
  : 'missing-trigger',
213
228
  });
214
229
  const prebufferLengthMs = recordingConfigured ? retainedPrebufferMs(context.evidence) : 0;
215
- const liveSourceOptions = prebufferLengthMs > 0 ? { preBufferSeconds: prebufferLengthMs / 1_000 } : undefined;
230
+ const attachedToBase = context.device.stationSn !== undefined && context.device.stationSn !== context.device.sn;
231
+ const liveSourceOptions = prebufferLengthMs > 0 || attachedToBase
232
+ ? {
233
+ ...(prebufferLengthMs > 0 ? { preBufferSeconds: prebufferLengthMs / 1_000 } : {}),
234
+ ...(attachedToBase ? { lingerMs: ATTACHED_PULL_LINGER_MS } : {}),
235
+ }
236
+ : undefined;
216
237
  const openLiveSource = camera.live.bind(camera);
217
238
  const observed = observesCameraEnablement(camera, context.evidence);
218
239
  const enablement = cameraEnablementReader(camera, context.evidence);
@@ -224,10 +245,23 @@ function attachCameraStreaming(context) {
224
245
  const reportCapacity = cameraCondition(context, CAMERA_MEDIA_AT_CAPACITY_CONDITION, 'live');
225
246
  const acquireLiveSnapshot = liveAvailable ? camera.snapshotLive.bind(camera) : undefined;
226
247
  const openTalkback = talkbackConfigured ? camera.talkback.bind(camera) : undefined;
248
+ /**
249
+ * The SDK egresses this camera offers, each given the pull options this adapter owns and the options its
250
+ * own caller passes.
251
+ *
252
+ * The caller's own are merged last because they belong to one call rather than to the pull: an abort signal
253
+ * is how a still is abandoned and how a cancelled live acquisition is given up, and an egress that drops it
254
+ * cannot be stopped at all — a station that serves one camera at a time then stays held by work nobody is
255
+ * waiting for, and refuses every other camera behind it meanwhile.
256
+ */
227
257
  const source = {
228
- live: () => openLiveSource(liveSourceOptions),
258
+ live: (options) => openLiveSource({ ...liveSourceOptions, ...options }),
229
259
  ...(storedAvailable ? { snapshotStored: camera.snapshotStored.bind(camera) } : {}),
230
- ...(acquireLiveSnapshot ? { snapshotLive: () => acquireLiveSnapshot(liveSourceOptions) } : {}),
260
+ ...(acquireLiveSnapshot
261
+ ? {
262
+ snapshotLive: (options = {}) => acquireLiveSnapshot({ ...liveSourceOptions, ...options }),
263
+ }
264
+ : {}),
231
265
  ...(recordingAvailable ? { recordFragments: camera.recordFragments.bind(camera) } : {}),
232
266
  ...(openTalkback ? { talkback: () => openTalkback(liveSourceOptions) } : {}),
233
267
  };
@@ -267,7 +301,7 @@ function attachCameraStreaming(context) {
267
301
  enablement,
268
302
  availability: availabilityObservation(context.device.sn, context.availability),
269
303
  reportSession: liveSessionReporter(context, reportAdmission),
270
- reportRelease: (release) => context.trace?.({ event: 'live-session-released', release }),
304
+ reportRelease: (release, controller) => context.trace?.({ event: 'live-session-released', release, ...controller }),
271
305
  reportTalkback: talkbackReporter(context),
272
306
  reportAdmission,
273
307
  reportCapacity,
@@ -1099,16 +1133,24 @@ class LiveCameraDelegate {
1099
1133
  callback(new Error('live media session was not prepared'));
1100
1134
  return;
1101
1135
  }
1136
+ /**
1137
+ * A renegotiated selection is recorded and answered, and the session goes on serving the one it started
1138
+ * on.
1139
+ *
1140
+ * Applying it means replacing the adaptation, which can only begin on a source keyframe: this transport's
1141
+ * interval is seconds, and a controller that has renegotiated stops presenting what it is still being sent
1142
+ * meanwhile. Measured on a real controller, a request at 7.9s was serveable at 11.5s and the picture never
1143
+ * advanced again in between, while sessions that renegotiated nothing ran to their end — so the deferral
1144
+ * cost the whole session to honour one request. A controller that wants less asks again by renegotiating
1145
+ * the session itself, which is a start this camera answers from scratch.
1146
+ */
1102
1147
  if (request.type === 'reconfigure') {
1103
1148
  if (!session.selection) {
1104
1149
  this.release(request.sessionID);
1105
1150
  callback(new Error('live media session has not started'));
1106
1151
  return;
1107
1152
  }
1108
- const video = negotiatedVideo({ ...session.selection.video, ...request.video }, session.videoSsrc, this.hap);
1109
- session.prepared.reconfigure(video);
1110
- session.selection = { ...session.selection, video: { ...session.selection.video, ...request.video } };
1111
- this.traceSelection('reconfigure', video, session.addressVersion);
1153
+ this.traceSelection('reconfigure', negotiatedVideo({ ...session.selection.video, ...request.video }, session.videoSsrc, this.hap), session.addressVersion);
1112
1154
  callback();
1113
1155
  return;
1114
1156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"camera-streaming.js","sourceRoot":"","sources":["../../../src/homekit/adapters/camera-streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera-streaming.js","sourceRoot":"","sources":["../../../src/homekit/adapters/camera-streaming.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,20 @@ const RETURN_AUDIO_BIND_GRACE_MS = 250;
55
55
  * reports nothing at all.
56
56
  */
57
57
  export const SOURCE_START_BACKSTOP_MS = 30_000;
58
+ /**
59
+ * How far the RTP sequence space is advanced for each adaptation a session sends on, in packets.
60
+ *
61
+ * One session keeps one SSRC and one SRTP key across a replaced adaptation, and the SRTP packet index is built
62
+ * from the sequence number — so a replacement that started where FFmpeg would have, at a random base, is read
63
+ * by the controller as replay half the time and its packets are discarded under a key that still
64
+ * authenticates. Nothing reports it: the controller goes on acknowledging what it received before, so RTCP
65
+ * liveness holds while the picture never advances again.
66
+ *
67
+ * Advancing instead of restarting keeps the index monotonic. The step is well under half the sequence space,
68
+ * which is what keeps the receiver's own index estimate correct across the wrap it eventually crosses; a gap
69
+ * this size reads as loss, which a controller already tolerates.
70
+ */
71
+ const OUTPUT_SEQUENCE_STEP = 4_096;
58
72
  const SOURCE_ACQUISITION_TIMEOUT = Symbol('source-acquisition-timeout');
59
73
  /**
60
74
  * The bounded reason one SDK source failure reports.
@@ -212,7 +226,6 @@ export class FfmpegLiveMedia {
212
226
  let negotiated;
213
227
  let stopped = false;
214
228
  let receivedVideoKeyframe = false;
215
- let reconfigurationPending = false;
216
229
  /**
217
230
  * The coded configuration the source last announced, and the one the running adaptation was opened for.
218
231
  *
@@ -231,6 +244,13 @@ export class FfmpegLiveMedia {
231
244
  let videoStartBackstop;
232
245
  let videoFailed = false;
233
246
  let rtcpObserved = false;
247
+ /** How many receiver reports this session was acknowledged by, and when the last one arrived. */
248
+ /** Why the video adaptation now running was started, which the record reporting it carries. */
249
+ let videoCause = 'first';
250
+ /** Where the next adaptation this session sends on starts its RTP sequence, advanced for every one. */
251
+ let videoSequence = 0;
252
+ let rtcpReports = 0;
253
+ let lastRtcpAt;
234
254
  let streaming = false;
235
255
  const stoppingProcesses = new WeakSet();
236
256
  const congested = new Set();
@@ -345,14 +365,17 @@ export class FfmpegLiveMedia {
345
365
  stopTalkback();
346
366
  stopProcess(videoProcess);
347
367
  stopProcess(audioProcess);
348
- if (source) {
349
- source.stop();
350
- transport.onSessionReleased?.(videoFailed ? 'failed' : 'requested');
368
+ source?.stop();
369
+ if (negotiated) {
370
+ transport.onSessionReleased?.(videoFailed ? 'failed' : 'requested', {
371
+ reports: rtcpReports,
372
+ ...(lastRtcpAt === undefined ? {} : { sinceLastReportMs: Date.now() - lastRtcpAt }),
373
+ });
351
374
  }
352
375
  videoPort.close();
353
376
  audioPort?.close();
354
377
  };
355
- const failVideo = (reason) => {
378
+ const failVideo = (reason, servingChannel) => {
356
379
  if (stopped || videoFailed) {
357
380
  return;
358
381
  }
@@ -365,7 +388,12 @@ export class FfmpegLiveMedia {
365
388
  : !receivedVideoKeyframe
366
389
  ? 'first-source-keyframe'
367
390
  : 'first-adapted-output';
368
- transport.onSessionOutcome?.({ outcome: 'failed', reason, stage });
391
+ transport.onSessionOutcome?.({
392
+ outcome: 'failed',
393
+ reason,
394
+ stage,
395
+ ...(servingChannel === undefined ? {} : { servingChannel }),
396
+ });
369
397
  transport.onVideoFailure?.();
370
398
  };
371
399
  /**
@@ -376,6 +404,8 @@ export class FfmpegLiveMedia {
376
404
  */
377
405
  const resetRtcpDeadline = () => {
378
406
  rtcpObserved = true;
407
+ rtcpReports += 1;
408
+ lastRtcpAt = Date.now();
379
409
  clearTimeout(initialRtcpGrace);
380
410
  clearTimeout(rtcpDeadline);
381
411
  if (!streaming) {
@@ -390,13 +420,9 @@ export class FfmpegLiveMedia {
390
420
  * Adaptation reached the negotiated output, so the session is bounded from here by RTCP liveness
391
421
  * rather than by the start backstop. The initial grace is armed from this point because media may
392
422
  * legitimately start well after the session does.
393
- *
394
- * A selection HomeKit has already replaced does not discharge the deadline for its replacement, however
395
- * much it keeps reporting: FFmpeg reports progress on a timer whether or not new media reaches it, so
396
- * only the adaptation that carries the current selection can say that selection is being served.
397
423
  */
398
- const observeAdaptationProgress = (reporter) => {
399
- if (stopped || (reconfigurationPending && reporter === videoProcess)) {
424
+ const observeAdaptationProgress = () => {
425
+ if (stopped) {
400
426
  return;
401
427
  }
402
428
  clearTimeout(videoStartBackstop);
@@ -425,13 +451,12 @@ export class FfmpegLiveMedia {
425
451
  * Writes one source access unit to the adaptation that is entitled to code it.
426
452
  *
427
453
  * A source configuration the running adaptation was not opened for cannot be coded by it at all, so those
428
- * frames wait for the keyframe that lets a replacement start. A reconfigured HomeKit selection changes
429
- * only the output, so the current process keeps coding and keeps the previous selection on the wire until
430
- * that same keyframe arrives; a controller reconfigures precisely when it is unhappy with what it
431
- * receives, and the source is then often the very thing not producing keyframes.
454
+ * frames wait for the keyframe that lets a replacement start.
432
455
  *
433
456
  * Source-driven replacement is bounded by {@link MAX_SOURCE_INPUT_REPLACEMENTS}, past which the session
434
- * fails rather than spawn again. A controller-driven one is not: the controller bounds how often it asks.
457
+ * fails rather than spawn again. It is the only replacement a session makes: a source that changes what it
458
+ * delivers cannot be coded by the running process at all, whereas a controller's renegotiated selection is
459
+ * a request this session declines in favour of the one it started on.
435
460
  */
436
461
  const writeVideo = (frame) => {
437
462
  if (stopped || !negotiated || !videoConfig) {
@@ -447,29 +472,28 @@ export class FfmpegLiveMedia {
447
472
  if (videoProcess && inputChanged && !frame.keyframe) {
448
473
  return;
449
474
  }
450
- if (videoProcess && frame.keyframe && (inputChanged || reconfigurationPending)) {
451
- if (inputChanged) {
452
- sourceInputReplacements += 1;
453
- }
475
+ if (videoProcess && frame.keyframe && inputChanged) {
476
+ sourceInputReplacements += 1;
454
477
  if (sourceInputReplacements > MAX_SOURCE_INPUT_REPLACEMENTS) {
455
478
  failVideo('source-input-unstable');
456
479
  return;
457
480
  }
458
- reconfigurationPending = false;
481
+ videoCause = 'source-configuration';
459
482
  stopProcess(videoProcess);
460
483
  videoProcess = undefined;
461
484
  }
462
485
  if (!videoProcess) {
463
486
  adaptationConfig = videoConfig;
464
- const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video));
487
+ videoSequence = (videoSequence + OUTPUT_SEQUENCE_STEP) & 0xffff;
488
+ const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video, videoSequence));
465
489
  videoProcess = child;
466
- adaptationDiagnostics?.report({ role: 'live-video', event: 'started' });
490
+ adaptationDiagnostics?.report({ role: 'live-video', event: 'started', cause: videoCause });
467
491
  const stderr = new AdaptationStderr();
468
492
  let producedOutput = false;
469
493
  child.stderr.on('data', (chunk) => {
470
494
  if (stderr.observe(chunk).some((line) => line.startsWith('progress='))) {
471
495
  producedOutput = true;
472
- observeAdaptationProgress(child);
496
+ observeAdaptationProgress();
473
497
  }
474
498
  });
475
499
  child.stdin.on('error', () => {
@@ -726,7 +750,7 @@ export class FfmpegLiveMedia {
726
750
  }
727
751
  catch (error) {
728
752
  acquisition.abort(new Error('live media source acquisition was cancelled'));
729
- failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' : sourceFailure(error));
753
+ failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' : sourceFailure(error), error instanceof StationBusyError ? error.servingChannel : undefined);
730
754
  throw error === SOURCE_ACQUISITION_TIMEOUT ? new Error('live media source acquisition timed out') : error;
731
755
  }
732
756
  finally {
@@ -751,24 +775,6 @@ export class FfmpegLiveMedia {
751
775
  source.on('stop', () => failVideo('source-stopped'));
752
776
  await returnAudioReady;
753
777
  },
754
- /**
755
- * Acknowledges a reconfigured selection and applies it at the next source keyframe.
756
- *
757
- * Nothing is torn down here: the current adaptation keeps the previous selection on the wire until the
758
- * replacement has a keyframe to start from. The deferral is still bounded, because a session that never
759
- * applies the selection HomeKit asked for must end and be renegotiated rather than silently serve the
760
- * old one forever.
761
- */
762
- reconfigure(video) {
763
- if (!negotiated) {
764
- return;
765
- }
766
- negotiated = { ...negotiated, video };
767
- reconfigurationPending = videoProcess !== undefined;
768
- clearTimeout(videoStartBackstop);
769
- videoStartBackstop = setTimeout(() => failVideo('no-video-within-backstop'), SOURCE_START_BACKSTOP_MS);
770
- videoStartBackstop.unref?.();
771
- },
772
778
  stop,
773
779
  };
774
780
  }
@@ -810,12 +816,21 @@ function commonArguments(inputFormat, inputOptions = []) {
810
816
  'pipe:0',
811
817
  ];
812
818
  }
813
- function outputArguments(targetAddress, target, payloadType, ssrc, packetSize) {
819
+ /**
820
+ * The RTP output one adaptation sends on: the controller's endpoint, the identity the session negotiated for
821
+ * it, and where its sequence numbering starts.
822
+ *
823
+ * `sequence` is stated wherever a session may send on more than one adaptation, because the identity and the
824
+ * SRTP key outlive the process: see {@link OUTPUT_SEQUENCE_STEP} for what a restarted numbering costs. An
825
+ * output no replacement can follow omits it and keeps FFmpeg's own base.
826
+ */
827
+ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize, sequence) {
814
828
  return [
815
829
  '-payload_type',
816
830
  String(payloadType),
817
831
  '-ssrc',
818
832
  String(ssrc),
833
+ ...(sequence === undefined ? [] : ['-seq', String(sequence)]),
819
834
  '-f',
820
835
  'rtp',
821
836
  '-srtp_out_suite',
@@ -866,7 +881,7 @@ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize) {
866
881
  * Baseline whatever `-profile:v` asks for. `-tune zerolatency` pins the same `sliced_threads`, `bframes`
867
882
  * and `rc_lookahead` at either preset, so this costs computation rather than frame delay.
868
883
  */
869
- function videoArguments(input, selection, targetAddress, target) {
884
+ function videoArguments(input, selection, targetAddress, target, sequence) {
870
885
  const budget = videoBudgetInsideCeiling(selection);
871
886
  return [
872
887
  ...commonArguments(input.codec === 'h265' ? 'hevc' : input.codec),
@@ -899,7 +914,7 @@ function videoArguments(input, selection, targetAddress, target) {
899
914
  `${budget}k`,
900
915
  '-bufsize',
901
916
  `${budget}k`,
902
- ...outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu),
917
+ ...outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu, sequence),
903
918
  ];
904
919
  }
905
920
  /**