1/*
2Copyright 2018 Google Inc. All Rights Reserved.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS-IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17#include "node/source_node.h"
18
19namespace vraudio {
20
21SourceNode::SourceNode()
22 : Node(), output_stream_(this), end_of_stream_(false) {}
23
24void SourceNode::Process() {
25 const AudioBuffer* output = AudioProcess();
26 output_stream_.Write(data: output);
27}
28
29bool SourceNode::CleanUp() { return end_of_stream_; }
30
31std::shared_ptr<Node> SourceNode::GetSharedNodePtr() {
32 return shared_from_this();
33}
34
35Node::Output<const AudioBuffer*>* SourceNode::GetOutput() {
36 return &output_stream_;
37}
38
39void SourceNode::MarkEndOfStream() { end_of_stream_ = true; }
40
41} // namespace vraudio
42

source code of qtmultimedia/src/3rdparty/resonance-audio/resonance_audio/node/source_node.cc