IDirectSoundCaptureFXAec8::GetStatus

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

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_OUTOFMEMORY

Remarks

Windows:  Important Note for Windows Vista

Existing applications that access Windows XP Acoustic Echo Cancellation (AEC) features via the DirectSound API will no longer obtain AEC when running on Windows Vista. These applications will still run, but their calls to AEC-specific DirectSound API calls will have no effect on the captured audio.

To learn how to obtain AEC in Windows Vista, See the Windows Vista AEC topics in the Windows SDK.

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). When the AEC algorithm has converged, 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 timely data is no longer arriving on the capture or render stream.

Requirements

Header: Declared in Dsound.h.

Import Library: Use Dsdmo.dll.

See Also

IDirectSoundCaptureFXAec8