Implement core of tail processing for AudioNodes
Implements the core of the tail processing algorithm for AudioNodes, but doesn't actually enable it. Enabling will fill be in a follow-up CL. Keep nodes alive when there are no input connections so that the node has time to flush out any internal memory. When the output of the node is going to be disabled (because there are no inputs), place the node on a list, without disabling the output. The list is processed every rendering quantum to see if the tail time of node has passed. If the tail time has not passed, nothing is done; otherwise, the output is disabled, and the node is removed from the list. This allows the node to be collected, if possible. Bug: 357843 Test: AudioNode/tail-processing.html,DynamicsCompressor/dynamicscompressor-clear-internal-state.html Change-Id: I895255f856c079dbeed872120ab5c0cb36b8bdb3 Reviewed-on: https://chromium-review.googlesource.com/949762Reviewed-by:Hongchan Choi <hongchan@chromium.org> Commit-Queue: Raymond Toy <rtoy@chromium.org> Cr-Commit-Position: refs/heads/master@{#541648}
Showing
Please register or sign in to comment