# NNS_SndCaptureSetOutputEffectCallback

## Syntax

      #include <nnsys/snd.h>

      typedef void (*NNSSndCaptureCallback)(
          void* bufferL,
          void* bufferR,
          u32 len,
          NNSSndCaptureFormat format,
          void* arg
      );

      void NNS_SndCaptureSetOutputEffectCallback(
              NNSSndCaptureCallback func,
              void* arg );

## Arguments

`func` | Callback function pointer.
`arg` | Parameter that becomes the callback function argument.

## Return Values

None.

## Description

Registers the output effect preprocess callback.

When output effect processing is being performed by the `NNS_SndCaptureStartOutputEffect` function, the registered callback function `func` is called immediately before the output effect processing. To call it immediately after the processing, register the callback function with `NNS_SndCaptureSetPostOutputEffectCallback`.

The arguments for the `func` callback function are the pointer to the starting address for the L component `bufferL`, the pointer to the starting address for the R component `bufferR`, and the buffer size `len`. The format `format` always takes `NNS_SND_CAPTURE_FORMAT_PCM16`, which indicates 16-bit PCM. The same arguments for `NNS_SndCaptureSetOutputEffectCallback` are passed to the user argument `arg`.

### Note

Unlike the callback functions of the `NNS_SndCaptureStartEffect` function, the buffer that is passed can be accessed only from inside the callback function.

## See Also

`NNS_SndCaptureStartOutputEffect, NNS_SndCaptureSetPostOutputEffectCallback, NNS_SndCaptureStartEffect`

## Revision History

2004/10/04 Initial version.

CONFIDENTIAL