Patience overflow: a debugging tale old as time
A recent bug at Mux involved daily disconnections of live streams using Secure Reliable Transport (SRT) but not RTMP, all occurring at the same time each day. The problem was traced to a timestamp issue where PES timestamps wrapped around roughly every 26.5 hours due to their limited range in MPEG-TS format. This caused Mux's timestamp rewriter to interpret the timestamps as going backwards, leading to disconnections or slate insertions. The fix involved handling wraparound in the PES timestamps by treating it as a normal monotonically-increasing timestamp. Lessons learned include considering all permutations of data types, leveraging monitoring tools for problem diagnosis, and staying prepared for unforeseen edge cases.
Company
Mux
Date published
June 14, 2024
Author(s)
Mike Smith
Word count
1099
Hacker News points
1
Language
English