summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/webaudio/audio_destination_node.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/webaudio/audio_destination_node.cc')
-rw-r--r--chromium/third_party/blink/renderer/modules/webaudio/audio_destination_node.cc78
1 files changed, 1 insertions, 77 deletions
diff --git a/chromium/third_party/blink/renderer/modules/webaudio/audio_destination_node.cc b/chromium/third_party/blink/renderer/modules/webaudio/audio_destination_node.cc
index d3d89db4acf..ac37756aab8 100644
--- a/chromium/third_party/blink/renderer/modules/webaudio/audio_destination_node.cc
+++ b/chromium/third_party/blink/renderer/modules/webaudio/audio_destination_node.cc
@@ -24,13 +24,8 @@
*/
#include "third_party/blink/renderer/modules/webaudio/audio_destination_node.h"
-#include "third_party/blink/renderer/modules/webaudio/audio_node_input.h"
-#include "third_party/blink/renderer/modules/webaudio/audio_node_output.h"
+
#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
-#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
-#include "third_party/blink/renderer/platform/audio/denormal_disabler.h"
-#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
-#include "third_party/blink/renderer/platform/wtf/atomics.h"
namespace blink {
@@ -43,77 +38,6 @@ AudioDestinationHandler::~AudioDestinationHandler() {
DCHECK(!IsInitialized());
}
-void AudioDestinationHandler::Render(AudioBus* source_bus,
- AudioBus* destination_bus,
- size_t number_of_frames,
- const AudioIOPosition& output_position) {
- TRACE_EVENT0("webaudio", "AudioDestinationHandler::Render");
-
- // We don't want denormals slowing down any of the audio processing
- // since they can very seriously hurt performance. This will take care of all
- // AudioNodes because they all process within this scope.
- DenormalDisabler denormal_disabler;
-
- // Need to check if the context actually alive. Otherwise the subsequent
- // steps will fail. If the context is not alive somehow, return immediately
- // and do nothing.
- //
- // TODO(hongchan): because the context can go away while rendering, so this
- // check cannot guarantee the safe execution of the following steps.
- DCHECK(Context());
- if (!Context())
- return;
-
- Context()->GetDeferredTaskHandler().SetAudioThreadToCurrentThread();
-
- // If the destination node is not initialized, pass the silence to the final
- // audio destination (one step before the FIFO). This check is for the case
- // where the destination is in the middle of tearing down process.
- if (!IsInitialized()) {
- destination_bus->Zero();
- return;
- }
-
- // Let the context take care of any business at the start of each render
- // quantum.
- Context()->HandlePreRenderTasks(output_position);
-
- // Prepare the local audio input provider for this render quantum.
- if (source_bus)
- local_audio_input_provider_.Set(source_bus);
-
- DCHECK_GE(NumberOfInputs(), 1u);
- if (NumberOfInputs() < 1) {
- destination_bus->Zero();
- return;
- }
- // This will cause the node(s) connected to us to process, which in turn will
- // pull on their input(s), all the way backwards through the rendering graph.
- AudioBus* rendered_bus = Input(0).Pull(destination_bus, number_of_frames);
-
- if (!rendered_bus) {
- destination_bus->Zero();
- } else if (rendered_bus != destination_bus) {
- // in-place processing was not possible - so copy
- destination_bus->CopyFrom(*rendered_bus);
- }
-
- // Process nodes which need a little extra help because they are not connected
- // to anything, but still need to process.
- Context()->GetDeferredTaskHandler().ProcessAutomaticPullNodes(
- number_of_frames);
-
- // Let the context take care of any business at the end of each render
- // quantum.
- Context()->HandlePostRenderTasks();
-
- // Advance current sample-frame.
- size_t new_sample_frame = current_sample_frame_ + number_of_frames;
- ReleaseStore(&current_sample_frame_, new_sample_frame);
-
- Context()->UpdateWorkletGlobalScopeOnRenderingThread();
-}
-
// ----------------------------------------------------------------
AudioDestinationNode::AudioDestinationNode(BaseAudioContext& context)