Audio occasionally cuts out and requires rejoining #94
Labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
puregarlic/microclimate#94
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Happened semi-frequently when @seb and I were testing #55. We caught the event when it happened in logs but we actually need a way to filter the logs with the tracing crate (preferably in a way that's controllable with the RUST_LOG environment variable), this is demonstrated here although alternatives are likely available.
@tepichord Log filtering might already be available to use. Check this out: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html
When I've seen/fixed this before it's because we send frames at a higher rate than expected, which causes the LiveKit server to try to do some attenutation/pushback stuff that I don't really understand. I've seen it before because my first implementation of mute was to send no frames rather than silent frames, which basically pinged the server at CPU clock speed instead of at the audio framerate.
As I understand it adverse conditions on the network, hiccups on an OS level, or bugs on our side could cause this. There is a warning displayed in the logs if this occurs, although I unfortunately don't know what the text of the warning is. There might be a LiveKit-side buffer that we can turn on and/or turn up in order to reduce the incidence of this if it isn't a bug on our end.
There could also be weirdness associated with joining/double joining the LiveKit server. @puregarlic is probably best positioned to debug it if you have more logs on the server side than we get from the client.
I suspect that if there are some latent issues with how the LiveKit server handles audio frames getting backed up, as opposed to this issue being a feature bug that I wrote (sorry) then you'd be able to replicate it in the
mainbranch build (as of today, 4/13), rather than the build after we merge all of the PRs that are in-flight. We didn't observe it on that version of the repo, but we also didn't spend very much time testing it.