Import austream.idl and mmstream.idl. git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@3623 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/direct-x/include/amstream.h b/mingw-w64-headers/direct-x/include/amstream.h index 3ca1898..07c4907 100644 --- a/mingw-w64-headers/direct-x/include/amstream.h +++ b/mingw-w64-headers/direct-x/include/amstream.h
@@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 1.1.44 from amstream.idl - Do not edit ***/ +/*** Autogenerated by WIDL 1.3.2 from amstream.idl - Do not edit ***/ #include <rpc.h> #include <rpcndr.h> @@ -6,16 +6,6 @@ #ifndef __WIDL_AMSTREAM_H #define __WIDL_AMSTREAM_H -#ifdef __cplusplus -extern "C" { -#endif - -/* Headers for imported files */ - -#include <unknwn.h> -#include <mmstream.h> -#include <strmif.h> - /* Forward declarations */ #ifndef __IDirectShowStream_FWD_DEFINED__ @@ -63,6 +53,15 @@ typedef struct AMMultiMediaStream AMMultiMediaStream; #endif /* defined __AMMultiMediaStream_FWD_DEFINED__ */ +/* Headers for imported files */ + +#include <unknwn.h> +#include <mmstream.h> +#include <strmif.h> + +#ifdef __cplusplus +extern "C" { +#endif #include <ddraw.h> #include <mmsystem.h> @@ -737,7 +736,7 @@ IMediaStream **ppMediaStream) = 0; virtual HRESULT STDMETHODCALLTYPE SupportSeeking( - BOOL bRenderer) = 0; + WINBOOL bRenderer) = 0; virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime( REFERENCE_TIME *pTime) = 0; @@ -749,7 +748,7 @@ REFERENCE_TIME WaitStreamTime) = 0; virtual HRESULT STDMETHODCALLTYPE Flush( - BOOL bCancelEOS) = 0; + WINBOOL bCancelEOS) = 0; virtual HRESULT STDMETHODCALLTYPE EndOfStream( ) = 0; @@ -840,7 +839,7 @@ HRESULT (STDMETHODCALLTYPE *SupportSeeking)( IMediaStreamFilter* This, - BOOL bRenderer); + WINBOOL bRenderer); HRESULT (STDMETHODCALLTYPE *ReferenceTimeToStreamTime)( IMediaStreamFilter* This, @@ -856,7 +855,7 @@ HRESULT (STDMETHODCALLTYPE *Flush)( IMediaStreamFilter* This, - BOOL bCancelEOS); + WINBOOL bCancelEOS); HRESULT (STDMETHODCALLTYPE *EndOfStream)( IMediaStreamFilter* This); @@ -929,7 +928,7 @@ DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMediaStreamFilter_SupportSeeking_Proxy( IMediaStreamFilter* This, - BOOL bRenderer); + WINBOOL bRenderer); void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, @@ -961,7 +960,7 @@ DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IMediaStreamFilter_Flush_Proxy( IMediaStreamFilter* This, - BOOL bCancelEOS); + WINBOOL bCancelEOS); void __RPC_STUB IMediaStreamFilter_Flush_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, @@ -1334,13 +1333,13 @@ ) = 0; virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( - BOOL bIsSyncPoint) = 0; + WINBOOL bIsSyncPoint) = 0; virtual HRESULT STDMETHODCALLTYPE IsPreroll( ) = 0; virtual HRESULT STDMETHODCALLTYPE SetPreroll( - BOOL bIsPreroll) = 0; + WINBOOL bIsPreroll) = 0; virtual LONG STDMETHODCALLTYPE GetActualDataLength( ) = 0; @@ -1358,7 +1357,7 @@ ) = 0; virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( - BOOL bDiscontinuity) = 0; + WINBOOL bDiscontinuity) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaTime( LONGLONG *pTimeStart, @@ -1441,14 +1440,14 @@ HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( IAMMediaTypeSample* This, - BOOL bIsSyncPoint); + WINBOOL bIsSyncPoint); HRESULT (STDMETHODCALLTYPE *IsPreroll)( IAMMediaTypeSample* This); HRESULT (STDMETHODCALLTYPE *SetPreroll)( IAMMediaTypeSample* This, - BOOL bIsPreroll); + WINBOOL bIsPreroll); LONG (STDMETHODCALLTYPE *GetActualDataLength)( IAMMediaTypeSample* This); @@ -1470,7 +1469,7 @@ HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( IAMMediaTypeSample* This, - BOOL bDiscontinuity); + WINBOOL bDiscontinuity); HRESULT (STDMETHODCALLTYPE *GetMediaTime)( IAMMediaTypeSample* This, @@ -1572,7 +1571,7 @@ DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetSyncPoint_Proxy( IAMMediaTypeSample* This, - BOOL bIsSyncPoint); + WINBOOL bIsSyncPoint); void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, @@ -1587,7 +1586,7 @@ DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPreroll_Proxy( IAMMediaTypeSample* This, - BOOL bIsPreroll); + WINBOOL bIsPreroll); void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer, @@ -1633,7 +1632,7 @@ DWORD* pdwStubPhase); HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetDiscontinuity_Proxy( IAMMediaTypeSample* This, - BOOL bDiscontinuity); + WINBOOL bDiscontinuity); void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub( IRpcStubBuffer* This, IRpcChannelBuffer* pRpcChannelBuffer,
diff --git a/mingw-w64-headers/direct-x/include/austream.h b/mingw-w64-headers/direct-x/include/austream.h new file mode 100644 index 0000000..bca47a9 --- /dev/null +++ b/mingw-w64-headers/direct-x/include/austream.h
@@ -0,0 +1,514 @@ +/*** Autogenerated by WIDL 1.3.2 from austream.idl - Do not edit ***/ + +#include <rpc.h> +#include <rpcndr.h> + +#ifndef __WIDL_AUSTREAM_H +#define __WIDL_AUSTREAM_H + +/* Forward declarations */ + +#ifndef __IAudioMediaStream_FWD_DEFINED__ +#define __IAudioMediaStream_FWD_DEFINED__ +typedef interface IAudioMediaStream IAudioMediaStream; +#endif + +#ifndef __IAudioStreamSample_FWD_DEFINED__ +#define __IAudioStreamSample_FWD_DEFINED__ +typedef interface IAudioStreamSample IAudioStreamSample; +#endif + +#ifndef __IMemoryData_FWD_DEFINED__ +#define __IMemoryData_FWD_DEFINED__ +typedef interface IMemoryData IMemoryData; +#endif + +#ifndef __IAudioData_FWD_DEFINED__ +#define __IAudioData_FWD_DEFINED__ +typedef interface IAudioData IAudioData; +#endif + +/* Headers for imported files */ + +#include <unknwn.h> +#include <mmstream.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#if 0 +typedef struct tWAVEFORMATEX WAVEFORMATEX; +#endif +#ifndef __IAudioMediaStream_FWD_DEFINED__ +#define __IAudioMediaStream_FWD_DEFINED__ +typedef interface IAudioMediaStream IAudioMediaStream; +#endif + +#ifndef __IAudioStreamSample_FWD_DEFINED__ +#define __IAudioStreamSample_FWD_DEFINED__ +typedef interface IAudioStreamSample IAudioStreamSample; +#endif + +#ifndef __IMemoryData_FWD_DEFINED__ +#define __IMemoryData_FWD_DEFINED__ +typedef interface IMemoryData IMemoryData; +#endif + +#ifndef __IAudioData_FWD_DEFINED__ +#define __IAudioData_FWD_DEFINED__ +typedef interface IAudioData IAudioData; +#endif + +/***************************************************************************** + * IAudioMediaStream interface + */ +#ifndef __IAudioMediaStream_INTERFACE_DEFINED__ +#define __IAudioMediaStream_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAudioMediaStream, 0xf7537560, 0xa3be, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IAudioMediaStream : public IMediaStream +{ + virtual HRESULT STDMETHODCALLTYPE GetFormat( + WAVEFORMATEX *pWaveFormatCurrent) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFormat( + const WAVEFORMATEX *lpWaveFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSample( + IAudioData *pAudioData, + DWORD dwFlags, + IAudioStreamSample **ppSample) = 0; + +}; +#else +typedef struct IAudioMediaStreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAudioMediaStream* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAudioMediaStream* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAudioMediaStream* This); + + /*** IMediaStream methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( + IAudioMediaStream* This, + IMultiMediaStream **ppMultiMediaStream); + + HRESULT (STDMETHODCALLTYPE *GetInformation)( + IAudioMediaStream* This, + MSPID *pPurposeId, + STREAM_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *SetSameFormat)( + IAudioMediaStream* This, + IMediaStream *pStreamThatHasDesiredFormat, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *AllocateSample)( + IAudioMediaStream* This, + DWORD dwFlags, + IStreamSample **ppSample); + + HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( + IAudioMediaStream* This, + IStreamSample *pExistingSample, + DWORD dwFlags, + IStreamSample **ppNewSample); + + HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( + IAudioMediaStream* This, + DWORD dwFlags); + + /*** IAudioMediaStream methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFormat)( + IAudioMediaStream* This, + WAVEFORMATEX *pWaveFormatCurrent); + + HRESULT (STDMETHODCALLTYPE *SetFormat)( + IAudioMediaStream* This, + const WAVEFORMATEX *lpWaveFormat); + + HRESULT (STDMETHODCALLTYPE *CreateSample)( + IAudioMediaStream* This, + IAudioData *pAudioData, + DWORD dwFlags, + IAudioStreamSample **ppSample); + + END_INTERFACE +} IAudioMediaStreamVtbl; +interface IAudioMediaStream { + CONST_VTBL IAudioMediaStreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IAudioMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAudioMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAudioMediaStream_Release(This) (This)->lpVtbl->Release(This) +/*** IMediaStream methods ***/ +#define IAudioMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) +#define IAudioMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) +#define IAudioMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) +#define IAudioMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) +#define IAudioMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) +#define IAudioMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) +/*** IAudioMediaStream methods ***/ +#define IAudioMediaStream_GetFormat(This,pWaveFormatCurrent) (This)->lpVtbl->GetFormat(This,pWaveFormatCurrent) +#define IAudioMediaStream_SetFormat(This,lpWaveFormat) (This)->lpVtbl->SetFormat(This,lpWaveFormat) +#define IAudioMediaStream_CreateSample(This,pAudioData,dwFlags,ppSample) (This)->lpVtbl->CreateSample(This,pAudioData,dwFlags,ppSample) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IAudioMediaStream_GetFormat_Proxy( + IAudioMediaStream* This, + WAVEFORMATEX *pWaveFormatCurrent); +void __RPC_STUB IAudioMediaStream_GetFormat_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IAudioMediaStream_SetFormat_Proxy( + IAudioMediaStream* This, + const WAVEFORMATEX *lpWaveFormat); +void __RPC_STUB IAudioMediaStream_SetFormat_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IAudioMediaStream_CreateSample_Proxy( + IAudioMediaStream* This, + IAudioData *pAudioData, + DWORD dwFlags, + IAudioStreamSample **ppSample); +void __RPC_STUB IAudioMediaStream_CreateSample_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IAudioMediaStream_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAudioStreamSample interface + */ +#ifndef __IAudioStreamSample_INTERFACE_DEFINED__ +#define __IAudioStreamSample_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAudioStreamSample, 0x345fee00, 0xaba5, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IAudioStreamSample : public IStreamSample +{ + virtual HRESULT STDMETHODCALLTYPE GetAudioData( + IAudioData **ppAudio) = 0; + +}; +#else +typedef struct IAudioStreamSampleVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAudioStreamSample* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAudioStreamSample* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAudioStreamSample* This); + + /*** IStreamSample methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMediaStream)( + IAudioStreamSample* This, + IMediaStream **ppMediaStream); + + HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( + IAudioStreamSample* This, + STREAM_TIME *pStartTime, + STREAM_TIME *pEndTime, + STREAM_TIME *pCurrentTime); + + HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( + IAudioStreamSample* This, + const STREAM_TIME *pStartTime, + const STREAM_TIME *pEndTime); + + HRESULT (STDMETHODCALLTYPE *Update)( + IAudioStreamSample* This, + DWORD dwFlags, + HANDLE hEvent, + PAPCFUNC pfnAPC, + DWORD dwAPCData); + + HRESULT (STDMETHODCALLTYPE *CompletionStatus)( + IAudioStreamSample* This, + DWORD dwFlags, + DWORD dwMilliseconds); + + /*** IAudioStreamSample methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAudioData)( + IAudioStreamSample* This, + IAudioData **ppAudio); + + END_INTERFACE +} IAudioStreamSampleVtbl; +interface IAudioStreamSample { + CONST_VTBL IAudioStreamSampleVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IAudioStreamSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAudioStreamSample_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAudioStreamSample_Release(This) (This)->lpVtbl->Release(This) +/*** IStreamSample methods ***/ +#define IAudioStreamSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream) +#define IAudioStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) +#define IAudioStreamSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime) +#define IAudioStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) +#define IAudioStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds) +/*** IAudioStreamSample methods ***/ +#define IAudioStreamSample_GetAudioData(This,ppAudio) (This)->lpVtbl->GetAudioData(This,ppAudio) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IAudioStreamSample_GetAudioData_Proxy( + IAudioStreamSample* This, + IAudioData **ppAudio); +void __RPC_STUB IAudioStreamSample_GetAudioData_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IAudioStreamSample_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMemoryData interface + */ +#ifndef __IMemoryData_INTERFACE_DEFINED__ +#define __IMemoryData_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMemoryData, 0x327fc560, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IMemoryData : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetBuffer( + DWORD cbSize, + BYTE *pbData, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInfo( + DWORD *pdwLength, + BYTE **ppbData, + DWORD *pcbActualData) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetActual( + DWORD cbDataValid) = 0; + +}; +#else +typedef struct IMemoryDataVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMemoryData* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMemoryData* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMemoryData* This); + + /*** IMemoryData methods ***/ + HRESULT (STDMETHODCALLTYPE *SetBuffer)( + IMemoryData* This, + DWORD cbSize, + BYTE *pbData, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetInfo)( + IMemoryData* This, + DWORD *pdwLength, + BYTE **ppbData, + DWORD *pcbActualData); + + HRESULT (STDMETHODCALLTYPE *SetActual)( + IMemoryData* This, + DWORD cbDataValid); + + END_INTERFACE +} IMemoryDataVtbl; +interface IMemoryData { + CONST_VTBL IMemoryDataVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IMemoryData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMemoryData_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMemoryData_Release(This) (This)->lpVtbl->Release(This) +/*** IMemoryData methods ***/ +#define IMemoryData_SetBuffer(This,cbSize,pbData,dwFlags) (This)->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags) +#define IMemoryData_GetInfo(This,pdwLength,ppbData,pcbActualData) (This)->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData) +#define IMemoryData_SetActual(This,cbDataValid) (This)->lpVtbl->SetActual(This,cbDataValid) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IMemoryData_SetBuffer_Proxy( + IMemoryData* This, + DWORD cbSize, + BYTE *pbData, + DWORD dwFlags); +void __RPC_STUB IMemoryData_SetBuffer_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMemoryData_GetInfo_Proxy( + IMemoryData* This, + DWORD *pdwLength, + BYTE **ppbData, + DWORD *pcbActualData); +void __RPC_STUB IMemoryData_GetInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMemoryData_SetActual_Proxy( + IMemoryData* This, + DWORD cbDataValid); +void __RPC_STUB IMemoryData_SetActual_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IMemoryData_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAudioData interface + */ +#ifndef __IAudioData_INTERFACE_DEFINED__ +#define __IAudioData_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAudioData, 0x54c719c0, 0xaf60, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IAudioData : public IMemoryData +{ + virtual HRESULT STDMETHODCALLTYPE GetFormat( + WAVEFORMATEX *pWaveFormatCurrent) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFormat( + const WAVEFORMATEX *lpWaveFormat) = 0; + +}; +#else +typedef struct IAudioDataVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAudioData* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAudioData* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAudioData* This); + + /*** IMemoryData methods ***/ + HRESULT (STDMETHODCALLTYPE *SetBuffer)( + IAudioData* This, + DWORD cbSize, + BYTE *pbData, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetInfo)( + IAudioData* This, + DWORD *pdwLength, + BYTE **ppbData, + DWORD *pcbActualData); + + HRESULT (STDMETHODCALLTYPE *SetActual)( + IAudioData* This, + DWORD cbDataValid); + + /*** IAudioData methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFormat)( + IAudioData* This, + WAVEFORMATEX *pWaveFormatCurrent); + + HRESULT (STDMETHODCALLTYPE *SetFormat)( + IAudioData* This, + const WAVEFORMATEX *lpWaveFormat); + + END_INTERFACE +} IAudioDataVtbl; +interface IAudioData { + CONST_VTBL IAudioDataVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IAudioData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAudioData_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAudioData_Release(This) (This)->lpVtbl->Release(This) +/*** IMemoryData methods ***/ +#define IAudioData_SetBuffer(This,cbSize,pbData,dwFlags) (This)->lpVtbl->SetBuffer(This,cbSize,pbData,dwFlags) +#define IAudioData_GetInfo(This,pdwLength,ppbData,pcbActualData) (This)->lpVtbl->GetInfo(This,pdwLength,ppbData,pcbActualData) +#define IAudioData_SetActual(This,cbDataValid) (This)->lpVtbl->SetActual(This,cbDataValid) +/*** IAudioData methods ***/ +#define IAudioData_GetFormat(This,pWaveFormatCurrent) (This)->lpVtbl->GetFormat(This,pWaveFormatCurrent) +#define IAudioData_SetFormat(This,lpWaveFormat) (This)->lpVtbl->SetFormat(This,lpWaveFormat) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IAudioData_GetFormat_Proxy( + IAudioData* This, + WAVEFORMATEX *pWaveFormatCurrent); +void __RPC_STUB IAudioData_GetFormat_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IAudioData_SetFormat_Proxy( + IAudioData* This, + const WAVEFORMATEX *lpWaveFormat); +void __RPC_STUB IAudioData_SetFormat_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IAudioData_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __WIDL_AUSTREAM_H */
diff --git a/mingw-w64-headers/direct-x/include/austream.idl b/mingw-w64-headers/direct-x/include/austream.idl new file mode 100644 index 0000000..bdfd11f --- /dev/null +++ b/mingw-w64-headers/direct-x/include/austream.idl
@@ -0,0 +1,108 @@ +/* + * Copyright 2004 Christian Costa + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; +import "mmstream.idl"; + +cpp_quote("#if 0") +typedef struct tWAVEFORMATEX WAVEFORMATEX; +cpp_quote ("#endif") + +interface IAudioMediaStream; +interface IAudioStreamSample; +interface IMemoryData; +interface IAudioData; + +[ +object, +local, +uuid(f7537560-a3be-11d0-8212-00c04fc32c45), +pointer_default(unique) +] +interface IAudioMediaStream : IMediaStream +{ + HRESULT GetFormat( + [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent + ); + + HRESULT SetFormat( + [in] const WAVEFORMATEX *lpWaveFormat); + + HRESULT CreateSample( + [in] IAudioData *pAudioData, + [in] DWORD dwFlags, + [out] IAudioStreamSample **ppSample + ); +} + + +[ +object, +local, +uuid(345fee00-aba5-11d0-8212-00c04fc32c45), +pointer_default(unique) +] +interface IAudioStreamSample : IStreamSample +{ + HRESULT GetAudioData( + [out] IAudioData **ppAudio + ); +} + + +[ +object, +local, +uuid(327fc560-af60-11d0-8212-00c04fc32c45), +pointer_default(unique) +] +interface IMemoryData : IUnknown +{ + HRESULT SetBuffer( + [in] DWORD cbSize, + [in] BYTE *pbData, + [in] DWORD dwFlags + ); + + HRESULT GetInfo( + [out] DWORD *pdwLength, + [out] BYTE **ppbData, + [out] DWORD *pcbActualData + ); + HRESULT SetActual( + [in] DWORD cbDataValid + ); +} + + +[ +object, +local, +uuid(54c719c0-af60-11d0-8212-00c04fc32c45), +pointer_default(unique) +] +interface IAudioData : IMemoryData +{ + HRESULT GetFormat( + [out] /*[optional]*/ WAVEFORMATEX *pWaveFormatCurrent + ); + + HRESULT SetFormat( + [in] const WAVEFORMATEX *lpWaveFormat + ); +}
diff --git a/mingw-w64-headers/direct-x/include/ddstream.h b/mingw-w64-headers/direct-x/include/ddstream.h index 9fdf0d0..0819b89 100644 --- a/mingw-w64-headers/direct-x/include/ddstream.h +++ b/mingw-w64-headers/direct-x/include/ddstream.h
@@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 1.1.44 from ddstream.idl - Do not edit ***/ +/*** Autogenerated by WIDL 1.3.2 from ddstream.idl - Do not edit ***/ #include <rpc.h> #include <rpcndr.h> @@ -6,15 +6,6 @@ #ifndef __WIDL_DDSTREAM_H #define __WIDL_DDSTREAM_H -#ifdef __cplusplus -extern "C" { -#endif - -/* Headers for imported files */ - -#include <unknwn.h> -#include <mmstream.h> - /* Forward declarations */ #ifndef __IDirectDrawMediaStream_FWD_DEFINED__ @@ -27,6 +18,14 @@ typedef interface IDirectDrawStreamSample IDirectDrawStreamSample; #endif +/* Headers for imported files */ + +#include <unknwn.h> +#include <mmstream.h> + +#ifdef __cplusplus +extern "C" { +#endif #ifndef __WINE_DDRAW_H typedef void *LPDDSURFACEDESC;
diff --git a/mingw-w64-headers/direct-x/include/mmstream.h b/mingw-w64-headers/direct-x/include/mmstream.h new file mode 100644 index 0000000..651092e --- /dev/null +++ b/mingw-w64-headers/direct-x/include/mmstream.h
@@ -0,0 +1,612 @@ +/*** Autogenerated by WIDL 1.3.2 from mmstream.idl - Do not edit ***/ + +#include <rpc.h> +#include <rpcndr.h> + +#ifndef __WIDL_MMSTREAM_H +#define __WIDL_MMSTREAM_H + +/* Forward declarations */ + +#ifndef __IMultiMediaStream_FWD_DEFINED__ +#define __IMultiMediaStream_FWD_DEFINED__ +typedef interface IMultiMediaStream IMultiMediaStream; +#endif + +#ifndef __IMediaStream_FWD_DEFINED__ +#define __IMediaStream_FWD_DEFINED__ +typedef interface IMediaStream IMediaStream; +#endif + +#ifndef __IStreamSample_FWD_DEFINED__ +#define __IStreamSample_FWD_DEFINED__ +typedef interface IStreamSample IStreamSample; +#endif + +/* Headers for imported files */ + +#include <unknwn.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400) +#define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x) +#define MS_S_PENDING MS_SUCCESS_CODE(1) +#define MS_S_NOUPDATE MS_SUCCESS_CODE(2) +#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3) +#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1) +#define MS_E_PURPOSEID MS_ERROR_CODE(2) +#define MS_E_NOSTREAM MS_ERROR_CODE(3) +#define MS_E_NOSEEKING MS_ERROR_CODE(4) +#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5) +#define MS_E_BUSY MS_ERROR_CODE(6) +#define MS_E_NOTINIT MS_ERROR_CODE(7) +#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8) +#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9) +#define MS_E_NOTRUNNING MS_ERROR_CODE(10) +DEFINE_GUID(MSPID_PrimaryVideo, 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); +DEFINE_GUID(MSPID_PrimaryAudio, 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); +#if 0 +typedef void *PAPCFUNC; +#endif +typedef LONGLONG STREAM_TIME; +typedef GUID MSPID; +typedef REFGUID REFMSPID; +typedef enum __WIDL_mmstream_generated_name_00000000 { + STREAMTYPE_READ = 0, + STREAMTYPE_WRITE = 1, + STREAMTYPE_TRANSFORM = 2 +} STREAM_TYPE; +typedef enum __WIDL_mmstream_generated_name_00000001 { + STREAMSTATE_STOP = 0, + STREAMSTATE_RUN = 1 +} STREAM_STATE; +typedef enum __WIDL_mmstream_generated_name_00000002 { + COMPSTAT_NOUPDATEOK = 0x1, + COMPSTAT_WAIT = 0x2, + COMPSTAT_ABORT = 0x4 +} COMPLETION_STATUS_FLAGS; +enum { + MMSSF_HASCLOCK = 0x1, + MMSSF_SUPPORTSEEK = 0x2, + MMSSF_ASYNCHRONOUS = 0x4 +}; + +enum { + SSUPDATE_ASYNC = 0x1, + SSUPDATE_CONTINUOUS = 0x2 +}; + +#ifndef __IMultiMediaStream_FWD_DEFINED__ +#define __IMultiMediaStream_FWD_DEFINED__ +typedef interface IMultiMediaStream IMultiMediaStream; +#endif + +#ifndef __IMediaStream_FWD_DEFINED__ +#define __IMediaStream_FWD_DEFINED__ +typedef interface IMediaStream IMediaStream; +#endif + +#ifndef __IStreamSample_FWD_DEFINED__ +#define __IStreamSample_FWD_DEFINED__ +typedef interface IStreamSample IStreamSample; +#endif + +/***************************************************************************** + * IMultiMediaStream interface + */ +#ifndef __IMultiMediaStream_INTERFACE_DEFINED__ +#define __IMultiMediaStream_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMultiMediaStream, 0xb502d1bc, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IMultiMediaStream : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetInformation( + DWORD *pdwFlags, + STREAM_TYPE *pStreamType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMediaStream( + REFMSPID idPurpose, + IMediaStream **ppMediaStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( + LONG Index, + IMediaStream **ppMediaStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetState( + STREAM_STATE *pCurrentState) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetState( + STREAM_STATE NewState) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTime( + STREAM_TIME *pCurrentTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDuration( + STREAM_TIME *pDuration) = 0; + + virtual HRESULT STDMETHODCALLTYPE Seek( + STREAM_TIME SeekTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEndOfStreamEventHandle( + HANDLE *phEOS) = 0; + +}; +#else +typedef struct IMultiMediaStreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMultiMediaStream* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMultiMediaStream* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMultiMediaStream* This); + + /*** IMultiMediaStream methods ***/ + HRESULT (STDMETHODCALLTYPE *GetInformation)( + IMultiMediaStream* This, + DWORD *pdwFlags, + STREAM_TYPE *pStreamType); + + HRESULT (STDMETHODCALLTYPE *GetMediaStream)( + IMultiMediaStream* This, + REFMSPID idPurpose, + IMediaStream **ppMediaStream); + + HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( + IMultiMediaStream* This, + LONG Index, + IMediaStream **ppMediaStream); + + HRESULT (STDMETHODCALLTYPE *GetState)( + IMultiMediaStream* This, + STREAM_STATE *pCurrentState); + + HRESULT (STDMETHODCALLTYPE *SetState)( + IMultiMediaStream* This, + STREAM_STATE NewState); + + HRESULT (STDMETHODCALLTYPE *GetTime)( + IMultiMediaStream* This, + STREAM_TIME *pCurrentTime); + + HRESULT (STDMETHODCALLTYPE *GetDuration)( + IMultiMediaStream* This, + STREAM_TIME *pDuration); + + HRESULT (STDMETHODCALLTYPE *Seek)( + IMultiMediaStream* This, + STREAM_TIME SeekTime); + + HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)( + IMultiMediaStream* This, + HANDLE *phEOS); + + END_INTERFACE +} IMultiMediaStreamVtbl; +interface IMultiMediaStream { + CONST_VTBL IMultiMediaStreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMultiMediaStream_Release(This) (This)->lpVtbl->Release(This) +/*** IMultiMediaStream methods ***/ +#define IMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType) +#define IMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream) +#define IMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream) +#define IMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState) +#define IMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState) +#define IMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime) +#define IMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration) +#define IMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime) +#define IMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetInformation_Proxy( + IMultiMediaStream* This, + DWORD *pdwFlags, + STREAM_TYPE *pStreamType); +void __RPC_STUB IMultiMediaStream_GetInformation_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetMediaStream_Proxy( + IMultiMediaStream* This, + REFMSPID idPurpose, + IMediaStream **ppMediaStream); +void __RPC_STUB IMultiMediaStream_GetMediaStream_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_EnumMediaStreams_Proxy( + IMultiMediaStream* This, + LONG Index, + IMediaStream **ppMediaStream); +void __RPC_STUB IMultiMediaStream_EnumMediaStreams_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetState_Proxy( + IMultiMediaStream* This, + STREAM_STATE *pCurrentState); +void __RPC_STUB IMultiMediaStream_GetState_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_SetState_Proxy( + IMultiMediaStream* This, + STREAM_STATE NewState); +void __RPC_STUB IMultiMediaStream_SetState_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetTime_Proxy( + IMultiMediaStream* This, + STREAM_TIME *pCurrentTime); +void __RPC_STUB IMultiMediaStream_GetTime_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetDuration_Proxy( + IMultiMediaStream* This, + STREAM_TIME *pDuration); +void __RPC_STUB IMultiMediaStream_GetDuration_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_Seek_Proxy( + IMultiMediaStream* This, + STREAM_TIME SeekTime); +void __RPC_STUB IMultiMediaStream_Seek_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMultiMediaStream_GetEndOfStreamEventHandle_Proxy( + IMultiMediaStream* This, + HANDLE *phEOS); +void __RPC_STUB IMultiMediaStream_GetEndOfStreamEventHandle_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IMultiMediaStream_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMediaStream interface + */ +#ifndef __IMediaStream_INTERFACE_DEFINED__ +#define __IMediaStream_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMediaStream, 0xb502d1bd, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IMediaStream : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMultiMediaStream( + IMultiMediaStream **ppMultiMediaStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInformation( + MSPID *pPurposeId, + STREAM_TYPE *pType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSameFormat( + IMediaStream *pStreamThatHasDesiredFormat, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateSample( + DWORD dwFlags, + IStreamSample **ppSample) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSharedSample( + IStreamSample *pExistingSample, + DWORD dwFlags, + IStreamSample **ppNewSample) = 0; + + virtual HRESULT STDMETHODCALLTYPE SendEndOfStream( + DWORD dwFlags) = 0; + +}; +#else +typedef struct IMediaStreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMediaStream* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMediaStream* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMediaStream* This); + + /*** IMediaStream methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( + IMediaStream* This, + IMultiMediaStream **ppMultiMediaStream); + + HRESULT (STDMETHODCALLTYPE *GetInformation)( + IMediaStream* This, + MSPID *pPurposeId, + STREAM_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *SetSameFormat)( + IMediaStream* This, + IMediaStream *pStreamThatHasDesiredFormat, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *AllocateSample)( + IMediaStream* This, + DWORD dwFlags, + IStreamSample **ppSample); + + HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( + IMediaStream* This, + IStreamSample *pExistingSample, + DWORD dwFlags, + IStreamSample **ppNewSample); + + HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( + IMediaStream* This, + DWORD dwFlags); + + END_INTERFACE +} IMediaStreamVtbl; +interface IMediaStream { + CONST_VTBL IMediaStreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMediaStream_Release(This) (This)->lpVtbl->Release(This) +/*** IMediaStream methods ***/ +#define IMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream) +#define IMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType) +#define IMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) +#define IMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample) +#define IMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) +#define IMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IMediaStream_GetMultiMediaStream_Proxy( + IMediaStream* This, + IMultiMediaStream **ppMultiMediaStream); +void __RPC_STUB IMediaStream_GetMultiMediaStream_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMediaStream_GetInformation_Proxy( + IMediaStream* This, + MSPID *pPurposeId, + STREAM_TYPE *pType); +void __RPC_STUB IMediaStream_GetInformation_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMediaStream_SetSameFormat_Proxy( + IMediaStream* This, + IMediaStream *pStreamThatHasDesiredFormat, + DWORD dwFlags); +void __RPC_STUB IMediaStream_SetSameFormat_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMediaStream_AllocateSample_Proxy( + IMediaStream* This, + DWORD dwFlags, + IStreamSample **ppSample); +void __RPC_STUB IMediaStream_AllocateSample_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMediaStream_CreateSharedSample_Proxy( + IMediaStream* This, + IStreamSample *pExistingSample, + DWORD dwFlags, + IStreamSample **ppNewSample); +void __RPC_STUB IMediaStream_CreateSharedSample_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IMediaStream_SendEndOfStream_Proxy( + IMediaStream* This, + DWORD dwFlags); +void __RPC_STUB IMediaStream_SendEndOfStream_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IMediaStream_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IStreamSample interface + */ +#ifndef __IStreamSample_INTERFACE_DEFINED__ +#define __IStreamSample_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IStreamSample, 0xb502d1be, 0x9a57, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IStreamSample : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMediaStream( + IMediaStream **ppMediaStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSampleTimes( + STREAM_TIME *pStartTime, + STREAM_TIME *pEndTime, + STREAM_TIME *pCurrentTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSampleTimes( + const STREAM_TIME *pStartTime, + const STREAM_TIME *pEndTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE Update( + DWORD dwFlags, + HANDLE hEvent, + PAPCFUNC pfnAPC, + DWORD dwAPCData) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompletionStatus( + DWORD dwFlags, + DWORD dwMilliseconds) = 0; + +}; +#else +typedef struct IStreamSampleVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IStreamSample* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IStreamSample* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IStreamSample* This); + + /*** IStreamSample methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMediaStream)( + IStreamSample* This, + IMediaStream **ppMediaStream); + + HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( + IStreamSample* This, + STREAM_TIME *pStartTime, + STREAM_TIME *pEndTime, + STREAM_TIME *pCurrentTime); + + HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( + IStreamSample* This, + const STREAM_TIME *pStartTime, + const STREAM_TIME *pEndTime); + + HRESULT (STDMETHODCALLTYPE *Update)( + IStreamSample* This, + DWORD dwFlags, + HANDLE hEvent, + PAPCFUNC pfnAPC, + DWORD dwAPCData); + + HRESULT (STDMETHODCALLTYPE *CompletionStatus)( + IStreamSample* This, + DWORD dwFlags, + DWORD dwMilliseconds); + + END_INTERFACE +} IStreamSampleVtbl; +interface IStreamSample { + CONST_VTBL IStreamSampleVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IStreamSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IStreamSample_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IStreamSample_Release(This) (This)->lpVtbl->Release(This) +/*** IStreamSample methods ***/ +#define IStreamSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream) +#define IStreamSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) +#define IStreamSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime) +#define IStreamSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) +#define IStreamSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds) +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IStreamSample_GetMediaStream_Proxy( + IStreamSample* This, + IMediaStream **ppMediaStream); +void __RPC_STUB IStreamSample_GetMediaStream_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IStreamSample_GetSampleTimes_Proxy( + IStreamSample* This, + STREAM_TIME *pStartTime, + STREAM_TIME *pEndTime, + STREAM_TIME *pCurrentTime); +void __RPC_STUB IStreamSample_GetSampleTimes_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IStreamSample_SetSampleTimes_Proxy( + IStreamSample* This, + const STREAM_TIME *pStartTime, + const STREAM_TIME *pEndTime); +void __RPC_STUB IStreamSample_SetSampleTimes_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IStreamSample_Update_Proxy( + IStreamSample* This, + DWORD dwFlags, + HANDLE hEvent, + PAPCFUNC pfnAPC, + DWORD dwAPCData); +void __RPC_STUB IStreamSample_Update_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IStreamSample_CompletionStatus_Proxy( + IStreamSample* This, + DWORD dwFlags, + DWORD dwMilliseconds); +void __RPC_STUB IStreamSample_CompletionStatus_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IStreamSample_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __WIDL_MMSTREAM_H */
diff --git a/mingw-w64-headers/direct-x/include/mmstream.idl b/mingw-w64-headers/direct-x/include/mmstream.idl new file mode 100644 index 0000000..9730ee2 --- /dev/null +++ b/mingw-w64-headers/direct-x/include/mmstream.idl
@@ -0,0 +1,184 @@ +/* + * Copyright 2004 Christian Costa + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "unknwn.idl"; + +cpp_quote("#define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400)") +cpp_quote("#define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x)") +cpp_quote("#define MS_S_PENDING MS_SUCCESS_CODE(1)") +cpp_quote("#define MS_S_NOUPDATE MS_SUCCESS_CODE(2)") +cpp_quote("#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3)") + +cpp_quote("#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1)") +cpp_quote("#define MS_E_PURPOSEID MS_ERROR_CODE(2)") +cpp_quote("#define MS_E_NOSTREAM MS_ERROR_CODE(3)") +cpp_quote("#define MS_E_NOSEEKING MS_ERROR_CODE(4)") +cpp_quote("#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5)") +cpp_quote("#define MS_E_BUSY MS_ERROR_CODE(6)") +cpp_quote("#define MS_E_NOTINIT MS_ERROR_CODE(7)") +cpp_quote("#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8)") +cpp_quote("#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9)") +cpp_quote("#define MS_E_NOTRUNNING MS_ERROR_CODE(10)") + +cpp_quote("DEFINE_GUID(MSPID_PrimaryVideo, 0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);") +cpp_quote("DEFINE_GUID(MSPID_PrimaryAudio, 0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);") + +cpp_quote("#if 0") +typedef void* PAPCFUNC; +cpp_quote("#endif") + +typedef LONGLONG STREAM_TIME; + +typedef GUID MSPID; +typedef REFGUID REFMSPID; + +typedef enum { + STREAMTYPE_READ = 0, + STREAMTYPE_WRITE = 1, + STREAMTYPE_TRANSFORM = 2 +} STREAM_TYPE; + +typedef enum { + STREAMSTATE_STOP = 0, + STREAMSTATE_RUN = 1 +} STREAM_STATE; + + +typedef enum { + COMPSTAT_NOUPDATEOK = 0x00000001, + COMPSTAT_WAIT = 0x00000002, + COMPSTAT_ABORT = 0x00000004 +} COMPLETION_STATUS_FLAGS; + +enum { + MMSSF_HASCLOCK = 0x00000001, + MMSSF_SUPPORTSEEK = 0x00000002, + MMSSF_ASYNCHRONOUS = 0x00000004 +}; + +enum { + SSUPDATE_ASYNC = 0x00000001, + SSUPDATE_CONTINUOUS = 0x00000002 +}; + +interface IMultiMediaStream; +interface IMediaStream; +interface IStreamSample; + + +[ +object, +local, +uuid(B502D1BC-9A57-11d0-8FDE-00C04FD9189D), +pointer_default(unique) +] +interface IMultiMediaStream : IUnknown { + + HRESULT GetInformation( + [out, optional] DWORD *pdwFlags, + [out, optional] STREAM_TYPE *pStreamType); + + HRESULT GetMediaStream( + [in] REFMSPID idPurpose, + [out] IMediaStream **ppMediaStream); + + HRESULT EnumMediaStreams( + [in] long Index, + [out] IMediaStream **ppMediaStream); + + HRESULT GetState( + [out] STREAM_STATE *pCurrentState); + + HRESULT SetState( + [in] STREAM_STATE NewState); + + HRESULT GetTime( + [out] STREAM_TIME *pCurrentTime); + + HRESULT GetDuration( + [out] STREAM_TIME *pDuration); + + HRESULT Seek( + [in] STREAM_TIME SeekTime); + + HRESULT GetEndOfStreamEventHandle( + [out] HANDLE *phEOS); +} + + +[ +object, +uuid(B502D1BD-9A57-11d0-8FDE-00C04FD9189D), +pointer_default(unique) +] +interface IMediaStream : IUnknown { + + HRESULT GetMultiMediaStream( + [out] IMultiMediaStream **ppMultiMediaStream); + + HRESULT GetInformation( + [out, optional] MSPID *pPurposeId, + [out, optional] STREAM_TYPE *pType); + + HRESULT SetSameFormat( + [in] IMediaStream *pStreamThatHasDesiredFormat, + [in] DWORD dwFlags); + + HRESULT AllocateSample( + [in] DWORD dwFlags, + [out] IStreamSample **ppSample); + + HRESULT CreateSharedSample( + [in] IStreamSample *pExistingSample, + [in] DWORD dwFlags, + [out] IStreamSample **ppNewSample); + + HRESULT SendEndOfStream(DWORD dwFlags); +} + + +[ +object, +local, +uuid(B502D1BE-9A57-11d0-8FDE-00C04FD9189D), +pointer_default(unique) +] +interface IStreamSample : IUnknown { + + HRESULT GetMediaStream( + [in] IMediaStream **ppMediaStream); + + HRESULT GetSampleTimes( + [out, optional] STREAM_TIME * pStartTime, + [out, optional] STREAM_TIME * pEndTime, + [out, optional] STREAM_TIME * pCurrentTime); + + HRESULT SetSampleTimes( + [in, optional] const STREAM_TIME *pStartTime, + [in, optional] const STREAM_TIME *pEndTime); + + HRESULT Update( + [in] DWORD dwFlags, + [in, optional] HANDLE hEvent, + [in, optional] PAPCFUNC pfnAPC, + [in, optional] DWORD dwAPCData); + + HRESULT CompletionStatus( + [in] DWORD dwFlags, + [in, optional] DWORD dwMilliseconds); +}