@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.35 → 5.0.0-beta.37

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.
Files changed (87) hide show
  1. package/CONTRIBUTING.md +9 -17
  2. package/config.schema.json +6 -0
  3. package/dist/account/ownership.js +16 -16
  4. package/dist/account/ownership.js.map +1 -1
  5. package/dist/account/persistence.js +24 -74
  6. package/dist/account/persistence.js.map +1 -1
  7. package/dist/account/temporary-authentication.js +2 -2
  8. package/dist/account/temporary-authentication.js.map +1 -1
  9. package/dist/configuration.js +18 -25
  10. package/dist/configuration.js.map +1 -1
  11. package/dist/device/member-evidence.js +1 -1
  12. package/dist/device/member-evidence.js.map +1 -1
  13. package/dist/device/member-trust.js +14 -32
  14. package/dist/device/member-trust.js.map +1 -1
  15. package/dist/device/snapshot.js +5 -17
  16. package/dist/device/snapshot.js.map +1 -1
  17. package/dist/diagnostics.js +268 -308
  18. package/dist/diagnostics.js.map +1 -1
  19. package/dist/homekit/adapter.js +4 -1
  20. package/dist/homekit/adapter.js.map +1 -1
  21. package/dist/homekit/adapters/battery.js +3 -3
  22. package/dist/homekit/adapters/battery.js.map +1 -1
  23. package/dist/homekit/adapters/camera-controls.js +15 -37
  24. package/dist/homekit/adapters/camera-controls.js.map +1 -1
  25. package/dist/homekit/adapters/camera-streaming.js +9 -19
  26. package/dist/homekit/adapters/camera-streaming.js.map +1 -1
  27. package/dist/homekit/adapters/contact.js +5 -5
  28. package/dist/homekit/adapters/contact.js.map +1 -1
  29. package/dist/homekit/adapters/doorbell.js +3 -15
  30. package/dist/homekit/adapters/doorbell.js.map +1 -1
  31. package/dist/homekit/adapters/lock.js +15 -214
  32. package/dist/homekit/adapters/lock.js.map +1 -1
  33. package/dist/homekit/adapters/motion.js +2 -2
  34. package/dist/homekit/adapters/motion.js.map +1 -1
  35. package/dist/homekit/adapters/package-sensor.js +2 -2
  36. package/dist/homekit/adapters/package-sensor.js.map +1 -1
  37. package/dist/homekit/adapters/security-system.js +11 -211
  38. package/dist/homekit/adapters/security-system.js.map +1 -1
  39. package/dist/homekit/adapters/siren.js +5 -33
  40. package/dist/homekit/adapters/siren.js.map +1 -1
  41. package/dist/homekit/adapters/smart-light.js +19 -217
  42. package/dist/homekit/adapters/smart-light.js.map +1 -1
  43. package/dist/homekit/coverage-matrix.js +8 -65
  44. package/dist/homekit/coverage-matrix.js.map +1 -1
  45. package/dist/homekit/device-control.js +249 -13
  46. package/dist/homekit/device-control.js.map +1 -1
  47. package/dist/homekit/reconciler.js +5 -5
  48. package/dist/homekit/reconciler.js.map +1 -1
  49. package/dist/media/last-successful-image.js +3 -20
  50. package/dist/media/last-successful-image.js.map +1 -1
  51. package/dist/media/live-preview.js +163 -42
  52. package/dist/media/live-preview.js.map +1 -1
  53. package/dist/media/live-stream.js +126 -72
  54. package/dist/media/live-stream.js.map +1 -1
  55. package/dist/media/recording.js +37 -120
  56. package/dist/media/recording.js.map +1 -1
  57. package/dist/media/snapshot.js +1 -9
  58. package/dist/media/snapshot.js.map +1 -1
  59. package/dist/media/station-live-sessions.js +0 -15
  60. package/dist/media/station-live-sessions.js.map +1 -1
  61. package/dist/platform.js +10 -10
  62. package/dist/platform.js.map +1 -1
  63. package/dist/runtime/channel.js +91 -69
  64. package/dist/runtime/channel.js.map +1 -1
  65. package/dist/runtime/owner.js +6 -6
  66. package/dist/runtime/owner.js.map +1 -1
  67. package/dist/runtime/sdk-client.js +3 -14
  68. package/dist/runtime/sdk-client.js.map +1 -1
  69. package/dist/runtime/tracker.js +8 -38
  70. package/dist/runtime/tracker.js.map +1 -1
  71. package/dist/storage.js +1 -1
  72. package/dist/storage.js.map +1 -1
  73. package/dist/ui/runtime-channel-client.js +145 -282
  74. package/dist/ui/runtime-channel-client.js.map +1 -1
  75. package/dist/ui/server.js +39 -53
  76. package/dist/ui/server.js.map +1 -1
  77. package/homebridge-ui/public/app.css +150 -78
  78. package/homebridge-ui/public/i18n/en.json +15 -2
  79. package/homebridge-ui/public/i18n/fr.json +15 -2
  80. package/homebridge-ui/public/index.html +59 -10
  81. package/homebridge-ui/public/js/app.js +206 -42
  82. package/homebridge-ui/public/js/dashboard.js +4 -19
  83. package/i18n/runtime/en.json +1 -0
  84. package/package.json +3 -7
  85. package/homebridge-ui/public/js/legacy-settings.js +0 -37
  86. package/homebridge-ui/public/js/profile-wizard.js +0 -31
  87. package/homebridge-ui/public/js/setup-wizard.js +0 -52
@@ -1,9 +1,18 @@
1
1
  import { LiveStreamStartError, StationKeyUnavailableError, StationUnreachableError } from '@mega-yfue/eufy-sdk';
2
2
  import { createSocket } from 'node:dgram';
3
3
  import { execFile, spawn } from 'node:child_process';
4
+ import { promisify } from 'node:util';
4
5
  import { setTimeout as delay } from 'node:timers/promises';
5
6
  /** How long a deliberately stopped adaptation process is given to exit before it is killed. */
6
- export const PROCESS_STOP_GRACE_MS = 2_000;
7
+ const PROCESS_STOP_GRACE_MS = 2_000;
8
+ /** Closes an adaptation process's input and terminates it, killing it if it has not exited within the grace. */
9
+ export function stopProcess(process) {
10
+ process.stdin?.destroy();
11
+ process.kill('SIGTERM');
12
+ const killDeadline = setTimeout(() => process.kill('SIGKILL'), PROCESS_STOP_GRACE_MS);
13
+ killDeadline.unref?.();
14
+ process.on('exit', () => clearTimeout(killDeadline));
15
+ }
7
16
  /**
8
17
  * Whether an adaptation opened for `running` can code what the source announced as `announced`.
9
18
  *
@@ -76,17 +85,30 @@ const SOURCE_ACQUISITION_TIMEOUT = Symbol('source-acquisition-timeout');
76
85
  * The SDK stages a start that produced no keyframe by what the source delivered, and a start that carried
77
86
  * audio and never a single video frame is the one signature worth naming apart: measured on a real camera
78
87
  * that had been switched off, the source accepted the start, delivered audio for the whole warm-up window,
79
- * and reported `audio-only`. Every other stage is a source error, because nothing else distinguishes it
80
- * from a transport that failed.
88
+ * and reported `audio-only`. Any other warm-up that ran out of time is `source-warm-timeout`: the camera answered
89
+ * and the transport worked, it just sent no usable picture. Everything else is a source error, because nothing
90
+ * else distinguishes it from a transport that failed.
91
+ */
92
+ function liveSourceFailure(error) {
93
+ if (!(error instanceof LiveStreamStartError)) {
94
+ return sourceFailure(error);
95
+ }
96
+ if (error.stage === 'audio-only') {
97
+ return 'source-audio-only';
98
+ }
99
+ return error.reason === 'warm-timeout' ? 'source-warm-timeout' : sourceFailure(error);
100
+ }
101
+ /**
102
+ * Why a source stopped producing, as this domain's bounded vocabulary.
103
+ *
104
+ * A station names its own failures apart from the camera's: every camera behind a base that did not connect
105
+ * fails together, and a sealed start the station gave no key for does not resolve by retrying.
81
106
  */
82
- function sourceFailure(error) {
107
+ export function sourceFailure(error) {
83
108
  if (error instanceof StationUnreachableError) {
84
109
  return 'station-unreachable';
85
110
  }
86
- if (error instanceof StationKeyUnavailableError) {
87
- return 'station-key-unavailable';
88
- }
89
- return error instanceof LiveStreamStartError && error.stage === 'audio-only' ? 'source-audio-only' : 'source-error';
111
+ return error instanceof StationKeyUnavailableError ? 'station-key-unavailable' : 'source-error';
90
112
  }
91
113
  /** How many diagnostic lines one adaptation retains, which is what a failure is attributed from. */
92
114
  const ADAPTATION_STDERR_TAIL_LINES = 8;
@@ -164,12 +186,14 @@ const FFMPEG_VERSION_BANNER_LENGTH = 120;
164
186
  * to know whether this binary can be asked to encode: a missing file, a file that is not executable, one
165
187
  * that is not FFmpeg, and one that hangs all mean the same thing to the media that would have used it.
166
188
  */
167
- const probeFfmpegVersion = (path) => new Promise((resolve) => {
168
- execFile(path, ['-hide_banner', '-version'], { timeout: FFMPEG_VERSION_PROBE_TIMEOUT_MS, maxBuffer: 64 * 1024, windowsHide: true }, (error, stdout) => {
169
- const banner = error ? undefined : stdout.split(/\r?\n/, 1)[0]?.trim().slice(0, FFMPEG_VERSION_BANNER_LENGTH);
170
- resolve(banner === undefined || banner === '' ? undefined : banner);
171
- });
172
- });
189
+ const probeFfmpegVersion = async (path) => {
190
+ const { stdout } = await promisify(execFile)(path, ['-hide_banner', '-version'], {
191
+ timeout: FFMPEG_VERSION_PROBE_TIMEOUT_MS,
192
+ maxBuffer: 64 * 1024,
193
+ windowsHide: true,
194
+ }).catch(() => ({ stdout: '' }));
195
+ return stdout.split(/\r?\n/, 1)[0]?.trim().slice(0, FFMPEG_VERSION_BANNER_LENGTH) || undefined;
196
+ };
173
197
  /**
174
198
  * Resolves the complete identity of one adaptation binary, without opening any media.
175
199
  *
@@ -180,6 +204,30 @@ export async function resolveFfmpegIdentity(path, source, probe = probeFfmpegVer
180
204
  const version = await probe(path).catch(() => undefined);
181
205
  return { path, source, ...(version === undefined ? {} : { version }) };
182
206
  }
207
+ /**
208
+ * Reports what one adaptation process did to `diagnostics`, whether or not the session it belonged to fails for it.
209
+ *
210
+ * An audio adaptation is restarted rather than failed and a return-audio one fails only talkback, so without a
211
+ * report of their own those two exit with no account anywhere of why they stopped. An `output` report carries
212
+ * nothing but the tail, so it is made only when the process actually wrote something: a silent process that
213
+ * ended as intended has nothing to attribute.
214
+ */
215
+ export function adaptationReporter(diagnostics) {
216
+ return (role, event, stderr, code, signal, extras) => {
217
+ const tail = stderr.tail();
218
+ if (event === 'output' && tail.length === 0) {
219
+ return;
220
+ }
221
+ diagnostics?.report({
222
+ role,
223
+ event,
224
+ ...(typeof code === 'number' ? { code } : {}),
225
+ ...(typeof signal === 'string' ? { signal } : {}),
226
+ ...extras,
227
+ ...(tail.length ? { stderr: tail } : {}),
228
+ });
229
+ };
230
+ }
183
231
  /** The `libx264` constant rate factor a live adaptation codes at when the negotiated bit rate is ignored. */
184
232
  const CONSTANT_QUALITY_CRF = 23;
185
233
  /** `libx264`'s profile, level, speed and pixel format, shared by its rate-capped and constant-quality forms. */
@@ -424,9 +472,10 @@ async function qualification(executable, encoder, selection, run, deadline) {
424
472
  field('pic_height_in_map_units_minus1') + 1 === Math.ceil(selection.height / 16),
425
473
  ],
426
474
  ['frames', (traced.stderr.match(/\bPacket: /g)?.length ?? 0) === selection.fps * QUALIFICATION_SECONDS],
427
- ['bytes', coded.stdout.length * 8 <= videoBudgetInsideCeiling(selection) * 1_000 * (QUALIFICATION_SECONDS + 1)],
428
475
  ];
429
- return checks.find(([, passed]) => !passed)?.[0] ?? 'qualified';
476
+ const bound = videoBudgetInsideCeiling(selection) * 125 * (QUALIFICATION_SECONDS + 1);
477
+ return (checks.find(([, passed]) => !passed)?.[0] ??
478
+ (coded.stdout.length <= bound ? 'qualified' : ['bytes', coded.stdout.length, bound]));
430
479
  }
431
480
  /** The live video packet size an administrator can choose for networks that drop the negotiated one. */
432
481
  export const SMALL_VIDEO_PACKET_SIZE = 1128;
@@ -479,11 +528,38 @@ export class FfmpegLiveMedia {
479
528
  }
480
529
  return outcomes;
481
530
  }
482
- /** The first hardware encoder qualified for `selection`, or `libx264` where none is. */
483
- encoderFor(selection) {
531
+ /**
532
+ * What a session codes `selection` from a `codec` source with: `copy` for a passed-through H.264 source,
533
+ * {@link CONSTANT_QUALITY} where the negotiated bit rate is ignored, else the first hardware encoder qualified
534
+ * for `selection`, or `libx264` where none is or `settings` turn hardware off. Without `settings`, this
535
+ * adapter's own.
536
+ */
537
+ encoderFor(codec, selection, settings) {
538
+ if ((settings?.liveVideoPassthrough ?? this.copyVideo) && codec === 'h264')
539
+ return 'copy';
540
+ if (settings?.ignoreHomeBitRate ?? this.constantQuality)
541
+ return CONSTANT_QUALITY;
542
+ if (settings?.hardwareVideoEncoder === false)
543
+ return LIBX264;
484
544
  const key = `${selection.profile}@${selection.level}`;
485
545
  return HARDWARE_ENCODERS.find((encoder) => this.qualified.get(encoder.name)?.has(key)) ?? LIBX264;
486
546
  }
547
+ /** The largest video packet a session sends under `settings`, or under this adapter's own without them. */
548
+ packetSize(settings) {
549
+ if (!settings)
550
+ return this.maxVideoPacketSize;
551
+ return settings.smallVideoPackets ? SMALL_VIDEO_PACKET_SIZE : Number.POSITIVE_INFINITY;
552
+ }
553
+ /**
554
+ * The encoder and the argument list a session would code `selection` from a `codec` source with, its video
555
+ * written to `output` instead of RTP: every argument before `output` is the session's own, or that of a session
556
+ * of an adapter configured with `settings`.
557
+ */
558
+ videoAdaptation(codec, selection, output, settings) {
559
+ const video = { ...selection, mtu: Math.min(selection.mtu, this.packetSize(settings)) };
560
+ const encoder = this.encoderFor(codec, video, settings);
561
+ return { encoder: encoder === 'copy' ? encoder : encoder.name, args: videoArguments(codec, video, encoder, output) };
562
+ }
487
563
  /**
488
564
  * Reserves the negotiated output ports so `SetupEndpoints` can be answered with them, and returns a
489
565
  * session that holds nothing else: no SDK handle, adaptation process, or device session exists until
@@ -493,9 +569,7 @@ export class FfmpegLiveMedia {
493
569
  async prepare(transport) {
494
570
  const videoPort = await this.reservePort(transport.addressVersion);
495
571
  const targetAddress = transport.addressVersion === 'ipv6' ? `[${transport.targetAddress}]` : transport.targetAddress;
496
- const maxVideoPacketSize = this.maxVideoPacketSize;
497
- const copyVideo = this.copyVideo;
498
- const constantQuality = this.constantQuality;
572
+ const maxVideoPacketSize = this.packetSize(transport.liveVideoSettings);
499
573
  let audioPort;
500
574
  try {
501
575
  audioPort = transport.audio ? await this.reservePort(transport.addressVersion) : undefined;
@@ -535,6 +609,8 @@ export class FfmpegLiveMedia {
535
609
  /** How many adaptation replacements the source's own changes have asked this session for. */
536
610
  let sourceInputReplacements = 0;
537
611
  let audioInputCodec;
612
+ /** An audio adaptation that exited before any output cannot code this source, so none is started again. */
613
+ let audioFailed = false;
538
614
  let rtcpDeadline;
539
615
  let initialRtcpGrace;
540
616
  let videoStartBackstop;
@@ -587,38 +663,14 @@ export class FfmpegLiveMedia {
587
663
  }
588
664
  sink.once('drain', () => releaseAdaptation(sink));
589
665
  };
590
- /**
591
- * Reports what one adaptation process did, whether or not the session it belonged to fails for it.
592
- *
593
- * An audio adaptation is restarted rather than failed and a return-audio one fails only talkback, so
594
- * without a report of their own those two exit with no account anywhere of why they stopped. An `output`
595
- * report carries nothing but the tail, so it is made only when the process actually wrote something:
596
- * a silent process that ended as intended has nothing to attribute.
597
- */
598
- const reportAdaptation = (role, event, stderr, code, signal) => {
599
- const tail = stderr.tail();
600
- if (event === 'output' && tail.length === 0) {
601
- return;
602
- }
603
- adaptationDiagnostics?.report({
604
- role,
605
- event,
606
- ...(typeof code === 'number' ? { code } : {}),
607
- ...(typeof signal === 'string' ? { signal } : {}),
608
- ...(tail.length ? { stderr: tail } : {}),
609
- });
610
- };
611
- const stopProcess = (process) => {
666
+ const reportAdaptation = adaptationReporter(adaptationDiagnostics);
667
+ const stopAdaptation = (process) => {
612
668
  if (!process) {
613
669
  return;
614
670
  }
615
671
  stoppingProcesses.add(process);
616
- process.stdin.destroy();
672
+ stopProcess(process);
617
673
  releaseAdaptation(process.stdin);
618
- process.kill('SIGTERM');
619
- const killDeadline = setTimeout(() => process.kill('SIGKILL'), PROCESS_STOP_GRACE_MS);
620
- killDeadline.unref?.();
621
- process.on('exit', () => clearTimeout(killDeadline));
622
674
  };
623
675
  /** Stop a caller-owned SDK handle without allowing synchronous or asynchronous faults to abort cleanup. */
624
676
  const stopTalkbackHandle = (handle) => {
@@ -632,7 +684,7 @@ export class FfmpegLiveMedia {
632
684
  return;
633
685
  }
634
686
  talkbackEnded = true;
635
- stopProcess(returnAudioProcess);
687
+ stopAdaptation(returnAudioProcess);
636
688
  returnAudioProcess?.stdout.destroy();
637
689
  returnAudioProcess?.eld.destroy();
638
690
  returnAudioProcess = undefined;
@@ -661,8 +713,8 @@ export class FfmpegLiveMedia {
661
713
  clearTimeout(initialRtcpGrace);
662
714
  clearTimeout(videoStartBackstop);
663
715
  stopTalkback();
664
- stopProcess(videoProcess);
665
- stopProcess(audioProcess);
716
+ stopAdaptation(videoProcess);
717
+ stopAdaptation(audioProcess);
666
718
  source?.stop();
667
719
  if (negotiated) {
668
720
  transport.onSessionReleased?.(videoFailed ? 'failed' : 'requested', {
@@ -778,18 +830,15 @@ export class FfmpegLiveMedia {
778
830
  return;
779
831
  }
780
832
  videoCause = 'source-configuration';
781
- stopProcess(videoProcess);
833
+ stopAdaptation(videoProcess);
782
834
  videoProcess = undefined;
783
835
  }
784
836
  if (!videoProcess) {
785
837
  adaptationConfig = videoConfig;
786
838
  videoSequence = (videoSequence + OUTPUT_SEQUENCE_STEP) & 0xffff;
787
- const encoder = copyVideo && videoConfig.codec === 'h264'
788
- ? 'copy'
789
- : constantQuality
790
- ? CONSTANT_QUALITY
791
- : this.encoderFor(negotiated.video);
792
- const child = this.createProcess(this.executable, videoArguments(videoConfig, negotiated.video, targetAddress, transport.video, videoSequence, encoder));
839
+ const { video } = negotiated;
840
+ const encoder = this.encoderFor(videoConfig.codec, video, transport.liveVideoSettings);
841
+ const child = this.createProcess(this.executable, videoArguments(videoConfig.codec, video, encoder, outputArguments(targetAddress, transport.video, video.payloadType, video.ssrc, video.mtu, videoSequence)));
793
842
  videoProcess = child;
794
843
  const encoderName = encoder === 'copy' ? encoder : encoder.name;
795
844
  adaptationDiagnostics?.report({
@@ -798,6 +847,8 @@ export class FfmpegLiveMedia {
798
847
  cause: videoCause,
799
848
  encoder: encoderName,
800
849
  source: videoConfig.codec,
850
+ sourceWidth: videoConfig.width,
851
+ sourceHeight: videoConfig.height,
801
852
  });
802
853
  const stderr = new AdaptationStderr();
803
854
  let producedOutput = false;
@@ -835,7 +886,7 @@ export class FfmpegLiveMedia {
835
886
  writeToAdaptation(videoProcess.stdin, frame.data);
836
887
  };
837
888
  const writeAudio = (frame) => {
838
- if (stopped || !negotiated?.audio || !transport.audio || !audioPort) {
889
+ if (stopped || audioFailed || !negotiated?.audio || !transport.audio || !audioPort) {
839
890
  return;
840
891
  }
841
892
  if (!audioProcess) {
@@ -869,27 +920,29 @@ export class FfmpegLiveMedia {
869
920
  if (!stoppingProcesses.has(child) && audioProcess === child) {
870
921
  reportAdaptation('live-audio', 'input-failed', stderr);
871
922
  }
872
- stopProcess(child);
923
+ stopAdaptation(child);
873
924
  clearChild();
874
925
  });
875
926
  child.on('error', () => {
876
927
  if (!stoppingProcesses.has(child)) {
877
928
  reportAdaptation('live-audio', producedOutput ? 'exited-while-streaming' : 'spawn-failed', stderr);
878
929
  }
879
- stopProcess(child);
930
+ stopAdaptation(child);
880
931
  clearChild();
881
932
  });
882
933
  child.on('exit', (code, signal) => {
883
- reportAdaptation('live-audio', stopped || stoppingProcesses.has(child)
934
+ const event = stopped || stoppingProcesses.has(child)
884
935
  ? 'output'
885
936
  : producedOutput
886
937
  ? 'exited-while-streaming'
887
- : 'exited-before-output', stderr, code, signal);
938
+ : 'exited-before-output';
939
+ audioFailed ||= event === 'exited-before-output';
940
+ reportAdaptation('live-audio', event, stderr, code, signal);
888
941
  clearChild();
889
942
  });
890
943
  }
891
944
  if (audioInputCodec !== frame.codec) {
892
- stopProcess(audioProcess);
945
+ stopAdaptation(audioProcess);
893
946
  audioProcess = undefined;
894
947
  audioInputCodec = undefined;
895
948
  writeAudio(frame);
@@ -1060,9 +1113,11 @@ export class FfmpegLiveMedia {
1060
1113
  return;
1061
1114
  }
1062
1115
  reportAdaptation('return-audio', producedOutput ? 'exited-while-streaming' : 'exited-before-output', stderr, code, signal);
1063
- failTalkback(stderr.tail().some((line) => line.includes('Error during demuxing: Operation timed out'))
1064
- ? 'no-controller-audio'
1065
- : 'adaptation-failed');
1116
+ failTalkback(!stderr.tail().some((line) => line.includes('Error during demuxing: Operation timed out'))
1117
+ ? 'adaptation-failed'
1118
+ : receivedVideoKeyframe
1119
+ ? 'no-controller-audio'
1120
+ : 'source-unavailable');
1066
1121
  });
1067
1122
  child.stdin.end(returnAudioSdp(audioPort.port, selection, transport.audio, transport.addressVersion));
1068
1123
  await delay(RETURN_AUDIO_BIND_GRACE_MS);
@@ -1101,7 +1156,7 @@ export class FfmpegLiveMedia {
1101
1156
  }
1102
1157
  catch (error) {
1103
1158
  acquisition.abort(new Error('live media source acquisition was cancelled'));
1104
- failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' : sourceFailure(error), error);
1159
+ failVideo(error === SOURCE_ACQUISITION_TIMEOUT ? 'source-acquisition-timeout' : liveSourceFailure(error), error);
1105
1160
  throw error === SOURCE_ACQUISITION_TIMEOUT ? new Error('live media source acquisition timed out') : error;
1106
1161
  }
1107
1162
  finally {
@@ -1122,7 +1177,7 @@ export class FfmpegLiveMedia {
1122
1177
  notice.extend();
1123
1178
  }
1124
1179
  });
1125
- source.on('error', (error) => failVideo(sourceFailure(error), error));
1180
+ source.on('error', (error) => failVideo(liveSourceFailure(error), error));
1126
1181
  source.on('stop', () => failVideo('source-stopped'));
1127
1182
  await returnAudioReady;
1128
1183
  },
@@ -1240,12 +1295,11 @@ function outputArguments(targetAddress, target, payloadType, ssrc, packetSize, s
1240
1295
  * honoured: the output spends what the picture needs. A controller asks 299 kbps for 720p and does not raise it
1241
1296
  * during a session, which the ceiling above codes as a blurred, then blocky, picture.
1242
1297
  */
1243
- function videoArguments(input, selection, targetAddress, target, sequence, encoder) {
1244
- const output = outputArguments(targetAddress, target, selection.payloadType, selection.ssrc, selection.mtu, sequence);
1298
+ function videoArguments(codec, selection, encoder, output) {
1245
1299
  if (encoder === 'copy') {
1246
1300
  return [...commonArguments('h264'), '-an', '-c:v', 'copy', ...output];
1247
1301
  }
1248
- return [...commonArguments(input.codec === 'h265' ? 'hevc' : input.codec), ...encodeArguments(encoder, selection), ...output];
1302
+ return [...commonArguments(codec === 'h265' ? 'hevc' : codec), ...encodeArguments(encoder, selection), ...output];
1249
1303
  }
1250
1304
  /** What one encoder is given to code `selection`, between its input and its output, in a session and in qualification alike. */
1251
1305
  function encodeArguments(encoder, selection) {
@@ -1 +1 @@
1
- {"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-stream.js","sourceRoot":"","sources":["../../src/media/live-stream.ts"],"names":[],"mappings":"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"}