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

Function lazyInit

unity/src/native/spatialize_effect.cpp:173–323  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171};
172
173InitFlags lazyInit(UnityAudioEffectState* state,
174 int numChannelsIn,
175 int numChannelsOut)
176{
177 assert(state);
178
179 auto initFlags = INIT_NONE;
180
181 if (!gContext)
182 return initFlags;
183
184 if (!gHRTF[1])
185 return initFlags;
186
187 auto effect = state->GetEffectData<State>();
188 if (!effect)
189 return initFlags;
190
191 IPLAudioSettings audioSettings;
192 audioSettings.samplingRate = state->samplerate;
193 audioSettings.frameSize = state->dspbuffersize;
194
195 auto status = IPL_STATUS_SUCCESS;
196
197 if (numChannelsOut > 0)
198 {
199 if (!effect->panningEffect)
200 {
201 IPLPanningEffectSettings effectSettings{};
202 effectSettings.speakerLayout = speakerLayoutForNumChannels(numChannelsOut);
203
204 status = iplPanningEffectCreate(gContext, &audioSettings, &effectSettings, &effect->panningEffect);
205 }
206
207 if (status == IPL_STATUS_SUCCESS)
208 {
209 if (!effect->binauralEffect)
210 {
211 IPLBinauralEffectSettings effectSettings;
212 effectSettings.hrtf = gHRTF[1];
213
214 status = iplBinauralEffectCreate(gContext, &audioSettings, &effectSettings, &effect->binauralEffect);
215 }
216 }
217
218 if (status == IPL_STATUS_SUCCESS)
219 initFlags = static_cast<InitFlags>(initFlags | INIT_BINAURALEFFECT);
220 }
221
222 if (numChannelsIn > 0)
223 {
224 status = IPL_STATUS_SUCCESS;
225 if (!effect->directEffect)
226 {
227 IPLDirectEffectSettings effectSettings;
228 effectSettings.numChannels = numChannelsIn;
229
230 status = iplDirectEffectCreate(gContext, &audioSettings, &effectSettings, &effect->directEffect);

Callers 2

Calls 10

numChannelsForOrderFunction · 0.70
numSamplesForDurationFunction · 0.70
iplPanningEffectCreateFunction · 0.50
iplBinauralEffectCreateFunction · 0.50
iplDirectEffectCreateFunction · 0.50
iplPathEffectCreateFunction · 0.50
iplAudioBufferAllocateFunction · 0.50

Tested by

no test coverage detected