69 lines
2.9 KiB
Factor
69 lines
2.9 KiB
Factor
USING: alien.c-types alien.syntax classes.struct windows.com
|
|
windows.com.syntax windows.directx.audiodefs windows.kernel32
|
|
windows.types ;
|
|
IN: windows.directx.xapo
|
|
|
|
CONSTANT: XAPO_MIN_CHANNELS 1
|
|
CONSTANT: XAPO_MAX_CHANNELS 64
|
|
|
|
CONSTANT: XAPO_MIN_FRAMERATE 1000
|
|
CONSTANT: XAPO_MAX_FRAMERATE 200000
|
|
|
|
CONSTANT: XAPO_REGISTRATION_STRING_LENGTH 256
|
|
|
|
CONSTANT: XAPO_FLAG_CHANNELS_MUST_MATCH HEX: 00000001
|
|
|
|
CONSTANT: XAPO_FLAG_FRAMERATE_MUST_MATCH HEX: 00000002
|
|
|
|
CONSTANT: XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH HEX: 00000004
|
|
|
|
CONSTANT: XAPO_FLAG_BUFFERCOUNT_MUST_MATCH HEX: 00000008
|
|
|
|
CONSTANT: XAPO_FLAG_INPLACE_REQUIRED HEX: 00000020
|
|
|
|
CONSTANT: XAPO_FLAG_INPLACE_SUPPORTED HEX: 00000010
|
|
|
|
STRUCT: XAPO_REGISTRATION_PROPERTIES
|
|
{ clsid GUID }
|
|
{ FriendlyName WCHAR[256] }
|
|
{ CopyrightInfo WCHAR[256] }
|
|
{ MajorVersion UINT32 }
|
|
{ MinorVersion UINT32 }
|
|
{ Flags UINT32 }
|
|
{ MinInputBufferCount UINT32 }
|
|
{ MaxInputBufferCount UINT32 }
|
|
{ MinOutputBufferCount UINT32 }
|
|
{ MaxOutputBufferCount UINT32 } ;
|
|
|
|
STRUCT: XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS
|
|
{ pFormat WAVEFORMATEX* }
|
|
{ MaxFrameCount UINT32 } ;
|
|
|
|
C-ENUM:
|
|
XAPO_BUFFER_SILENT
|
|
XAPO_BUFFER_VALID ;
|
|
TYPEDEF: int XAPO_BUFFER_FLAGS
|
|
|
|
STRUCT: XAPO_PROCESS_BUFFER_PARAMETERS
|
|
{ pBuffer void* }
|
|
{ BufferFlags XAPO_BUFFER_FLAGS }
|
|
{ ValidFrameCount UINT32 } ;
|
|
|
|
COM-INTERFACE: IXAPO IUnknown {A90BC001-E897-E897-55E4-9E4700000000}
|
|
HRESULT GetRegistrationProperties ( XAPO_REGISTRATION_PROPERTIES** ppRegistrationProperties )
|
|
HRESULT IsInputFormatSupported ( WAVEFORMATEX* pOutputFormat, WAVEFORMATEX* pRequestedInputFormat, WAVEFORMATEX** ppSupportedInputFormat )
|
|
HRESULT IsOutputFormatSupported ( WAVEFORMATEX* pInputFormat, WAVEFORMATEX* pRequestedOutputFormat, WAVEFORMATEX** ppSupportedOutputFormat )
|
|
HRESULT Initialize ( void* pData, UINT32 DataByteSize )
|
|
void Reset ( )
|
|
HRESULT LockForProcess ( UINT32 InputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pInputLockedParameters, UINT32 OutputLockedParameterCount, XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS* pOutputLockedParameters )
|
|
void UnlockForProcess ( )
|
|
void Process ( UINT32 InputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pInputProcessParameters, UINT32 OutputProcessParameterCount, XAPO_PROCESS_BUFFER_PARAMETERS* pOutputProcessParameters, BOOL IsEnabled )
|
|
UINT32 CalcInputFrames ( UINT32 OutputFrameCount )
|
|
UINT32 CalcOutputFrames ( UINT32 InputFrameCount ) ;
|
|
|
|
COM-INTERFACE: IXAPOParameters IUnknown {A90BC001-E897-E897-55E4-9E4700000001}
|
|
void SetParameters ( void* pParameters, UINT32 ParameterByteSize )
|
|
void GetParameters ( void* pParameters, UINT32 ParameterByteSize ) ;
|
|
|
|
|