maziggy
c097140e4c
fix(camera): share broadcaster buffered frame with Obico + /camera/snapshot ( #1271 )
...
The MJPEG fan-out broadcaster from #1089 only solved viewer-side
concurrency. Obico polling (every 5s) and the manual /camera/snapshot
endpoint kept opening their own fresh RTSP sockets, which X1/H2/P2
firmwares tolerated but X2D firmware 01.01.00.00 enforces strict
single-connection on — every poll kicked the live stream.
Add try_get_active_buffered_frame(printer_id): returns the broadcaster's
last buffered frame when a viewer is connected, None otherwise. Obico
and /camera/snapshot consult it before opening a fresh socket. When no
viewer is active they fall through to the existing fresh-capture path.
plate_detection and layer_timelapse intentionally not converted.
2026-05-12 08:36:08 +02:00
..
2026-05-12 08:15:28 +02:00
2025-12-11 10:03:40 +01:00
2026-04-26 09:40:02 +02:00
2026-02-21 11:35:18 +01:00
2026-02-21 10:01:26 +01:00
2026-04-27 16:14:31 +02:00
2026-04-20 12:56:31 +02:00
2026-03-20 14:18:24 +01:00
2026-02-21 10:39:18 +01:00
2026-04-09 11:29:57 +02:00
2026-04-27 16:32:10 +02:00
2026-04-17 08:38:22 +02:00
2026-03-07 10:13:40 +01:00
2026-04-18 08:14:53 +02:00
2026-02-13 15:39:52 +01:00
2026-02-16 15:46:32 +01:00
2026-05-08 09:01:51 +02:00
2026-04-07 08:31:14 +02:00
2026-05-08 11:52:42 +02:00
2026-04-11 11:14:54 +02:00
2026-04-26 14:24:28 +02:00
2026-04-19 12:27:06 +02:00
2026-04-27 16:02:40 +02:00
2026-04-27 16:32:10 +02:00
2026-05-11 12:27:41 +02:00
2026-05-03 08:12:36 +02:00
2026-04-24 16:02:55 +02:00
2026-02-07 19:01:04 +02:00
2026-05-08 14:06:40 +02:00
2026-04-11 11:33:49 +02:00
2026-04-22 11:14:42 +02:00
2026-04-12 14:16:17 +02:00
2026-02-06 12:19:17 +01:00
2026-04-26 10:01:17 +02:00
2026-03-19 08:40:24 +01:00
2026-04-28 13:58:56 +02:00
2026-04-24 16:48:59 +02:00
2026-05-12 08:36:08 +02:00
2026-04-13 09:54:26 +02:00
2026-05-08 11:52:42 +02:00
2026-03-03 13:34:03 +01:00
2026-03-31 12:13:58 +02:00
2026-03-07 09:17:26 +01:00
2026-04-22 17:48:53 +02:00
2026-02-06 12:19:17 +01:00
2026-04-29 11:17:43 +02:00
2026-02-15 13:14:15 +01:00
2026-03-18 11:13:27 +01:00
2026-04-08 08:17:42 +02:00
2026-05-11 14:08:23 +02:00
2026-04-16 10:40:32 +02:00
2026-05-04 10:34:36 +02:00
2026-05-05 16:00:22 +02:00
2026-04-07 09:20:58 +02:00
2026-03-31 14:14:15 +02:00
2026-03-14 15:06:07 +01:00
2026-03-20 11:34:23 +01:00
2026-04-13 09:12:12 +02:00
2026-04-28 17:19:17 +02:00
2026-02-22 16:43:16 +01:00
2026-04-28 09:26:25 +02:00
2026-04-24 13:24:00 +02:00
2026-05-06 09:42:15 +02:00
2026-05-06 08:45:53 +02:00
2026-02-10 09:38:06 +01:00
2026-04-20 17:32:34 +02:00
2026-04-29 09:13:33 +02:00
2026-04-25 13:24:49 +02:00
2026-05-08 11:52:42 +02:00
2026-05-08 14:28:41 +02:00
2026-03-26 16:35:29 +01:00
2026-04-09 08:16:54 +02:00
2026-05-08 11:52:42 +02:00
2026-05-08 11:52:42 +02:00
2026-05-08 11:52:42 +02:00
2026-05-08 11:52:42 +02:00
2026-05-08 11:52:42 +02:00
2026-05-08 11:52:42 +02:00
2026-04-16 09:36:44 +02:00
2026-04-14 12:22:07 +02:00
2026-02-15 15:47:41 +01:00
2026-04-28 13:58:56 +02:00
2026-04-26 14:24:28 +02:00
2026-05-06 14:42:38 +02:00
2026-03-17 12:24:36 +01:00
2026-03-18 09:04:31 +01:00
2026-05-08 09:19:09 +02:00
2026-04-19 09:48:10 +02:00