MCPcopy Create free account
hub / github.com/ValveSoftware/steam-audio / process

Method process

core/src/core/tan_device.cpp:120–149  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118}
119
120void TANDevice::process(AudioBuffer& out)
121{
122 out.makeSilent();
123
124 if (!mIRsUpdated)
125 return;
126
127 mWet.zero();
128
129 mTANConvolution->Process(mDryPtrs.flatData(), mWetPtrs.flatData(), mFrameSize, mProcessFlags.flatData(), nullptr);
130
131 for (auto i = 0; i < mNumSources; ++i)
132 {
133 if (mProcessFlags[i][0] == amf::TAN_CONVOLUTION_CHANNEL_FLAG_PROCESS)
134 {
135 for (auto j = 0; j < mNumChannels; ++j)
136 {
137 ArrayMath::add(mFrameSize, mWet[i][j], out[j], out[j]);
138 }
139 }
140 }
141
142 for (auto i = 0; i < mNumSources; ++i)
143 {
144 for (auto j = 0; j < mNumChannels; ++j)
145 {
146 mProcessFlags[i][j] = amf::TAN_CONVOLUTION_CHANNEL_FLAG_STOP_INPUT;
147 }
148 }
149}
150
151void TANDevice::setIR(int slot,
152 const cl_mem* irChannels)

Callers

nothing calls this directly

Calls 4

makeSilentMethod · 0.80
addFunction · 0.70
zeroMethod · 0.45
flatDataMethod · 0.45

Tested by

no test coverage detected