Microsoft DirectX 8.1 (C++) |
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