AI: Fix race condition causing immediate deletion of new sources. v7.0.127 (#4449) #4576
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: Newly created sources (RTMP/SRT/RTC/RTSP) were being immediately marked as "dead" and deleted by the cleanup timer before publishers could connect, causing "new live source, dead=1" errors.
Root Cause: All source constructors initialized
stream_die_at_ = 0, causingstream_is_dead()to returntrueimmediately since current time was always greater than0 + 3 seconds.Solution: Changed all four source constructors to initialize
stream_die_at_ = srs_time_now_cached(), giving newly created sources a proper 3-second grace period before cleanup.