Microsoft DirectX 8.1 (C++)

IDirectSoundCaptureFXAec8::GetStatus

The IDirectSoundCaptureFXAec8::GetStatus method retrieves the status of the effect.

Syntax

HRESULT GetStatus(
  PDWORD pdwStatus
);

Parameters

pdwStatus

Address of a DWORD variable to receive the status. The following flags are defined. See Remarks.

Constant Value
DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED 0x0
DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED 0x1
DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED 0x2
DSCFX_AEC_STATUS_CURRENTLY_CONVERGED 0x8

Return Values

If the method succeeds, the return value is DS_OK.

If the method fails, the return value may be one of the following values.

Return code
DSERR_INVALIDPARAM
DSERR_E_OUTOFMEMORY

Remarks

The three least significant bits in *pdwStatus describe the convergence history; that is, the success of the effect in canceling the echo. The convergence history can be used by the application to determine if the algorithm has converged and remained in the converged state since it started processing data.

Initially, the AEC algorithm sets the three lower bits to 0 for the uninitialized state (DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED). Once the AEC algorithm converges, the convergence history is switched to the DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED state. If the AEC algorithm ever loses convergence, the convergence history is then transitioned to the DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED state. A transition from DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED to DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED is also possible. The convergence history remains in the DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED state until the algorithm is reset or starvation is detected.

Requirements

  Header: Declared in dsound.h.

See Also