#1732: Fix audio timestamps when audio source discontinues. #1733
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.
Description & motivation
Fix timestamps in RTMP packets remain continuous, even when audio source is discontinuous (has gaps). This lead to lip-sync problems.
Type of change
Explanation
The reset of the audio timeline when audio codec re-creates audio converter is required to pick new anchor time of next audio sample.
The anchor time update should also pick the current sample from provided anchor time, otherwise extrapolate time will jump forward or backward when computing new timestamp.
Corner case
This fixes the case when switch between devices which has different audio formats (e.g sample rate), which causes reset of
AudioCodec
. When two BT devices has sample format, but different clock this fix is not enough. There should be other way to triggerAudioCodec
state reset.Screenshots: