ISpatialAudioObjectRenderStreamBase::BeginUpdatingAudioObjects method (spatialaudioclient.h)
Puts the system into the state where audio object data can be submitted for processing and the ISpatialAudioObject state can be modified.
HRESULT BeginUpdatingAudioObjects( UINT32 *availableDynamicObjectCount, UINT32 *frameCountPerBuffer );
The number of dynamic audio objects that are available to be rendered for the current processing pass. All allocated static audio objects can be rendered in every pass. For information on audio object types, see AudioObjectType.
The size, in audio frames, of the buffer returned by GetBuffer.
If the method succeeds, it returns S_OK. If it fails, possible return codes include, but are not limited to, the values shown in the following table.
||BeginUpdatingAudioObjects was called twice without a matching call to EndUpdatingAudioObjects between the two calls.|
||The ISpatialAudioClient associated with the spatial audio stream has been destroyed.|
||The audio endpoint device has been unplugged, or the audio hardware or associated hardware resources have been reconfigured, disabled, removed, or otherwise made unavailable for use.|
||A resource associated with the spatial audio stream is no longer valid.|
||An internal error has occurred.|
||The media associated with the spatial audio stream uses an unsupported format.|
This method must be called each time the event passed in the SpatialAudioObjectRenderStreamActivationParams to ISpatialAudioClient::ActivateSpatialAudioStream is signaled,
even if there no audio object data to submit.
For each BeginUpdatingAudioObjects call, there should be a corresponding call to EndUpdatingAudioObjects call.
If BeginUpdatingAudioObjects is called twice without a call EndUpdatingAudioObjects between them, the second call to
BeginUpdatingAudioObjects will return SPTLAUDCLNT_E_OUT_OF_ORDER.