You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per the RTP/RTCP spec, a sender must send RTCP SR for every SSRC it uses. However, some RTP-based sources only send SR for a subset of their SSRCs.
This issue was observed with OBS 32.1.0 sending WHIP Simulcast.
This patch works around the issue by not starting until RTCP SR is received for all registered SSRCs, and reduces the fallback timeout from 5 seconds to 3 seconds so it falls back to per-track timestamp calculation without RTCP SR more quickly.
Update: Also made LipSyncClock thread-safe in preparation for potential future multi-threaded use. Currently RTP and RTCP are always handled on the same thread, so there is no practical issue today.
I have improved the LipSyncClock library so that it works well in a multi-threaded environment. (Although this is not an issue since it is currently used in a single-threaded environment,) please review it again. @dimiden
I have improved the LipSyncClock library so that it works well in a multi-threaded environment. (Although this is not an issue since it is currently used in a single-threaded environment,) please review it again. @dimiden
If clock->_updated = true is set in UpdateSenderReportTime() and then CalcPTS() evaluates if (clock->_updated == false) right after, could this lead to unexpected results when calculating pts?
(If this level of discrepancy does not have a meaningful impact, please feel free to disregard this comment.)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Per the RTP/RTCP spec, a sender must send RTCP SR for every SSRC it uses. However, some RTP-based sources only send SR for a subset of their SSRCs.
This issue was observed with OBS 32.1.0 sending WHIP Simulcast.
This patch works around the issue by not starting until RTCP SR is received for all registered SSRCs, and reduces the fallback timeout from 5 seconds to 3 seconds so it falls back to per-track timestamp calculation without RTCP SR more quickly.
Update: Also made
LipSyncClockthread-safe in preparation for potential future multi-threaded use. Currently RTP and RTCP are always handled on the same thread, so there is no practical issue today.