mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 03:01:21 +02:00
External cameras in HTTP-snapshot mode failed to load with a repeating "connection lost" when the endpoint served PNG/WebP/BMP stills instead of JPEG (common on IP cameras and reverse-proxied snapshot URLs). The URL rendered fine directly in a browser, but Bambuddy's MJPEG stream wraps every part in a hard-coded Content-Type: image/jpeg boundary, so a non-JPEG payload labelled as JPEG made the browser reject the frame and tear down the whole multipart/x-mixed-replace stream. _capture_snapshot now transcodes non-JPEG stills to JPEG via OpenCV (already a dependency). Genuine JPEG snapshots keep a byte-for-byte fast path; truly undecodable responses (HTML error pages, auth redirects) fall back to the previous raw-return behaviour with a single clear warning instead of a per-frame log flood.