This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/amaudio.h

76 lines
2.2 KiB
C

/*
* amaudio.h ActiveMovie audio interfaces
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef __AMAUDIO__
#define __AMAUDIO__
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#include <mmsystem.h>
#include <dsound.h>
#ifdef __cplusplus
extern "C" {
#endif
/* IAMDirectSound interface */
#undef INTERFACE
#define INTERFACE IAMDirectSound
DECLARE_INTERFACE_( IAMDirectSound, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IAMDirectSound methods */
STDMETHOD( GetDirectSoundInterface )( THIS_ LPDIRECTSOUND * ) PURE;
STDMETHOD( GetPrimaryBufferInterface )( THIS_ LPDIRECTSOUNDBUFFER * ) PURE;
STDMETHOD( GetSecondaryBufferInterface )( THIS_ LPDIRECTSOUNDBUFFER * ) PURE;
STDMETHOD( ReleaseDirectSoundInterface )( THIS_ LPDIRECTSOUND ) PURE;
STDMETHOD( ReleasePrimaryBufferInterface )( THIS_ LPDIRECTSOUNDBUFFER ) PURE;
STDMETHOD( ReleaseSecondaryBufferInterface )( THIS_ LPDIRECTSOUNDBUFFER ) PURE;
STDMETHOD( SetFocusWindow )( THIS_ HWND, BOOL ) PURE;
STDMETHOD( GetFocusWindow )( THIS_ HWND *, BOOL * ) PURE;
};
__inline HRESULT AMValidateAndFixWaveFormatEx( WAVEFORMATEX *p1, DWORD p2 )
{
if( p2 < sizeof( PCMWAVEFORMAT ) ) {
return( E_INVALIDARG );
}
if( p1->wFormatTag != WAVE_FORMAT_PCM ) {
if( p2 < sizeof( WAVEFORMATEX ) ) {
return( E_INVALIDARG );
}
if( p2 < sizeof( WAVEFORMATEX ) + p1->cbSize ) {
p1->cbSize = 0;
}
}
if( p1->nAvgBytesPerSec > 10000000 || p1->nAvgBytesPerSec == 0 ) {
p1->nAvgBytesPerSec = 176400;
}
if( p1->nChannels > 32 ) {
p1->nChannels = 1;
}
return( S_OK );
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __AMAUDIO__ */