Table of Contents

virtual void AK::IAkMixerEffectPlugin::OnFrameEnd ( AkAudioBuffer io_pMixBuffer,
IAkMetering in_pMetering  
) [pure virtual]

This function is called once every audio frame, after all insert effects on the bus have been processed, and after metering has been processed (if applicable), which occur after OnEffectsProcessed(). After the bus buffer io_pMixBuffer has been pushed to the bus downstream (or the output device), it is cleared out for the next frame. Mixer plugins may use this hook for processing the signal after it has been metered.

Note.gif
Note: io_pMixBuffer->eState is passed as AK_DataReady for the whole existence of the bus, until the last frame where it will be set to AK_NoMoreData. However, mixer plugins are capable of forcing the bus to remain alive for a longer time by changing io_pMixBuffer->eState back to AK_DataReady. You may do this in OnMixDone(), in OnEffectsProcessed() or in OnFrameEnd(). The difference is that effects inserted on the bus will enter their "tail mode" if you wait until OnEffectsProcessed() or OnFrameEnd() to flip the state to AK_DataReady. This is usually undesirable, so handling this inside OnMixDone() is usually preferred.
Note.gif
Note: This function is called after metering gets computed on io_pMixBuffer. You may access the result in in_pMetering. Metering has to be enabled with AK::IAkMixerPluginContext::EnableMetering(). It may also be enabled by the Wwise authoring tool when connected.
See also:
Parameters:
io_pMixBuffer  Output audio buffer data structure.
in_pMetering  Interface for retrieving metering data computed on io_pMixBuffer. May be NULL if metering is not enabled.