#include <cafe.h> AXPB_ERROR_CODE AXGetDeviceFinalOutput(AXPBDeviceType device, s16 *dataPtr, u32 const size, AXDEVICEFINALOUTPUTSTRUCT *axDeviceFinalOutputStruct);
|dataPtr||Pointer to the user provided array where final output is copied to.|
|size||Size of the array pointed by dataPtr in bytes.|
|axDeviceFinalOutputStruct|| Pointer to the user provided
Zero if successful, an error of type
If the size of the array that is provided by the user is large enough, this function copies the final output samples that are being pumped.
AXDEVICEFINALOUTPUTSTRUCT provides information about the
output format, number of samples, sample frequency, etc. for the output samples that are being copied.
The size of the buffer should be at least 1728 bytes (6 channels *144 samples/frame *2 bytes/sample) for TV and at least 576 bytes (2 channels *144 samples/frame *2 bytes/sample). In the future, a function will be provided that gets the minimum size of the buffer for copying the samples.
When the output mode for the device is set to:
AX_MODE_MONO, each output sample is duplicated as if the output mode is
AX_MODE_STEREOand both channels are playing identical audio.
AX_MODE_SURROUND, the outputs are interleaved in R, L order.
AX_MODE_6CHAN, the outputs are interleaved in R, L, FC, LFE, SR, SL order.
2013/07/20 Added information about how the mode settings for a device effect the output.
2013/05/08 Automated cleanup pass.
2012/10/26 added minimum size requirements on the buffer being provided
2012/08/01 Cleanup Pass.
2011/02/21 Initial version.