Files
scrypted/plugins/prebuffer-mixin/src
thllxb c5fc35ed6d fix(rebroadcast): do not send getStreamLength before play in RTMP client (#2056)
ffmpeg's libavformat RTMP client (gen_get_stream_length in rtmpproto.c) only sends getStreamLength for seekable/VOD streams, never as an unconditional preamble to play. Some live RTMP servers - notably Reolink cameras - respond to an unsolicited getStreamLength on a live stream by sending TCP FIN ~100-150ms later, killing the connection before the play command can take effect. The rebroadcast prebuffer then enters a tight reconnect loop that never produces a usable stream.

Removing the unconditional getStreamLength send lets Reolink RTMP rebroadcast work indefinitely without disconnects, and should not regress other servers since ffmpeg already runs without it.

Fixes #2055

Co-authored-by: thllxb <223556219+Copilot@users.noreply.github.com>
2026-06-01 15:18:01 -07:00
..
2024-11-15 10:02:13 -08:00
2026-02-26 08:42:31 -08:00
2024-06-24 12:24:01 -07:00