Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perform audio-level detection in AudioBridge participant thread #3312

Merged
merged 2 commits into from Jan 9, 2024

Conversation

lminiero
Copy link
Member

@lminiero lminiero commented Dec 18, 2023

This is an attempt to fix #3304, which causes talk-events to stop flowing if RTP stops coming in. The way this patch tries to solve it is by moving the talk-detection stuff to the participant thread, taking advantage of the new jitter buffer refactoring: this allows us to still advance the talk-detection timers even when there's no audio coming in. Notice that this won't work in case the participant is suspended, since in that case we don't perform the pull every 20ms we otherwise do.

I only tested if audio still works, since this required a refactoring of what goes through the jitter buffer (which was needed to pass the parsed audio levels along too). I haven't tested yet if this does indeed solve the issue, so please test and provide feedback.

This is for master, I'll backport to 0.x too after merging if this works.

@lminiero lminiero added the multistream Related to Janus 1.x label Dec 18, 2023
@atoppi
Copy link
Member

atoppi commented Jan 9, 2024

lgtm 👍

@lminiero
Copy link
Member Author

lminiero commented Jan 9, 2024

Merging.

@lminiero lminiero merged commit e78232e into master Jan 9, 2024
8 checks passed
@lminiero lminiero deleted the talk-events branch January 9, 2024 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
multistream Related to Janus 1.x
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[1.x] AudioBridge: after network interrupt there's no stopped-talking event until timeout
2 participants