Home Units Hierarchy Routines All identifiers

Unit unaVCDSIntf

DescriptionUsesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

DS interfaces

Uses

Overview

Classes, Interfaces, Objects and Records

Name Description
packed record AecQualityMetrics_Struct  
packed record AM_MEDIA_TYPE  
packed record DMO_OUTPUT_DATA_BUFFER  
packed record DSBCAPS  
packed record DSBPOSITIONNOTIFY  
packed record DSBUFFERDESC  
packed record DSCAPS  
packed record DSCBCAPS  
packed record DSCBUFFERDESC  
packed record DSCCAPS  
packed record DSCEFFECTDESC  
packed record DSCFXAec  
packed record DSEFFECTDESC  
Interface IDirectSound IDirectSound
Interface IDirectSound8  
Interface IDirectSoundBuffer IDirectSoundBuffer
Interface IDirectSoundBuffer8 IDirectSoundBuffer8
Interface IDirectSoundCapture IDirectSoundCapture
Interface IDirectSoundCaptureBuffer IDirectSoundCaptureBuffer
Interface IDirectSoundCaptureBuffer8 IDirectSoundCaptureBuffer8
Interface IDirectSoundCaptureFXAec  
Interface IDirectSoundFullDuplex IDirectSoundFullDuplex
Interface IDirectSoundNotify IDirectSoundNotify
Interface IMediaBuffer  
Interface IMediaObject  
Interface IMediaObjectInPlace  
Interface IMMDevice  
Interface IMMDeviceCollection  
Interface IMMDeviceEnumerator  
Interface IMMNotificationClient  
Interface IPropertyStore  
packed record PROPERTYKEY  
Class tMediaBuffer media buffer implementation

Functions and Procedures

function DirectSoundCreate8(pcGuidDevice: PGUID; out ppDS8: IDirectSound8; pUnkOuter: IUnknown): HRESULT; stdcall;
function DirectSoundFullDuplexCreate8(pcGuidCaptureDevice, pcGuidRenderDevice: PGUID; const pcDSCBufferDesc: TDSCBufferDesc; const pcDSBufferDesc: TDSBufferDesc; hWnd: hWnd; dwLevel: DWORD; out ppDSFD: IDirectSoundFullDuplex8; out ppDSCBuffer8: IDirectSoundCaptureBuffer8; out ppDSBuffer8: IDirectSoundBuffer8; pUnkOuter: IUnknown): HRESULT; stdcall;
function unadsFullDuplexCreate(pcGuidCaptureDevice, pcGuidRenderDevice: PGUID; const pcDSCBufferDesc: TDSCBufferDesc; const pcDSBufferDesc: TDSBufferDesc; hWnd: hWnd; dwLevel: DWORD; out ppDSFD: IDirectSoundFullDuplex8; out ppDSCBuffer8: IDirectSoundCaptureBuffer8; out ppDSBuffer8: IDirectSoundBuffer8): HRESULT;
function unaDirectSoundCreate(pcGuidDevice: PGUID; out ppDS8: IDirectSound8): HRESULT;
function DirectSoundEnumerate(cap: bool; cb: LPDSENUMCALLBACKW; context: pointer): HRESULT;
procedure propVariantInit(v: PROPVARIANT);
function MoInitMediaType(var pmt: DMO_MEDIA_TYPE; cbFormat: DWORD): HRESULT;
function MoFreeMediaType(var pmt: DMO_MEDIA_TYPE): HRESULT;

Types

INT_PTR = integer;
UINT_PTR = cardinal;
LONG_PTR = Longint;
ULONG_PTR = Longword;
DWORD_PTR = ULONG_PTR;
TDSCaps = DSCAPS;
PDSCaps = ˆTDSCaps;
TDSBufferDesc = DSBUFFERDESC;
PDSBufferDesc = ˆTDSBufferDesc;
TDSCEffectDesc = DSCEFFECTDESC;
PDSCEffectDesc = ˆTDSCEffectDesc;
TDSCBufferDesc = DSCBUFFERDESC;
PDSCBufferDesc = ˆTDSCBufferDesc;
TDSBcaps = DSBCAPS;
PDSBcaps = ˆTDSBcaps;
TDSCcaps = DSCCAPS;
PDSCcaps = ˆTDSCcaps;
TDSCBCaps = DSCBCAPS;
PDSCBCaps = ˆTDSCBCaps;
TDSEffectDesc = DSEFFECTDESC;
PDSEffectDesc = ˆTDSEffectDesc;
TDSBPositionNotify = DSBPOSITIONNOTIFY;
PDSBPositionNotify = ˆTDSBPositionNotify;
TDSCFXAec = DSCFXAec;
PDSCFXAec = ˆTDSCFXAec;
pAecQualityMetrics_Struct = ˆAecQualityMetrics_Struct;
IID_IDirectSound = IDirectSound;
IID_IDirectSound8 = IDirectSound8;
IID_IDirectSoundCapture = IDirectSoundCapture;
IID_IDirectSoundBuffer = IDirectSoundBuffer;
IID_IDirectSoundCaptureBuffer = IDirectSoundCaptureBuffer;
IID_IDirectSoundCaptureBuffer8 = IDirectSoundCaptureBuffer8;
IID_IDirectSoundBuffer8 = IDirectSoundBuffer8;
IID_IDirectSoundFullDuplex = IDirectSoundFullDuplex;
IDirectSoundFullDuplex8 = IDirectSoundFullDuplex;
IID_IDirectSoundNotify = IDirectSoundNotify;
IID_IDirectSoundNotify8 = IID_IDirectSoundNotify;
IDirectSoundNotify8 = IDirectSoundNotify;
IID_IDirectSoundCaptureFXAec = IDirectSoundCaptureFXAec;
IID_IDirectSoundCaptureFXAec8 = IID_IDirectSoundCaptureFXAec;
IDirectSoundCaptureFXAec8 = IDirectSoundCaptureFXAec;
REFERENCE_TIME = LONGLONG;
pAM_MEDIA_TYPE = ˆAM_MEDIA_TYPE;
pDMO_MEDIA_TYPE = ˆDMO_MEDIA_TYPE;
DMO_MEDIA_TYPE = AM_MEDIA_TYPE;
IID_IMediaBuffer = IMediaBuffer;
pDMO_OUTPUT_DATA_BUFFER = ˆDMO_OUTPUT_DATA_BUFFER;
IID_IMediaObject = IMediaObject;
IID_IMediaObjectInPlace = IMediaObjectInPlace;
REFPROPERTYKEY = ˆPROPERTYKEY;
REFPROPVARIANT = ˆPROPVARIANT;
IID_IPropertyStore = IPropertyStore;
REFIID = PGUID;
IID_IMMDevice = IMMDevice;
IID_IMMDeviceCollection = IMMDeviceCollection;
EDataFlow = (...);
ERole = (...);
IID_IMMNotificationClient = IMMNotificationClient;
IID_IMMDeviceEnumerator = IMMDeviceEnumerator;
LPDSENUMCALLBACKW = function(p1: PGUID; p2: LPCWSTR; p3: LPCWSTR; p4: pointer): bool; stdcall;
proc_DirectSoundCreate8 = function(pcGuidDevice: PGUID; out ppDS8: IDirectSound8; pUnkOuter: IUnknown): HResult; stdcall;
proc_DirectSoundFullDuplexCreate8 = function(pcGuidCaptureDevice, pcGuidRenderDevice: PGUID; const pcDSCBufferDesc: TDSCBufferDesc; const pcDSBufferDesc: TDSBufferDesc; hWnd: hWnd; dwLevel: DWORD; out ppDSFD: IDirectSoundFullDuplex8; out ppDSCBuffer8: IDirectSoundCaptureBuffer8; out ppDSBuffer8: IDirectSoundBuffer8; pUnkOuter: IUnknown): HRESULT; stdcall;
proc_DirectSoundEnumerateW = function (pDSEnumCallback: LPDSENUMCALLBACKW; pContext: pointer): HRESULT; stdcall;
proc_DirectSoundCaptureEnumerateW = function(pDSEnumCallback: LPDSENUMCALLBACKW; pContext: pointer): HRESULT; stdcall;
proc_MoInitMediaType = function(var pmt: DMO_MEDIA_TYPE; cbFormat: DWORD): HRESULT; stdcall;
proc_MoFreeMediaType = function(var pmt: DMO_MEDIA_TYPE): HRESULT; stdcall;

Constants

ADAPTIVE_ARRAY_AND_AEC = 3;
ADAPTIVE_ARRAY_ONLY = 1;
AEC_VAD_DISABLED = 0;
AEC_VAD_FOR_AGC = 2;
AEC_VAD_FOR_SILENCE_SUPPRESSION = 3;
AEC_VAD_NORMAL = 1;
CLSID_CWMAudioAEC: TGUID = '{745057c7-f353-4f2d-a7ee-58434477730e}';
CLSID_MMDeviceEnumerator: TGUID = '{BCDE0395-E52F-467C-8E3D-C4579291692E}';
c_directSoundDll = 'DSOUND.DLL';
c_dmoDll = 'MSDMO.DLL';
DEVICE_STATEMASK_ALL = $0000000f;
DEVICE_STATE_ACTIVE = $00000001;
DEVICE_STATE_DISABLED = $00000002;
DEVICE_STATE_NOTPRESENT = $00000004;
DEVICE_STATE_UNPLUGGED = $00000008;
DMO_INPUT_DATA_BUFFERF_SYNCPOINT = $1;
DMO_INPUT_DATA_BUFFERF_TIME = $2;
DMO_INPUT_DATA_BUFFERF_TIMELENGTH = $4;
DMO_INPUT_STATUSF_ACCEPT_DATA = $1;
DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = $4;
DMO_INPUT_STREAMF_HOLDS_BUFFERS = $8;
DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = $2;
DMO_INPUT_STREAMF_WHOLE_SAMPLES = $1;
DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = $1000000;
DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = $1;
DMO_OUTPUT_DATA_BUFFERF_TIME = $2;
DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = $4;
DMO_OUTPUT_STREAMF_DISCARDABLE = $8;
DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = $4;
DMO_OUTPUT_STREAMF_OPTIONAL = $10;
DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = $2;
DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = $1;
DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = $1;
DMO_SET_TYPEF_CLEAR = $2;
DMO_SET_TYPEF_TEST_ONLY = $1;
DS3DALG_DEFAULT: TGUID = '{00000000-0000-0000-0000-000000000000}';
DS3DALG_HRTF_FULL: TGUID = '{c2413340-1c1b-11d2-94f5-00c04fc28aca}';
DS3DALG_HRTF_LIGHT: TGUID = '{c2413342-1c1b-11d2-94f5-00c04fc28aca}';
DS3DALG_NO_VIRTUALIZATION: TGUID = '{c241333f-1c1b-11d2-94f5-00c04fc28aca}';
DSBCAPS_CTRL3D = $00000010;
DSBCAPS_CTRLFREQUENCY = $00000020;
DSBCAPS_CTRLFX = $00000200;
DSBCAPS_CTRLPAN = $00000040;
DSBCAPS_CTRLPOSITIONNOTIFY = $00000100;
DSBCAPS_CTRLVOLUME = $00000080;
DSBCAPS_GETCURRENTPOSITION2 = $00010000;
DSBCAPS_GLOBALFOCUS = $00008000;
DSBCAPS_LOCDEFER = $00040000;
DSBCAPS_LOCHARDWARE = $00000004;
DSBCAPS_LOCSOFTWARE = $00000008;
DSBCAPS_MUTE3DATMAXDISTANCE = $00020000;
DSBCAPS_PRIMARYBUFFER = $00000001;
DSBCAPS_STATIC = $00000002;
DSBCAPS_STICKYFOCUS = $00004000;
DSBLOCK_ENTIREBUFFER = $00000002;
DSBLOCK_FROMWRITECURSOR = $00000001;
DSBPLAY_LOCHARDWARE = $00000002;
DSBPLAY_LOCSOFTWARE = $00000004;
DSBPLAY_LOOPING = $00000001;
DSBPLAY_TERMINATEBY_DISTANCE = $000000010;
DSBPLAY_TERMINATEBY_PRIORITY = $000000020;
DSBPLAY_TERMINATEBY_TIME = $00000008;
DSBPN_OFFSETSTOP = $FFFFFFFF;
DSCBCAPS_CTRLFX = $00000200;
DSCBCAPS_WAVEMAPPED = $80000000;
DSCBLOCK_ENTIREBUFFER = $00000001;
DSCBSTART_LOOPING = $00000001;
DSCBSTATUS_CAPTURING = $00000001;
DSCBSTATUS_LOOPING = $00000002;
DSCFXR_LOCHARDWARE = $00000010;
DSCFXR_LOCSOFTWARE = $00000020;
DSCFX_AEC_MODE_FULL_DUPLEX = $2;
DSCFX_AEC_MODE_HALF_DUPLEX = $1;
DSCFX_AEC_MODE_PASS_THROUGH = $0;
DSCFX_AEC_STATUS_CURRENTLY_CONVERGED = $8;
DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED = $1;
DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED = $2;
DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED = $0;
DSCFX_LOCHARDWARE = $00000001;
DSCFX_LOCSOFTWARE = $00000002;
DSDEVID_DefaultVoiceCapture: TGUID = '{def00003-9c6d-47ed-aaf1-4dda8f2b5c03}';
DSDEVID_DefaultVoicePlayback: TGUID = '{def00002-9c6d-47ed-aaf1-4dda8f2b5c03}';
DSERR_BUFFERLOST = integer($88780096);
DSSCL_EXCLUSIVE = $00000003;
DSSCL_NORMAL = $00000001;
DSSCL_PRIORITY = $00000002;
DSSCL_WRITEPRIMARY = $00000004;
DS_CERTIFIED = $00000000;
DS_UNCERTIFIED = $00000001;
FORMAT_WaveFormatEx : TGUID = (D1:$05589F81;D2:$C356;D3:$11CE;D4:($BF,$01,$00,$AA,$00,$55,$59,$5A));
GUID_DSCFX_CLASS_AEC: TGUID = '{BF963D80-C559-11D0-8A2B-00A0C9255AC1}';
GUID_DSCFX_CLASS_NS: TGUID = '{e07f903f-62fd-4e60-8cdd-dea7236665b5}';
GUID_DSCFX_MS_AEC: TGUID = '{cdebb919-379a-488a-8765-f53cfd36de40}';
GUID_DSCFX_MS_NS: TGUID = '{11c5c73b-66e9-4ba1-a0ba-e814c6eed92d}';
GUID_DSCFX_SYSTEM_AEC: TGUID = '{1c22c56d-9879-4f5b-a389-27996ddc2810}';
GUID_DSCFX_SYSTEM_NS: TGUID = '{5ab0882e-7274-4516-877d-4eee99ba4fd0}';
MEDIATYPE_Audio : TGUID = (D1:$73647561;D2:$0000;D3:$0010;D4:($80,$00,$00,$AA,$00,$38,$9B,$71));
MFPKEY_WMAAECMA_DEVICEPAIR_GUID : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 15);
MFPKEY_WMAAECMA_DEVICE_INDEXES : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 02);
MFPKEY_WMAAECMA_DMO_SOURCE_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 01);
MFPKEY_WMAAECMA_FEATR_AES : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 08);
MFPKEY_WMAAECMA_FEATR_AGC : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 07);
MFPKEY_WMAAECMA_FEATR_CENTER_CLIP : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 10);
MFPKEY_WMAAECMA_FEATR_ECHO_LENGTH : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 05);
MFPKEY_WMAAECMA_FEATR_FRAME_SIZE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 04);
MFPKEY_WMAAECMA_FEATR_MICARR_BEAM : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 17);
MFPKEY_WMAAECMA_FEATR_MICARR_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 16);
MFPKEY_WMAAECMA_FEATR_MICARR_PREPROC : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 18);
MFPKEY_WMAAECMA_FEATR_NOISE_FILL : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 11);
MFPKEY_WMAAECMA_FEATR_NS : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 06);
MFPKEY_WMAAECMA_FEATR_VAD : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 09);
MFPKEY_WMAAECMA_FEATURE_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 03);
MFPKEY_WMAAECMA_MICARRAY_DESCPTR : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 14);
MFPKEY_WMAAECMA_MIC_GAIN_BOUNDER : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 19);
MFPKEY_WMAAECMA_QUALITY_METRICS : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 13);
MFPKEY_WMAAECMA_RETRIEVE_TS_STATS : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 12);
MFPKEY_WMAAECMA_SYSTEM_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 00);
MODE_NOT_SET = 6;
OPTIBEAM_ARRAY_AND_AEC = 4;
OPTIBEAM_ARRAY_ONLY = 2;
PKEY_AudioEndpoint_GUID : PROPERTYKEY = ( fmtid: '{1da5d803-d492-4edd-8c23-e0c0ffee7f0e}'; pid: 04);
PKEY_Device_FriendlyName : PROPERTYKEY = ( fmtid: '{a45c254e-df1c-4efd-8020-67d146a850e0}'; pid: 14);
SINGLE_CHANNEL_AEC = 0;
SINGLE_CHANNEL_NSAGC = 5;

Description

Functions and Procedures

function DirectSoundCreate8(pcGuidDevice: PGUID; out ppDS8: IDirectSound8; pUnkOuter: IUnknown): HRESULT; stdcall;
 
function DirectSoundFullDuplexCreate8(pcGuidCaptureDevice, pcGuidRenderDevice: PGUID; const pcDSCBufferDesc: TDSCBufferDesc; const pcDSBufferDesc: TDSBufferDesc; hWnd: hWnd; dwLevel: DWORD; out ppDSFD: IDirectSoundFullDuplex8; out ppDSCBuffer8: IDirectSoundCaptureBuffer8; out ppDSBuffer8: IDirectSoundBuffer8; pUnkOuter: IUnknown): HRESULT; stdcall;
 
function unadsFullDuplexCreate(pcGuidCaptureDevice, pcGuidRenderDevice: PGUID; const pcDSCBufferDesc: TDSCBufferDesc; const pcDSBufferDesc: TDSBufferDesc; hWnd: hWnd; dwLevel: DWORD; out ppDSFD: IDirectSoundFullDuplex8; out ppDSCBuffer8: IDirectSoundCaptureBuffer8; out ppDSBuffer8: IDirectSoundBuffer8): HRESULT;

– –

function unaDirectSoundCreate(pcGuidDevice: PGUID; out ppDS8: IDirectSound8): HRESULT;

– –

function DirectSoundEnumerate(cap: bool; cb: LPDSENUMCALLBACKW; context: pointer): HRESULT;

– –

procedure propVariantInit(v: PROPVARIANT);

– –

function MoInitMediaType(var pmt: DMO_MEDIA_TYPE; cbFormat: DWORD): HRESULT;

– –

function MoFreeMediaType(var pmt: DMO_MEDIA_TYPE): HRESULT;
 

Types

INT_PTR = integer;
 
UINT_PTR = cardinal;
 
LONG_PTR = Longint;
 
ULONG_PTR = Longword;
 
DWORD_PTR = ULONG_PTR;
 
TDSCaps = DSCAPS;
 
PDSCaps = ˆTDSCaps;
 
TDSBufferDesc = DSBUFFERDESC;
 
PDSBufferDesc = ˆTDSBufferDesc;
 
TDSCEffectDesc = DSCEFFECTDESC;
 
PDSCEffectDesc = ˆTDSCEffectDesc;
 
TDSCBufferDesc = DSCBUFFERDESC;
 
PDSCBufferDesc = ˆTDSCBufferDesc;
 
TDSBcaps = DSBCAPS;
 
PDSBcaps = ˆTDSBcaps;
 
TDSCcaps = DSCCAPS;
 
PDSCcaps = ˆTDSCcaps;
 
TDSCBCaps = DSCBCAPS;
 
PDSCBCaps = ˆTDSCBCaps;
 
TDSEffectDesc = DSEFFECTDESC;
 
PDSEffectDesc = ˆTDSEffectDesc;
 
TDSBPositionNotify = DSBPOSITIONNOTIFY;
 
PDSBPositionNotify = ˆTDSBPositionNotify;
 
TDSCFXAec = DSCFXAec;
 
PDSCFXAec = ˆTDSCFXAec;
 
pAecQualityMetrics_Struct = ˆAecQualityMetrics_Struct;
 
IID_IDirectSound = IDirectSound;
 
IID_IDirectSound8 = IDirectSound8;
 
IID_IDirectSoundCapture = IDirectSoundCapture;
 
IID_IDirectSoundBuffer = IDirectSoundBuffer;
 
IID_IDirectSoundCaptureBuffer = IDirectSoundCaptureBuffer;
 
IID_IDirectSoundCaptureBuffer8 = IDirectSoundCaptureBuffer8;
 
IID_IDirectSoundBuffer8 = IDirectSoundBuffer8;
 
IID_IDirectSoundFullDuplex = IDirectSoundFullDuplex;
 
IDirectSoundFullDuplex8 = IDirectSoundFullDuplex;
 
IID_IDirectSoundNotify = IDirectSoundNotify;
 
IID_IDirectSoundNotify8 = IID_IDirectSoundNotify;
 
IDirectSoundNotify8 = IDirectSoundNotify;
 
IID_IDirectSoundCaptureFXAec = IDirectSoundCaptureFXAec;
 
IID_IDirectSoundCaptureFXAec8 = IID_IDirectSoundCaptureFXAec;
 
IDirectSoundCaptureFXAec8 = IDirectSoundCaptureFXAec;
 
REFERENCE_TIME = LONGLONG;

DMOs

pAM_MEDIA_TYPE = ˆAM_MEDIA_TYPE;
 
pDMO_MEDIA_TYPE = ˆDMO_MEDIA_TYPE;
 
DMO_MEDIA_TYPE = AM_MEDIA_TYPE;
 
IID_IMediaBuffer = IMediaBuffer;
 
pDMO_OUTPUT_DATA_BUFFER = ˆDMO_OUTPUT_DATA_BUFFER;
 
IID_IMediaObject = IMediaObject;
 
IID_IMediaObjectInPlace = IMediaObjectInPlace;
 
REFPROPERTYKEY = ˆPROPERTYKEY;
 
REFPROPVARIANT = ˆPROPVARIANT;
 
IID_IPropertyStore = IPropertyStore;
 
REFIID = PGUID;
 
IID_IMMDevice = IMMDevice;
 
IID_IMMDeviceCollection = IMMDeviceCollection;
 
EDataFlow = (...);
 
Values
  • eRender:  
  • eCapture:  
  • eAll:  
ERole = (...);
 
Values
  • eConsole:  
  • eMultimedia:  
  • eCommunications:  
IID_IMMNotificationClient = IMMNotificationClient;
 
IID_IMMDeviceEnumerator = IMMDeviceEnumerator;
 
LPDSENUMCALLBACKW = function(p1: PGUID; p2: LPCWSTR; p3: LPCWSTR; p4: pointer): bool; stdcall;

– DS routines –

proc_DirectSoundCreate8 = function(pcGuidDevice: PGUID; out ppDS8: IDirectSound8; pUnkOuter: IUnknown): HResult; stdcall;

– –

proc_DirectSoundFullDuplexCreate8 = function(pcGuidCaptureDevice, pcGuidRenderDevice: PGUID; const pcDSCBufferDesc: TDSCBufferDesc; const pcDSBufferDesc: TDSBufferDesc; hWnd: hWnd; dwLevel: DWORD; out ppDSFD: IDirectSoundFullDuplex8; out ppDSCBuffer8: IDirectSoundCaptureBuffer8; out ppDSBuffer8: IDirectSoundBuffer8; pUnkOuter: IUnknown): HRESULT; stdcall;

– –

proc_DirectSoundEnumerateW = function (pDSEnumCallback: LPDSENUMCALLBACKW; pContext: pointer): HRESULT; stdcall;
 
proc_DirectSoundCaptureEnumerateW = function(pDSEnumCallback: LPDSENUMCALLBACKW; pContext: pointer): HRESULT; stdcall;
 
proc_MoInitMediaType = function(var pmt: DMO_MEDIA_TYPE; cbFormat: DWORD): HRESULT; stdcall;
 
proc_MoFreeMediaType = function(var pmt: DMO_MEDIA_TYPE): HRESULT; stdcall;
 

Constants

ADAPTIVE_ARRAY_AND_AEC = 3;
 
ADAPTIVE_ARRAY_ONLY = 1;
 
AEC_VAD_DISABLED = 0;

AEC_VAD_MODE

AEC_VAD_FOR_AGC = 2;
 
AEC_VAD_FOR_SILENCE_SUPPRESSION = 3;
 
AEC_VAD_NORMAL = 1;
 
CLSID_CWMAudioAEC: TGUID = '{745057c7-f353-4f2d-a7ee-58434477730e}';

Vista/Win7 specific

CLSID_MMDeviceEnumerator: TGUID = '{BCDE0395-E52F-467C-8E3D-C4579291692E}';
 
c_directSoundDll = 'DSOUND.DLL';
 
c_dmoDll = 'MSDMO.DLL';
 
DEVICE_STATEMASK_ALL = $0000000f;
 
DEVICE_STATE_ACTIVE = $00000001;
 
DEVICE_STATE_DISABLED = $00000002;
 
DEVICE_STATE_NOTPRESENT = $00000004;
 
DEVICE_STATE_UNPLUGGED = $00000008;
 
DMO_INPUT_DATA_BUFFERF_SYNCPOINT = $1;

enum _DMO_INPUT_DATA_BUFFER_FLAGS

DMO_INPUT_DATA_BUFFERF_TIME = $2;
 
DMO_INPUT_DATA_BUFFERF_TIMELENGTH = $4;
 
DMO_INPUT_STATUSF_ACCEPT_DATA = $1;

enum _DMO_INPUT_STATUS_FLAGS

DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = $4;
 
DMO_INPUT_STREAMF_HOLDS_BUFFERS = $8;
 
DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = $2;
 
DMO_INPUT_STREAMF_WHOLE_SAMPLES = $1;

enum _DMO_INPUT_STREAM_INFO_FLAGS

DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = $1000000;
 
DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = $1;

enum _DMO_OUTPUT_DATA_BUFFER_FLAGS

DMO_OUTPUT_DATA_BUFFERF_TIME = $2;
 
DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = $4;
 
DMO_OUTPUT_STREAMF_DISCARDABLE = $8;
 
DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = $4;
 
DMO_OUTPUT_STREAMF_OPTIONAL = $10;
 
DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = $2;
 
DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = $1;

enum _DMO_OUTPUT_STREAM_INFO_FLAGS

DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = $1;

enum _DMO_PROCESS_OUTPUT_FLAGS

DMO_SET_TYPEF_CLEAR = $2;
 
DMO_SET_TYPEF_TEST_ONLY = $1;

enum _DMO_SET_TYPE_FLAGS

DS3DALG_DEFAULT: TGUID = '{00000000-0000-0000-0000-000000000000}';

DirectSound3D Algorithms

Default DirectSound3D algorithm

DS3DALG_HRTF_FULL: TGUID = '{c2413340-1c1b-11d2-94f5-00c04fc28aca}';

High-quality HRTF algorithm

DS3DALG_HRTF_LIGHT: TGUID = '{c2413342-1c1b-11d2-94f5-00c04fc28aca}';

Lower-quality HRTF algorithm

DS3DALG_NO_VIRTUALIZATION: TGUID = '{c241333f-1c1b-11d2-94f5-00c04fc28aca}';

No virtualization (Pan3D)

DSBCAPS_CTRL3D = $00000010;
 
DSBCAPS_CTRLFREQUENCY = $00000020;
 
DSBCAPS_CTRLFX = $00000200;
 
DSBCAPS_CTRLPAN = $00000040;
 
DSBCAPS_CTRLPOSITIONNOTIFY = $00000100;
 
DSBCAPS_CTRLVOLUME = $00000080;
 
DSBCAPS_GETCURRENTPOSITION2 = $00010000;
 
DSBCAPS_GLOBALFOCUS = $00008000;
 
DSBCAPS_LOCDEFER = $00040000;
 
DSBCAPS_LOCHARDWARE = $00000004;
 
DSBCAPS_LOCSOFTWARE = $00000008;
 
DSBCAPS_MUTE3DATMAXDISTANCE = $00020000;
 
DSBCAPS_PRIMARYBUFFER = $00000001;
 
DSBCAPS_STATIC = $00000002;
 
DSBCAPS_STICKYFOCUS = $00004000;
 
DSBLOCK_ENTIREBUFFER = $00000002;
 
DSBLOCK_FROMWRITECURSOR = $00000001;
 
DSBPLAY_LOCHARDWARE = $00000002;
 
DSBPLAY_LOCSOFTWARE = $00000004;
 
DSBPLAY_LOOPING = $00000001;
 
DSBPLAY_TERMINATEBY_DISTANCE = $000000010;
 
DSBPLAY_TERMINATEBY_PRIORITY = $000000020;
 
DSBPLAY_TERMINATEBY_TIME = $00000008;
 
DSBPN_OFFSETSTOP = $FFFFFFFF;

BPN

DSCBCAPS_CTRLFX = $00000200;
 
DSCBCAPS_WAVEMAPPED = $80000000;
 
DSCBLOCK_ENTIREBUFFER = $00000001;

lock

DSCBSTART_LOOPING = $00000001;

capture

DSCBSTATUS_CAPTURING = $00000001;

status

DSCBSTATUS_LOOPING = $00000002;
 
DSCFXR_LOCHARDWARE = $00000010;
 
DSCFXR_LOCSOFTWARE = $00000020;
 
DSCFX_AEC_MODE_FULL_DUPLEX = $2;
 
DSCFX_AEC_MODE_HALF_DUPLEX = $1;
 
DSCFX_AEC_MODE_PASS_THROUGH = $0;

These match the AEC_MODE_* constants in the DDK's ksmedia.h file

DSCFX_AEC_STATUS_CURRENTLY_CONVERGED = $8;
 
DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED = $1;
 
DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED = $2;
 
DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED = $0;

These match the AEC_STATUS_* constants in ksmedia.h

DSCFX_LOCHARDWARE = $00000001;
 
DSCFX_LOCSOFTWARE = $00000002;
 
DSDEVID_DefaultVoiceCapture: TGUID = '{def00003-9c6d-47ed-aaf1-4dda8f2b5c03}';

DirectSound default device for voice capture

DSDEVID_DefaultVoicePlayback: TGUID = '{def00002-9c6d-47ed-aaf1-4dda8f2b5c03}';

DirectSound default device for voice playback

DSERR_BUFFERLOST = integer($88780096);
 
DSSCL_EXCLUSIVE = $00000003;
 
DSSCL_NORMAL = $00000001;
 
DSSCL_PRIORITY = $00000002;
 
DSSCL_WRITEPRIMARY = $00000004;
 
DS_CERTIFIED = $00000000;

cert

DS_UNCERTIFIED = $00000001;
 
FORMAT_WaveFormatEx : TGUID = (D1:$05589F81;D2:$C356;D3:$11CE;D4:($BF,$01,$00,$AA,$00,$55,$59,$5A));
 
GUID_DSCFX_CLASS_AEC: TGUID = '{BF963D80-C559-11D0-8A2B-00A0C9255AC1}';

Acoustic Echo Canceller Matches KSNODETYPE_ACOUSTIC_ECHO_CANCEL in ksmedia.h

GUID_DSCFX_CLASS_NS: TGUID = '{e07f903f-62fd-4e60-8cdd-dea7236665b5}';

Noise Supression Matches KSNODETYPE_NOISE_SUPPRESS in post Windows ME DDK's ksmedia.h

GUID_DSCFX_MS_AEC: TGUID = '{cdebb919-379a-488a-8765-f53cfd36de40}';

Microsoft AEC

GUID_DSCFX_MS_NS: TGUID = '{11c5c73b-66e9-4ba1-a0ba-e814c6eed92d}';

Microsoft Noise Suppresion

GUID_DSCFX_SYSTEM_AEC: TGUID = '{1c22c56d-9879-4f5b-a389-27996ddc2810}';

System AEC

GUID_DSCFX_SYSTEM_NS: TGUID = '{5ab0882e-7274-4516-877d-4eee99ba4fd0}';

System Noise Suppresion

MEDIATYPE_Audio : TGUID = (D1:$73647561;D2:$0000;D3:$0010;D4:($80,$00,$00,$AA,$00,$38,$9B,$71));
 
MFPKEY_WMAAECMA_DEVICEPAIR_GUID : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 15);
 
MFPKEY_WMAAECMA_DEVICE_INDEXES : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 02);
 
MFPKEY_WMAAECMA_DMO_SOURCE_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 01);
 
MFPKEY_WMAAECMA_FEATR_AES : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 08);
 
MFPKEY_WMAAECMA_FEATR_AGC : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 07);
 
MFPKEY_WMAAECMA_FEATR_CENTER_CLIP : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 10);
 
MFPKEY_WMAAECMA_FEATR_ECHO_LENGTH : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 05);
 
MFPKEY_WMAAECMA_FEATR_FRAME_SIZE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 04);
 
MFPKEY_WMAAECMA_FEATR_MICARR_BEAM : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 17);
 
MFPKEY_WMAAECMA_FEATR_MICARR_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 16);
 
MFPKEY_WMAAECMA_FEATR_MICARR_PREPROC : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 18);
 
MFPKEY_WMAAECMA_FEATR_NOISE_FILL : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 11);
 
MFPKEY_WMAAECMA_FEATR_NS : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 06);
 
MFPKEY_WMAAECMA_FEATR_VAD : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 09);
 
MFPKEY_WMAAECMA_FEATURE_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 03);
 
MFPKEY_WMAAECMA_MICARRAY_DESCPTR : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 14);
 
MFPKEY_WMAAECMA_MIC_GAIN_BOUNDER : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 19);
 
MFPKEY_WMAAECMA_QUALITY_METRICS : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 13);
 
MFPKEY_WMAAECMA_RETRIEVE_TS_STATS : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 12);
 
MFPKEY_WMAAECMA_SYSTEM_MODE : PROPERTYKEY = ( fmtid: '{6f52c567-0360-4bd2-9617-ccbf1421c939}'; pid: PID_FIRST_USABLE + 00);
 
MODE_NOT_SET = 6;
 
OPTIBEAM_ARRAY_AND_AEC = 4;
 
OPTIBEAM_ARRAY_ONLY = 2;
 
PKEY_AudioEndpoint_GUID : PROPERTYKEY = ( fmtid: '{1da5d803-d492-4edd-8c23-e0c0ffee7f0e}'; pid: 04);

DEVPROP_TYPE_STRING

PKEY_Device_FriendlyName : PROPERTYKEY = ( fmtid: '{a45c254e-df1c-4efd-8020-67d146a850e0}'; pid: 14);
 
SINGLE_CHANNEL_AEC = 0;

AEC_SYSTEM_MODE enum:

SINGLE_CHANNEL_NSAGC = 5;
 

(c) 2012 Lake of Soft


Generated by PasDoc 0.12.1 on 2012-10-09