Optimizing applyToStream to resuse existing voice focus node in WebAudio graph #3116
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.
Issue #:
In the current voicefocus code, we always create new web audio AudioWorklet node to enhance the audio. In case of Connect, this is creating a new node (and thus artifacts along with it) for every call. Even after calling
destroymethod, these artifacts are still there in browser (web worker and wasm files) due to a Chrome bug [https://issues.chromium.org/issues/41435286], these resources are never cleaned up from browser and increasing the browser memory foot print.Description of changes:
resetcall.Testing:
node_modules.Can these tested using a demo application? Please provide reproducible step-by-step instructions.
Yes, the voice focus behaviour must be unchanged for first and any subsequent calls.
Checklist:
Have you successfully run
npm run build:releaselocally?yes
Do you add, modify, or delete public API definitions? If yes, has that been reviewed and approved?
yes
Do you change the wire protocol, e.g. the request method? If yes, has that been reviewed and approved?
no
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.