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.
I've rewrited entire code related to Voice.
This is very big pull request.
I'm sorry, I understand that it is difficult to review.
But I believe that this is valuable to check.
I'm not good at English. Wording fixes are welcome.
I'm not sure about the naming. Naming changes are also welcome.
I want to support E2EE in the future but it's not included in this pull request.
Summary
Use context to manage goroutines and connections
Eliminate busy wait using sync.Cond
Use Voice Gateway Version 8
Change to new transport encryption mode
aead_aes256_gcm_rtpsize
andaead_xchacha20_poly1305_rtpsize
Resume Voice Conenction
Delete reconnection (excludes resume)
Deliver unrecoverable error to the application
Edit some examples to work with these changes
Breaking changes
note: Currently using transport encryption mode(
xsalsa20_poly1305
) and voice gateway version(connecting without a version) is already discontinued according to the document. (but it works currently 🤔 )