Alexis Rouillard
6fd84af50f
rebroadcast: Use optional chaining for allowBatteryPrebuffer ( #1986 )
2026-02-18 10:19:15 -08:00
JoshADC
7112e049cb
rebroadcast: fix RTMP acknowledgement uint32 overflow ( #1980 )
...
The RTMP client's totalBytesReceived counter grows unbounded as a
JavaScript number. When it exceeds 2^31 (~2.15 GB received), the
writeUInt32BE call in sendAcknowledgementIfNeeded throws a RangeError
because JavaScript bitwise operations produce signed 32-bit integers.
This crashes the RTMP session and drops the video stream.
For a high-bitrate camera like the Reolink D340P (~4 Mbps main stream),
this overflow occurs after approximately 90 minutes of continuous
streaming, causing periodic stream drops at a consistent interval.
Fix by using the unsigned right shift operator (>>> 0) to keep
totalBytesReceived and bytesToAck in the unsigned uint32 range [0,
4294967295], matching the RTMP spec's sequence number wrapping behavior.
Co-authored-by: Josh Casada <joshcasada@Joshs-Mac-mini.ts.net lan>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-08 18:53:46 -08:00
Koushik Dutta
af8abb6072
rebroadcast: publish rtmp support beta
2026-01-09 12:45:48 -08:00
Koushik Dutta
7ef868e42d
rebroadcast: rtmp window acks
2026-01-09 12:35:11 -08:00
Koushik Dutta
0185680791
rebroadcast: remove some bit shifting in favor of read/write uintbe
2026-01-08 21:35:04 -08:00
Koushik Dutta
1349bb7433
rebroadcast: slop rtmp implementation
2026-01-08 21:29:05 -08:00
Koushik Dutta
aa85e7ec19
rebroadcast: avoid mjpeg codecs and warn
2025-12-06 12:38:22 -08:00
Koushik Dutta
6356702ba3
rebroadcast: privacy mode
2025-11-13 09:40:28 -08:00
Koushik Dutta
8099df4a2a
rebroadcast: prevent buffering from buggy RTSP clients like frigate from causing memory leaks in scrypted
2025-10-01 09:16:30 -07:00
Koushik Dutta
a4a3731b94
rebroadcast: always use scrypted rtsp parser for consistency
2025-09-23 20:01:29 -07:00
Koushik Dutta
f4a55ee76b
rebroadcast: always use scrypted rtsp parser for consistency
2025-09-23 12:47:16 -07:00
Koushik Dutta
66455c8f01
rebroadcast: fix bug where stream may be started on fragmented key frame
2025-04-05 09:57:21 -07:00
Koushik Dutta
2d93a69c91
homekit/rebroadcast: fix prebuffer calculation, remove prebuffer warning
2025-04-02 22:12:12 -07:00
Koushik Dutta
553678ed1a
rebroadcast: Fix cluster addresses not being used
2025-04-02 12:33:45 -07:00
Koushik Dutta
b3b7265263
rebroadcast: wipe acodec arguments if encoder arguments are explicitly provided
2025-04-01 20:51:07 -07:00
Koushik Dutta
301213fc5f
rebroadcast: remove dead code
2025-03-31 11:07:28 -07:00
Koushik Dutta
da393ae4e0
rebroadcast: ensure audio mute/no audio is in sync
2025-03-31 10:57:09 -07:00
Koushik Dutta
cef8482b93
sdk: partial revert of ffmpeg input changes
2025-03-16 19:52:47 -07:00
Koushik Dutta
f729c76346
various: remove defunct ffmpeg args
2025-03-16 19:09:40 -07:00
Koushik Dutta
3e57c90208
rebroadcast: fix mixin order
2025-03-15 00:52:07 -07:00
Koushik Dutta
83a9ad2250
rebroadcast: reorder mixin order for regular (ie, non webrtc) cameras to be first to prevent stream flapping due to mixin change noise
2025-03-11 15:24:40 -07:00
Koushik Dutta
1a2aadfb52
rebroadcast: fix audio soft mute with adaptive bitrate and other downstream clients
2025-01-29 08:48:55 -08:00
Koushik Dutta
55a76a86dc
rebroadcast: fixup output args example
2025-01-14 12:51:34 -08:00
Koushik Dutta
b033d24451
rebroadcast: implement synthetic streams
2025-01-03 23:15:45 -08:00
Koushik Dutta
427139e8df
rebroadcast: wip remove transcode extension
2025-01-03 21:55:20 -08:00
Koushik Dutta
6ce538bb23
rebroadcast: setting for default parser
2025-01-02 11:06:24 -08:00
Koushik Dutta
8ec6a25833
rebroadcast: add support for rtsp url using cluster address in case scrypted server address is not set
2024-12-23 11:16:36 -08:00
Koushik Dutta
ff903fa891
rebroadcast: fix external urls with ipv6
2024-11-15 10:02:13 -08:00
Koushik Dutta
12be06adad
rebroadcast: cleanup
2024-11-15 10:02:13 -08:00
Koushik Dutta
ec2e4d64fd
rebroadcast: set online/offline state without prebuffer requirement
2024-10-29 12:21:40 -07:00
Koushik Dutta
89e6e50b12
rebroadcast: reduce logging
2024-08-26 23:04:51 -07:00
Koushik Dutta
2da762dfc2
server: working transferible buffers
2024-08-19 13:20:21 -07:00
Koushik Dutta
bfbc6ba6ce
rebroadcast: fix build
2024-08-19 12:02:45 -07:00
Koushik Dutta
6d9cd45936
rebroadcast: add global audio soft mute
2024-08-13 20:13:03 -07:00
Koushik Dutta
b43a002650
rebroadcast: fix content base handling when it is a relative path
2024-08-11 11:40:07 -07:00
Koushik Dutta
70d6813938
rebroadcast/webrtc: fix mp3 handling
2024-08-10 14:17:07 -07:00
Koushik Dutta
946d88236c
rebroadcast: beta
2024-07-29 14:25:30 -07:00
Brett Jia
834eff20c7
sdk, rebroadcast: support specifying custom ffmpeg path ( #1535 )
2024-07-21 07:31:26 -07:00
Brett Jia
aa9903b328
sdk, rebroadcast: don't automatically prebuffer synthetic streams ( #1534 )
2024-07-20 21:05:47 -07:00
Brett Jia
6d7add8272
rebroadcast: support env vars + upstream encoder args ( #1533 )
...
* rebroadcast: support env vars + upstream encoder args
* make ffmpegInput override process.env
* make h264EncoderArguments safer
* reorder
* update per feedback
2024-07-20 19:53:22 -07:00
Koushik Dutta
78118daa69
rebroadcast: fix hang if ffmpeg exits without any connection
2024-06-25 09:44:06 -07:00
Koushik Dutta
8b303e037e
rebroadcast: delete legacy code
2024-06-25 00:15:53 -07:00
Koushik Dutta
05578d28c6
rebroadcast: fix resolution reporting
2024-06-24 15:39:05 -07:00
Koushik Dutta
0889aea3be
rebroadcast: reduce error logging
2024-06-24 12:24:01 -07:00
Koushik Dutta
a081e6e3c9
rebroadcast: refactor codec and resolution detection
2024-06-24 09:05:20 -07:00
Koushik Dutta
c90724daa6
common: createActivityTimeout
2024-06-20 09:21:21 -07:00
Koushik Dutta
e076d61122
rebroadcast: fixup reverts
2024-05-30 09:29:14 -07:00
Koushik Dutta
7071808514
Revert "rebroadcast: parser perf refactor"
...
This reverts commit f677cf7393 .
2024-05-30 09:27:27 -07:00
Koushik Dutta
1e2fd46cd3
Revert "rebroadcast: more parser refactor"
...
This reverts commit 5432b5b917 .
2024-05-30 09:24:53 -07:00
Koushik Dutta
7e817b0b30
rebroadcast: further removal of legacy code
2024-05-19 11:22:10 -07:00