diff --git a/reactos/include/dxsdk/amstream.idl b/reactos/include/dxsdk/amstream.idl new file mode 100644 index 00000000000..2519669bc52 --- /dev/null +++ b/reactos/include/dxsdk/amstream.idl @@ -0,0 +1,212 @@ + +import "unknwn.idl"; +import "mmstream.idl"; +import "strmif.idl"; + +cpp_quote("#include ") +cpp_quote("#include ") +cpp_quote("#include ") +cpp_quote("#include ") +cpp_quote("#include ") + +interface IAMMultiMediaStream; +interface IAMMediaStream; +interface IMediaStreamFilter; +interface IDirectDraw; +interface IDirectDrawSurface; +interface IAMMediaTypeStream; +interface IAMMediaTypeSample; + +enum +{ + AMMSF_NOGRAPHTHREAD = 0x00000001 +}; + +enum +{ + AMMSF_ADDDEFAULTRENDERER = 0x00000001, + AMMSF_CREATEPEER = 0x00000002, + AMMSF_STOPIFNOSAMPLES = 0x00000004, + AMMSF_NOSTALL = 0x00000008 +}; + +enum +{ + AMMSF_RENDERTYPEMASK = 0x00000003, + AMMSF_RENDERTOEXISTING = 0x00000000, + AMMSF_RENDERALLSTREAMS = 0x00000001, + AMMSF_NORENDER = 0x00000002, + + AMMSF_NOCLOCK = 0x00000004, + AMMSF_RUN = 0x00000008 +}; + +typedef [v1_enum] enum +{ + Disabled = 0, + ReadData = 1, + RenderData = 2 +} OUTPUT_STATE; + + +[ +object, +uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D), +dual, +pointer_default(unique) +] +interface IDirectShowStream : IDispatch +{ + [propget, id(1)] HRESULT FileName([out, retval] BSTR *pVal); + [propput, id(1)] HRESULT FileName([in] BSTR newVal); + [propget, id(2)] HRESULT Video([out, retval] OUTPUT_STATE *pVal); + [propput, id(2)] HRESULT Video([in] OUTPUT_STATE newVal); + [propget, id(3)] HRESULT Audio([out, retval] OUTPUT_STATE *pVal); + [propput, id(3)] HRESULT Audio([in] OUTPUT_STATE newVal); +}; + +[ +object, +uuid(BEBE595C-9A6F-11d0-8FDE-00C04FD9189D), +pointer_default(unique) +] +interface IAMMultiMediaStream : IMultiMediaStream +{ + HRESULT Initialize([in] STREAM_TYPE StreamType, [in] DWORD dwFlags, [in] IGraphBuilder *pFilterGraph); + HRESULT GetFilterGraph([out] IGraphBuilder **ppGraphBuilder); + HRESULT GetFilter([out] IMediaStreamFilter **ppFilter); + HRESULT AddMediaStream([in] IUnknown *pStreamObject, [in] const MSPID *PurposeId, [in] DWORD dwFlags, [out] IMediaStream **ppNewStream); + HRESULT OpenFile([in] LPCWSTR pszFileName, [in] DWORD dwFlags); + HRESULT OpenMoniker([in] IBindCtx *pCtx, [in] IMoniker *pMoniker, [in] DWORD dwFlags); + HRESULT Render([in] DWORD dwFlags); +} + +[ +object, +uuid(BEBE595D-9A6F-11d0-8FDE-00C04FD9189D), +pointer_default(unique) +] +interface IAMMediaStream : IMediaStream +{ + HRESULT Initialize([in] IUnknown *pSourceObject, [in] DWORD dwFlags, [in] REFMSPID PurposeId, [in] const STREAM_TYPE StreamType); + HRESULT SetState([in] FILTER_STATE State); + HRESULT JoinAMMultiMediaStream([in] IAMMultiMediaStream *pAMMultiMediaStream); + HRESULT JoinFilter([in] IMediaStreamFilter *pMediaStreamFilter); + HRESULT JoinFilterGraph([in] IFilterGraph *pFilterGraph); +}; + +[ +object, +local, +uuid(BEBE595E-9A6F-11d0-8FDE-00C04FD9189D), +pointer_default(unique) +] +interface IMediaStreamFilter : IBaseFilter +{ + HRESULT AddMediaStream([in] IAMMediaStream *pAMMediaStream); + HRESULT GetMediaStream([in] REFMSPID idPurpose, [out] IMediaStream **ppMediaStream); + HRESULT EnumMediaStreams([in] long Index, [out] IMediaStream **ppMediaStream); + HRESULT SupportSeeking([in] BOOL bRenderer); + HRESULT ReferenceTimeToStreamTime([in] [out] REFERENCE_TIME *pTime); + HRESULT GetCurrentStreamTime([out] REFERENCE_TIME *pCurrentStreamTime); + HRESULT WaitUntil([in] REFERENCE_TIME WaitStreamTime); + HRESULT Flush([in] BOOL bCancelEOS); + HRESULT EndOfStream(); +}; + +[ +object, +local, +uuid(AB6B4AFC-F6E4-11d0-900D-00C04FD9189D), +pointer_default(unique) +] +interface IDirectDrawMediaSampleAllocator : IUnknown +{ + HRESULT GetDirectDraw(IDirectDraw **ppDirectDraw); +}; + +[ +object, +local, +uuid(AB6B4AFE-F6E4-11d0-900D-00C04FD9189D), +pointer_default(unique) +] +interface IDirectDrawMediaSample : IUnknown +{ + HRESULT GetSurfaceAndReleaseLock([out] IDirectDrawSurface **ppDirectDrawSurface, [out] RECT * pRect); + HRESULT LockMediaSamplePointer(void); +}; + +[ +object, +local, +uuid(AB6B4AFA-F6E4-11d0-900D-00C04FD9189D), +pointer_default(unique) +] + +interface IAMMediaTypeStream : IMediaStream +{ + HRESULT GetFormat([out] AM_MEDIA_TYPE * pMediaType, [in] DWORD dwFlags); + HRESULT SetFormat([in] AM_MEDIA_TYPE * pMediaType, [in] DWORD dwFlags); + HRESULT CreateSample([in] long lSampleSize, [in] BYTE * pbBuffer, [in] DWORD dwFlags, [in] IUnknown *pUnkOuter, [out] IAMMediaTypeSample ** ppAMMediaTypeSample); + HRESULT GetStreamAllocatorRequirements([out] ALLOCATOR_PROPERTIES *pProps); + HRESULT SetStreamAllocatorRequirements([in] ALLOCATOR_PROPERTIES *pProps); +}; + + + + + + + [ +object, +local, +uuid(AB6B4AFB-F6E4-11d0-900D-00C04FD9189D), +pointer_default(unique) +] +interface IAMMediaTypeSample : IStreamSample +{ + HRESULT SetPointer([in] BYTE *pBuffer, [in] long lSize); + HRESULT GetPointer([out] BYTE ** ppBuffer); + long GetSize(void); + HRESULT GetTime([out] REFERENCE_TIME * pTimeStart, [out] REFERENCE_TIME * pTimeEnd); + HRESULT SetTime([in] REFERENCE_TIME * pTimeStart, [in] REFERENCE_TIME * pTimeEnd); + HRESULT IsSyncPoint(void); + HRESULT SetSyncPoint(BOOL bIsSyncPoint); + HRESULT IsPreroll(void); + HRESULT SetPreroll(BOOL bIsPreroll); + long GetActualDataLength(void); + HRESULT SetActualDataLength(long Len); + HRESULT GetMediaType(AM_MEDIA_TYPE **ppMediaType); + HRESULT SetMediaType(AM_MEDIA_TYPE *pMediaType); + HRESULT IsDiscontinuity(void); + HRESULT SetDiscontinuity(BOOL bDiscontinuity); + HRESULT GetMediaTime([out] LONGLONG * pTimeStart, [out] LONGLONG * pTimeEnd); + HRESULT SetMediaTime([in] LONGLONG * pTimeStart, [in] LONGLONG * pTimeEnd); +}; + +[ + uuid(4E6CDE29-C0C4-11d0-8FF1-00C04FD9189D) +] + +library DirectShowStreamLib +{ + importlib("stdole2.tlb"); + [ + uuid(49c47ce5-9ba4-11d0-8212-00c04fc32c45) + ] + coclass AMMultiMediaStream + { + [default] dispinterface IDirectShowStream; + }; +}; + +cpp_quote("#ifndef __cplusplus") +cpp_quote("EXTERN_C const CLSID CLSID_AMMultiMediaStream;") +cpp_quote("#endif") + +cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") +cpp_quote("DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") +cpp_quote("DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") +cpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0xd, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);") + diff --git a/reactos/include/dxsdk/dxsdk.rbuild b/reactos/include/dxsdk/dxsdk.rbuild index 44a56ea8480..a1de80d7986 100644 --- a/reactos/include/dxsdk/dxsdk.rbuild +++ b/reactos/include/dxsdk/dxsdk.rbuild @@ -1,5 +1,6 @@ austream.idl + amstream.idl ddstream.idl mmstream.idl \ No newline at end of file diff --git a/reactos/include/psdk/amstream.h b/reactos/include/psdk/amstream.h deleted file mode 100644 index 2d78f7e6c4c..00000000000 --- a/reactos/include/psdk/amstream.h +++ /dev/null @@ -1,1464 +0,0 @@ -/*** Autogenerated by WIDL 0.3.0 from include\psdk\amstream.idl - Do not edit ***/ -#include -#include - -#ifndef __WIDL_INCLUDE_PSDK_AMSTREAM_H -#define __WIDL_INCLUDE_PSDK_AMSTREAM_H -#ifdef __cplusplus -extern "C" { -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#if 0 -#ifndef __IDirectDraw_FWD_DEFINED__ -#define __IDirectDraw_FWD_DEFINED__ -typedef interface IDirectDraw IDirectDraw; -#endif - -#ifndef __IDirectDrawSurface_FWD_DEFINED__ -#define __IDirectDrawSurface_FWD_DEFINED__ -typedef interface IDirectDrawSurface IDirectDrawSurface; -#endif - -#endif -#ifndef __IAMMultiMediaStream_FWD_DEFINED__ -#define __IAMMultiMediaStream_FWD_DEFINED__ -typedef interface IAMMultiMediaStream IAMMultiMediaStream; -#endif - -#ifndef __IAMMediaStream_FWD_DEFINED__ -#define __IAMMediaStream_FWD_DEFINED__ -typedef interface IAMMediaStream IAMMediaStream; -#endif - -#ifndef __IMediaStreamFilter_FWD_DEFINED__ -#define __IMediaStreamFilter_FWD_DEFINED__ -typedef interface IMediaStreamFilter IMediaStreamFilter; -#endif - -#ifndef __IAMMediaTypeStream_FWD_DEFINED__ -#define __IAMMediaTypeStream_FWD_DEFINED__ -typedef interface IAMMediaTypeStream IAMMediaTypeStream; -#endif - -#ifndef __IAMMediaTypeSample_FWD_DEFINED__ -#define __IAMMediaTypeSample_FWD_DEFINED__ -typedef interface IAMMediaTypeSample IAMMediaTypeSample; -#endif - -enum { - AMMSF_NOGRAPHTHREAD = 0x1 -}; - -enum { - AMMSF_ADDDEFAULTRENDERER = 0x1, - AMMSF_CREATEPEER = 0x2, - AMMSF_STOPIFNOSAMPLES = 0x4, - AMMSF_NOSTALL = 0x8 -}; - -enum { - AMMSF_RENDERTYPEMASK = 0x3, - AMMSF_RENDERTOEXISTING = 0x0, - AMMSF_RENDERALLSTREAMS = 0x1, - AMMSF_NORENDER = 0x2, - AMMSF_NOCLOCK = 0x4, - AMMSF_RUN = 0x8 -}; - -typedef enum { - Disabled = 0, - ReadData = 1, - RenderData = 2 -} OUTPUT_STATE; -/***************************************************************************** - * IAMMultiMediaStream interface - */ -#ifndef __IAMMultiMediaStream_INTERFACE_DEFINED__ -#define __IAMMultiMediaStream_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); -#if defined(__cplusplus) && !defined(CINTERFACE) -interface IAMMultiMediaStream : public IMultiMediaStream -{ - virtual HRESULT STDMETHODCALLTYPE Initialize( - STREAM_TYPE StreamType, - DWORD dwFlags, - IGraphBuilder* pFilterGraph) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilterGraph( - IGraphBuilder** ppGraphBuilder) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetFilter( - IMediaStreamFilter** ppFilter) = 0; - - virtual HRESULT STDMETHODCALLTYPE AddMediaStream( - IUnknown* pStreamObject, - const MSPID* PurposeId, - DWORD dwFlags, - IMediaStream** ppNewStream) = 0; - - virtual HRESULT STDMETHODCALLTYPE OpenFile( - LPCWSTR pszFileName, - DWORD dwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE OpenMoniker( - IBindCtx* pCtx, - IMoniker* pMoniker, - DWORD dwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE Render( - DWORD dwFlags) = 0; - -}; -#else -typedef struct IAMMultiMediaStreamVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IAMMultiMediaStream* This, - REFIID riid, - void** ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IAMMultiMediaStream* This); - - ULONG (STDMETHODCALLTYPE *Release)( - IAMMultiMediaStream* This); - - /*** IMultiMediaStream methods ***/ - HRESULT (STDMETHODCALLTYPE *GetInformation)( - IAMMultiMediaStream* This, - DWORD* pdwFlags, - STREAM_TYPE* pStreamType); - - HRESULT (STDMETHODCALLTYPE *GetMediaStream)( - IAMMultiMediaStream* This, - REFMSPID idPurpose, - IMediaStream** ppMediaStream); - - HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( - IAMMultiMediaStream* This, - long Index, - IMediaStream** ppMediaStream); - - HRESULT (STDMETHODCALLTYPE *GetState)( - IAMMultiMediaStream* This, - STREAM_STATE* pCurrentState); - - HRESULT (STDMETHODCALLTYPE *SetState)( - IAMMultiMediaStream* This, - STREAM_STATE NewState); - - HRESULT (STDMETHODCALLTYPE *GetTime)( - IAMMultiMediaStream* This, - STREAM_TIME* pCurrentTime); - - HRESULT (STDMETHODCALLTYPE *GetDuration)( - IAMMultiMediaStream* This, - STREAM_TIME* pDuration); - - HRESULT (STDMETHODCALLTYPE *Seek)( - IAMMultiMediaStream* This, - STREAM_TIME SeekTime); - - HRESULT (STDMETHODCALLTYPE *GetEndOfStreamEventHandle)( - IAMMultiMediaStream* This, - HANDLE* phEOS); - - /*** IAMMultiMediaStream methods ***/ - HRESULT (STDMETHODCALLTYPE *Initialize)( - IAMMultiMediaStream* This, - STREAM_TYPE StreamType, - DWORD dwFlags, - IGraphBuilder* pFilterGraph); - - HRESULT (STDMETHODCALLTYPE *GetFilterGraph)( - IAMMultiMediaStream* This, - IGraphBuilder** ppGraphBuilder); - - HRESULT (STDMETHODCALLTYPE *GetFilter)( - IAMMultiMediaStream* This, - IMediaStreamFilter** ppFilter); - - HRESULT (STDMETHODCALLTYPE *AddMediaStream)( - IAMMultiMediaStream* This, - IUnknown* pStreamObject, - const MSPID* PurposeId, - DWORD dwFlags, - IMediaStream** ppNewStream); - - HRESULT (STDMETHODCALLTYPE *OpenFile)( - IAMMultiMediaStream* This, - LPCWSTR pszFileName, - DWORD dwFlags); - - HRESULT (STDMETHODCALLTYPE *OpenMoniker)( - IAMMultiMediaStream* This, - IBindCtx* pCtx, - IMoniker* pMoniker, - DWORD dwFlags); - - HRESULT (STDMETHODCALLTYPE *Render)( - IAMMultiMediaStream* This, - DWORD dwFlags); - - END_INTERFACE -} IAMMultiMediaStreamVtbl; -interface IAMMultiMediaStream { - const IAMMultiMediaStreamVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IAMMultiMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IAMMultiMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IAMMultiMediaStream_Release(p) (p)->lpVtbl->Release(p) -/*** IMultiMediaStream methods ***/ -#define IAMMultiMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b) -#define IAMMultiMediaStream_GetMediaStream(p,a,b) (p)->lpVtbl->GetMediaStream(p,a,b) -#define IAMMultiMediaStream_EnumMediaStreams(p,a,b) (p)->lpVtbl->EnumMediaStreams(p,a,b) -#define IAMMultiMediaStream_GetState(p,a) (p)->lpVtbl->GetState(p,a) -#define IAMMultiMediaStream_SetState(p,a) (p)->lpVtbl->SetState(p,a) -#define IAMMultiMediaStream_GetTime(p,a) (p)->lpVtbl->GetTime(p,a) -#define IAMMultiMediaStream_GetDuration(p,a) (p)->lpVtbl->GetDuration(p,a) -#define IAMMultiMediaStream_Seek(p,a) (p)->lpVtbl->Seek(p,a) -#define IAMMultiMediaStream_GetEndOfStreamEventHandle(p,a) (p)->lpVtbl->GetEndOfStreamEventHandle(p,a) -/*** IAMMultiMediaStream methods ***/ -#define IAMMultiMediaStream_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c) -#define IAMMultiMediaStream_GetFilterGraph(p,a) (p)->lpVtbl->GetFilterGraph(p,a) -#define IAMMultiMediaStream_GetFilter(p,a) (p)->lpVtbl->GetFilter(p,a) -#define IAMMultiMediaStream_AddMediaStream(p,a,b,c,d) (p)->lpVtbl->AddMediaStream(p,a,b,c,d) -#define IAMMultiMediaStream_OpenFile(p,a,b) (p)->lpVtbl->OpenFile(p,a,b) -#define IAMMultiMediaStream_OpenMoniker(p,a,b,c) (p)->lpVtbl->OpenMoniker(p,a,b,c) -#define IAMMultiMediaStream_Render(p,a) (p)->lpVtbl->Render(p,a) -#endif - -#endif - -HRESULT CALLBACK IAMMultiMediaStream_Initialize_Proxy( - IAMMultiMediaStream* This, - STREAM_TYPE StreamType, - DWORD dwFlags, - IGraphBuilder* pFilterGraph); -void __RPC_STUB IAMMultiMediaStream_Initialize_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMultiMediaStream_GetFilterGraph_Proxy( - IAMMultiMediaStream* This, - IGraphBuilder** ppGraphBuilder); -void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMultiMediaStream_GetFilter_Proxy( - IAMMultiMediaStream* This, - IMediaStreamFilter** ppFilter); -void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMultiMediaStream_AddMediaStream_Proxy( - IAMMultiMediaStream* This, - IUnknown* pStreamObject, - const MSPID* PurposeId, - DWORD dwFlags, - IMediaStream** ppNewStream); -void __RPC_STUB IAMMultiMediaStream_AddMediaStream_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMultiMediaStream_OpenFile_Proxy( - IAMMultiMediaStream* This, - LPCWSTR pszFileName, - DWORD dwFlags); -void __RPC_STUB IAMMultiMediaStream_OpenFile_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMultiMediaStream_OpenMoniker_Proxy( - IAMMultiMediaStream* This, - IBindCtx* pCtx, - IMoniker* pMoniker, - DWORD dwFlags); -void __RPC_STUB IAMMultiMediaStream_OpenMoniker_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMultiMediaStream_Render_Proxy( - IAMMultiMediaStream* This, - DWORD dwFlags); -void __RPC_STUB IAMMultiMediaStream_Render_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); - -#endif /* __IAMMultiMediaStream_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IAMMediaStream interface - */ -#ifndef __IAMMediaStream_INTERFACE_DEFINED__ -#define __IAMMediaStream_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); -#if defined(__cplusplus) && !defined(CINTERFACE) -interface IAMMediaStream : public IMediaStream -{ - virtual HRESULT STDMETHODCALLTYPE Initialize( - IUnknown* pSourceObject, - DWORD dwFlags, - REFMSPID PurposeId, - const STREAM_TYPE StreamType) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetState( - FILTER_STATE State) = 0; - - virtual HRESULT STDMETHODCALLTYPE JoinAMMultiMediaStream( - IAMMultiMediaStream* pAMMultiMediaStream) = 0; - - virtual HRESULT STDMETHODCALLTYPE JoinFilter( - IMediaStreamFilter* pMediaStreamFilter) = 0; - - virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( - IFilterGraph* pFilterGraph) = 0; - -}; -#else -typedef struct IAMMediaStreamVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IAMMediaStream* This, - REFIID riid, - void** ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IAMMediaStream* This); - - ULONG (STDMETHODCALLTYPE *Release)( - IAMMediaStream* This); - - /*** IMediaStream methods ***/ - HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( - IAMMediaStream* This, - IMultiMediaStream** ppMultiMediaStream); - - HRESULT (STDMETHODCALLTYPE *GetInformation)( - IAMMediaStream* This, - MSPID* pPurposeId, - STREAM_TYPE* pType); - - HRESULT (STDMETHODCALLTYPE *SetSameFormat)( - IAMMediaStream* This, - IMediaStream* pStreamThatHasDesiredFormat, - DWORD dwFlags); - - HRESULT (STDMETHODCALLTYPE *AllocateSample)( - IAMMediaStream* This, - DWORD dwFlags, - IStreamSample** ppSample); - - HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( - IAMMediaStream* This, - IStreamSample* pExistingSample, - DWORD dwFlags, - IStreamSample** ppNewSample); - - HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( - IAMMediaStream* This, - DWORD dwFlags); - - /*** IAMMediaStream methods ***/ - HRESULT (STDMETHODCALLTYPE *Initialize)( - IAMMediaStream* This, - IUnknown* pSourceObject, - DWORD dwFlags, - REFMSPID PurposeId, - const STREAM_TYPE StreamType); - - HRESULT (STDMETHODCALLTYPE *SetState)( - IAMMediaStream* This, - FILTER_STATE State); - - HRESULT (STDMETHODCALLTYPE *JoinAMMultiMediaStream)( - IAMMediaStream* This, - IAMMultiMediaStream* pAMMultiMediaStream); - - HRESULT (STDMETHODCALLTYPE *JoinFilter)( - IAMMediaStream* This, - IMediaStreamFilter* pMediaStreamFilter); - - HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( - IAMMediaStream* This, - IFilterGraph* pFilterGraph); - - END_INTERFACE -} IAMMediaStreamVtbl; -interface IAMMediaStream { - const IAMMediaStreamVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IAMMediaStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IAMMediaStream_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IAMMediaStream_Release(p) (p)->lpVtbl->Release(p) -/*** IMediaStream methods ***/ -#define IAMMediaStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a) -#define IAMMediaStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b) -#define IAMMediaStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b) -#define IAMMediaStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b) -#define IAMMediaStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c) -#define IAMMediaStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a) -/*** IAMMediaStream methods ***/ -#define IAMMediaStream_Initialize(p,a,b,c,d) (p)->lpVtbl->Initialize(p,a,b,c,d) -#define IAMMediaStream_SetState(p,a) (p)->lpVtbl->SetState(p,a) -#define IAMMediaStream_JoinAMMultiMediaStream(p,a) (p)->lpVtbl->JoinAMMultiMediaStream(p,a) -#define IAMMediaStream_JoinFilter(p,a) (p)->lpVtbl->JoinFilter(p,a) -#define IAMMediaStream_JoinFilterGraph(p,a) (p)->lpVtbl->JoinFilterGraph(p,a) -#endif - -#endif - -HRESULT CALLBACK IAMMediaStream_Initialize_Proxy( - IAMMediaStream* This, - IUnknown* pSourceObject, - DWORD dwFlags, - REFMSPID PurposeId, - const STREAM_TYPE StreamType); -void __RPC_STUB IAMMediaStream_Initialize_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaStream_SetState_Proxy( - IAMMediaStream* This, - FILTER_STATE State); -void __RPC_STUB IAMMediaStream_SetState_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaStream_JoinAMMultiMediaStream_Proxy( - IAMMediaStream* This, - IAMMultiMediaStream* pAMMultiMediaStream); -void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaStream_JoinFilter_Proxy( - IAMMediaStream* This, - IMediaStreamFilter* pMediaStreamFilter); -void __RPC_STUB IAMMediaStream_JoinFilter_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaStream_JoinFilterGraph_Proxy( - IAMMediaStream* This, - IFilterGraph* pFilterGraph); -void __RPC_STUB IAMMediaStream_JoinFilterGraph_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); - -#endif /* __IAMMediaStream_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IMediaStreamFilter interface - */ -#ifndef __IMediaStreamFilter_INTERFACE_DEFINED__ -#define __IMediaStreamFilter_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); -#if defined(__cplusplus) && !defined(CINTERFACE) -interface IMediaStreamFilter : public IBaseFilter -{ - virtual HRESULT STDMETHODCALLTYPE AddMediaStream( - IAMMediaStream* pAMMediaStream) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMediaStream( - REFMSPID idPurpose, - IMediaStream** ppMediaStream) = 0; - - virtual HRESULT STDMETHODCALLTYPE EnumMediaStreams( - long Index, - IMediaStream** ppMediaStream) = 0; - - virtual HRESULT STDMETHODCALLTYPE SupportSeeking( - BOOL bRenderer) = 0; - - virtual HRESULT STDMETHODCALLTYPE ReferenceTimeToStreamTime( - REFERENCE_TIME* pTime) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetCurrentStreamTime( - REFERENCE_TIME* pCurrentStreamTime) = 0; - - virtual HRESULT STDMETHODCALLTYPE WaitUntil( - REFERENCE_TIME WaitStreamTime) = 0; - - virtual HRESULT STDMETHODCALLTYPE Flush( - BOOL bCancelEOS) = 0; - - virtual HRESULT STDMETHODCALLTYPE EndOfStream( - ) = 0; - -}; -#else -typedef struct IMediaStreamFilterVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IMediaStreamFilter* This, - REFIID riid, - void** ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IMediaStreamFilter* This); - - ULONG (STDMETHODCALLTYPE *Release)( - IMediaStreamFilter* This); - - /*** IPersist methods ***/ - HRESULT (STDMETHODCALLTYPE *GetClassID)( - IMediaStreamFilter* This, - CLSID* pClassID); - - /*** IMediaFilter methods ***/ - HRESULT (STDMETHODCALLTYPE *Stop)( - IMediaStreamFilter* This); - - HRESULT (STDMETHODCALLTYPE *Pause)( - IMediaStreamFilter* This); - - HRESULT (STDMETHODCALLTYPE *Run)( - IMediaStreamFilter* This, - REFERENCE_TIME tStart); - - HRESULT (STDMETHODCALLTYPE *GetState)( - IMediaStreamFilter* This, - DWORD dwMilliSecsTimeout, - FILTER_STATE* State); - - HRESULT (STDMETHODCALLTYPE *SetSyncSource)( - IMediaStreamFilter* This, - IReferenceClock* pClock); - - HRESULT (STDMETHODCALLTYPE *GetSyncSource)( - IMediaStreamFilter* This, - IReferenceClock** pClock); - - /*** IBaseFilter methods ***/ - HRESULT (STDMETHODCALLTYPE *EnumPins)( - IMediaStreamFilter* This, - IEnumPins** ppEnum); - - HRESULT (STDMETHODCALLTYPE *FindPin)( - IMediaStreamFilter* This, - LPCWSTR Id, - IPin** ppPin); - - HRESULT (STDMETHODCALLTYPE *QueryFilterInfo)( - IMediaStreamFilter* This, - FILTER_INFO* pInfo); - - HRESULT (STDMETHODCALLTYPE *JoinFilterGraph)( - IMediaStreamFilter* This, - IFilterGraph* pGraph, - LPCWSTR pName); - - HRESULT (STDMETHODCALLTYPE *QueryVendorInfo)( - IMediaStreamFilter* This, - LPWSTR* pVendorInfo); - - /*** IMediaStreamFilter methods ***/ - HRESULT (STDMETHODCALLTYPE *AddMediaStream)( - IMediaStreamFilter* This, - IAMMediaStream* pAMMediaStream); - - HRESULT (STDMETHODCALLTYPE *GetMediaStream)( - IMediaStreamFilter* This, - REFMSPID idPurpose, - IMediaStream** ppMediaStream); - - HRESULT (STDMETHODCALLTYPE *EnumMediaStreams)( - IMediaStreamFilter* This, - long Index, - IMediaStream** ppMediaStream); - - HRESULT (STDMETHODCALLTYPE *SupportSeeking)( - IMediaStreamFilter* This, - BOOL bRenderer); - - HRESULT (STDMETHODCALLTYPE *ReferenceTimeToStreamTime)( - IMediaStreamFilter* This, - REFERENCE_TIME* pTime); - - HRESULT (STDMETHODCALLTYPE *GetCurrentStreamTime)( - IMediaStreamFilter* This, - REFERENCE_TIME* pCurrentStreamTime); - - HRESULT (STDMETHODCALLTYPE *WaitUntil)( - IMediaStreamFilter* This, - REFERENCE_TIME WaitStreamTime); - - HRESULT (STDMETHODCALLTYPE *Flush)( - IMediaStreamFilter* This, - BOOL bCancelEOS); - - HRESULT (STDMETHODCALLTYPE *EndOfStream)( - IMediaStreamFilter* This); - - END_INTERFACE -} IMediaStreamFilterVtbl; -interface IMediaStreamFilter { - const IMediaStreamFilterVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IMediaStreamFilter_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IMediaStreamFilter_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IMediaStreamFilter_Release(p) (p)->lpVtbl->Release(p) -/*** IPersist methods ***/ -#define IMediaStreamFilter_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a) -/*** IMediaFilter methods ***/ -#define IMediaStreamFilter_Stop(p) (p)->lpVtbl->Stop(p) -#define IMediaStreamFilter_Pause(p) (p)->lpVtbl->Pause(p) -#define IMediaStreamFilter_Run(p,a) (p)->lpVtbl->Run(p,a) -#define IMediaStreamFilter_GetState(p,a,b) (p)->lpVtbl->GetState(p,a,b) -#define IMediaStreamFilter_SetSyncSource(p,a) (p)->lpVtbl->SetSyncSource(p,a) -#define IMediaStreamFilter_GetSyncSource(p,a) (p)->lpVtbl->GetSyncSource(p,a) -/*** IBaseFilter methods ***/ -#define IMediaStreamFilter_EnumPins(p,a) (p)->lpVtbl->EnumPins(p,a) -#define IMediaStreamFilter_FindPin(p,a,b) (p)->lpVtbl->FindPin(p,a,b) -#define IMediaStreamFilter_QueryFilterInfo(p,a) (p)->lpVtbl->QueryFilterInfo(p,a) -#define IMediaStreamFilter_JoinFilterGraph(p,a,b) (p)->lpVtbl->JoinFilterGraph(p,a,b) -#define IMediaStreamFilter_QueryVendorInfo(p,a) (p)->lpVtbl->QueryVendorInfo(p,a) -/*** IMediaStreamFilter methods ***/ -#define IMediaStreamFilter_AddMediaStream(p,a) (p)->lpVtbl->AddMediaStream(p,a) -#define IMediaStreamFilter_GetMediaStream(p,a,b) (p)->lpVtbl->GetMediaStream(p,a,b) -#define IMediaStreamFilter_EnumMediaStreams(p,a,b) (p)->lpVtbl->EnumMediaStreams(p,a,b) -#define IMediaStreamFilter_SupportSeeking(p,a) (p)->lpVtbl->SupportSeeking(p,a) -#define IMediaStreamFilter_ReferenceTimeToStreamTime(p,a) (p)->lpVtbl->ReferenceTimeToStreamTime(p,a) -#define IMediaStreamFilter_GetCurrentStreamTime(p,a) (p)->lpVtbl->GetCurrentStreamTime(p,a) -#define IMediaStreamFilter_WaitUntil(p,a) (p)->lpVtbl->WaitUntil(p,a) -#define IMediaStreamFilter_Flush(p,a) (p)->lpVtbl->Flush(p,a) -#define IMediaStreamFilter_EndOfStream(p) (p)->lpVtbl->EndOfStream(p) -#endif - -#endif - -HRESULT CALLBACK IMediaStreamFilter_AddMediaStream_Proxy( - IMediaStreamFilter* This, - IAMMediaStream* pAMMediaStream); -void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_GetMediaStream_Proxy( - IMediaStreamFilter* This, - REFMSPID idPurpose, - IMediaStream** ppMediaStream); -void __RPC_STUB IMediaStreamFilter_GetMediaStream_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_EnumMediaStreams_Proxy( - IMediaStreamFilter* This, - long Index, - IMediaStream** ppMediaStream); -void __RPC_STUB IMediaStreamFilter_EnumMediaStreams_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_SupportSeeking_Proxy( - IMediaStreamFilter* This, - BOOL bRenderer); -void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy( - IMediaStreamFilter* This, - REFERENCE_TIME* pTime); -void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_GetCurrentStreamTime_Proxy( - IMediaStreamFilter* This, - REFERENCE_TIME* pCurrentStreamTime); -void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_WaitUntil_Proxy( - IMediaStreamFilter* This, - REFERENCE_TIME WaitStreamTime); -void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_Flush_Proxy( - IMediaStreamFilter* This, - BOOL bCancelEOS); -void __RPC_STUB IMediaStreamFilter_Flush_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IMediaStreamFilter_EndOfStream_Proxy( - IMediaStreamFilter* This); -void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); - -#endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */ - -#ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ -#define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__ -typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator; -#endif - -/***************************************************************************** - * IDirectDrawMediaSampleAllocator interface - */ -#ifndef __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ -#define __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); -#if defined(__cplusplus) && !defined(CINTERFACE) -interface IDirectDrawMediaSampleAllocator : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE GetDirectDraw( - IDirectDraw** ppDirectDraw) = 0; - -}; -#else -typedef struct IDirectDrawMediaSampleAllocatorVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDirectDrawMediaSampleAllocator* This, - REFIID riid, - void** ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IDirectDrawMediaSampleAllocator* This); - - ULONG (STDMETHODCALLTYPE *Release)( - IDirectDrawMediaSampleAllocator* This); - - /*** IDirectDrawMediaSampleAllocator methods ***/ - HRESULT (STDMETHODCALLTYPE *GetDirectDraw)( - IDirectDrawMediaSampleAllocator* This, - IDirectDraw** ppDirectDraw); - - END_INTERFACE -} IDirectDrawMediaSampleAllocatorVtbl; -interface IDirectDrawMediaSampleAllocator { - const IDirectDrawMediaSampleAllocatorVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IDirectDrawMediaSampleAllocator_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirectDrawMediaSampleAllocator_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirectDrawMediaSampleAllocator_Release(p) (p)->lpVtbl->Release(p) -/*** IDirectDrawMediaSampleAllocator methods ***/ -#define IDirectDrawMediaSampleAllocator_GetDirectDraw(p,a) (p)->lpVtbl->GetDirectDraw(p,a) -#endif - -#endif - -HRESULT CALLBACK IDirectDrawMediaSampleAllocator_GetDirectDraw_Proxy( - IDirectDrawMediaSampleAllocator* This, - IDirectDraw** ppDirectDraw); -void __RPC_STUB IDirectDrawMediaSampleAllocator_GetDirectDraw_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); - -#endif /* __IDirectDrawMediaSampleAllocator_INTERFACE_DEFINED__ */ - -#ifndef __IDirectDrawMediaSample_FWD_DEFINED__ -#define __IDirectDrawMediaSample_FWD_DEFINED__ -typedef interface IDirectDrawMediaSample IDirectDrawMediaSample; -#endif - -/***************************************************************************** - * IDirectDrawMediaSample interface - */ -#ifndef __IDirectDrawMediaSample_INTERFACE_DEFINED__ -#define __IDirectDrawMediaSample_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); -#if defined(__cplusplus) && !defined(CINTERFACE) -interface IDirectDrawMediaSample : public IUnknown -{ - virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock( - IDirectDrawSurface** ppDirectDrawSurface, - RECT* pRect) = 0; - - virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer( - ) = 0; - -}; -#else -typedef struct IDirectDrawMediaSampleVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IDirectDrawMediaSample* This, - REFIID riid, - void** ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IDirectDrawMediaSample* This); - - ULONG (STDMETHODCALLTYPE *Release)( - IDirectDrawMediaSample* This); - - /*** IDirectDrawMediaSample methods ***/ - HRESULT (STDMETHODCALLTYPE *GetSurfaceAndReleaseLock)( - IDirectDrawMediaSample* This, - IDirectDrawSurface** ppDirectDrawSurface, - RECT* pRect); - - HRESULT (STDMETHODCALLTYPE *LockMediaSamplePointer)( - IDirectDrawMediaSample* This); - - END_INTERFACE -} IDirectDrawMediaSampleVtbl; -interface IDirectDrawMediaSample { - const IDirectDrawMediaSampleVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IDirectDrawMediaSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IDirectDrawMediaSample_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IDirectDrawMediaSample_Release(p) (p)->lpVtbl->Release(p) -/*** IDirectDrawMediaSample methods ***/ -#define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(p,a,b) (p)->lpVtbl->GetSurfaceAndReleaseLock(p,a,b) -#define IDirectDrawMediaSample_LockMediaSamplePointer(p) (p)->lpVtbl->LockMediaSamplePointer(p) -#endif - -#endif - -HRESULT CALLBACK IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Proxy( - IDirectDrawMediaSample* This, - IDirectDrawSurface** ppDirectDrawSurface, - RECT* pRect); -void __RPC_STUB IDirectDrawMediaSample_GetSurfaceAndReleaseLock_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IDirectDrawMediaSample_LockMediaSamplePointer_Proxy( - IDirectDrawMediaSample* This); -void __RPC_STUB IDirectDrawMediaSample_LockMediaSamplePointer_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); - -#endif /* __IDirectDrawMediaSample_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IAMMediaTypeStream interface - */ -#ifndef __IAMMediaTypeStream_INTERFACE_DEFINED__ -#define __IAMMediaTypeStream_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); -#if defined(__cplusplus) && !defined(CINTERFACE) -interface IAMMediaTypeStream : public IMediaStream -{ - virtual HRESULT STDMETHODCALLTYPE GetFormat( - AM_MEDIA_TYPE* pMediaType, - DWORD dwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetFormat( - AM_MEDIA_TYPE* pMediaType, - DWORD dwFlags) = 0; - - virtual HRESULT STDMETHODCALLTYPE CreateSample( - long lSampleSize, - BYTE* pbBuffer, - DWORD dwFlags, - IUnknown* pUnkOuter, - IAMMediaTypeSample** ppAMMediaTypeSample) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetStreamAllocatorRequirements( - ALLOCATOR_PROPERTIES* pProps) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetStreamAllocatorRequirements( - ALLOCATOR_PROPERTIES* pProps) = 0; - -}; -#else -typedef struct IAMMediaTypeStreamVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IAMMediaTypeStream* This, - REFIID riid, - void** ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IAMMediaTypeStream* This); - - ULONG (STDMETHODCALLTYPE *Release)( - IAMMediaTypeStream* This); - - /*** IMediaStream methods ***/ - HRESULT (STDMETHODCALLTYPE *GetMultiMediaStream)( - IAMMediaTypeStream* This, - IMultiMediaStream** ppMultiMediaStream); - - HRESULT (STDMETHODCALLTYPE *GetInformation)( - IAMMediaTypeStream* This, - MSPID* pPurposeId, - STREAM_TYPE* pType); - - HRESULT (STDMETHODCALLTYPE *SetSameFormat)( - IAMMediaTypeStream* This, - IMediaStream* pStreamThatHasDesiredFormat, - DWORD dwFlags); - - HRESULT (STDMETHODCALLTYPE *AllocateSample)( - IAMMediaTypeStream* This, - DWORD dwFlags, - IStreamSample** ppSample); - - HRESULT (STDMETHODCALLTYPE *CreateSharedSample)( - IAMMediaTypeStream* This, - IStreamSample* pExistingSample, - DWORD dwFlags, - IStreamSample** ppNewSample); - - HRESULT (STDMETHODCALLTYPE *SendEndOfStream)( - IAMMediaTypeStream* This, - DWORD dwFlags); - - /*** IAMMediaTypeStream methods ***/ - HRESULT (STDMETHODCALLTYPE *GetFormat)( - IAMMediaTypeStream* This, - AM_MEDIA_TYPE* pMediaType, - DWORD dwFlags); - - HRESULT (STDMETHODCALLTYPE *SetFormat)( - IAMMediaTypeStream* This, - AM_MEDIA_TYPE* pMediaType, - DWORD dwFlags); - - HRESULT (STDMETHODCALLTYPE *CreateSample)( - IAMMediaTypeStream* This, - long lSampleSize, - BYTE* pbBuffer, - DWORD dwFlags, - IUnknown* pUnkOuter, - IAMMediaTypeSample** ppAMMediaTypeSample); - - HRESULT (STDMETHODCALLTYPE *GetStreamAllocatorRequirements)( - IAMMediaTypeStream* This, - ALLOCATOR_PROPERTIES* pProps); - - HRESULT (STDMETHODCALLTYPE *SetStreamAllocatorRequirements)( - IAMMediaTypeStream* This, - ALLOCATOR_PROPERTIES* pProps); - - END_INTERFACE -} IAMMediaTypeStreamVtbl; -interface IAMMediaTypeStream { - const IAMMediaTypeStreamVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IAMMediaTypeStream_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IAMMediaTypeStream_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IAMMediaTypeStream_Release(p) (p)->lpVtbl->Release(p) -/*** IMediaStream methods ***/ -#define IAMMediaTypeStream_GetMultiMediaStream(p,a) (p)->lpVtbl->GetMultiMediaStream(p,a) -#define IAMMediaTypeStream_GetInformation(p,a,b) (p)->lpVtbl->GetInformation(p,a,b) -#define IAMMediaTypeStream_SetSameFormat(p,a,b) (p)->lpVtbl->SetSameFormat(p,a,b) -#define IAMMediaTypeStream_AllocateSample(p,a,b) (p)->lpVtbl->AllocateSample(p,a,b) -#define IAMMediaTypeStream_CreateSharedSample(p,a,b,c) (p)->lpVtbl->CreateSharedSample(p,a,b,c) -#define IAMMediaTypeStream_SendEndOfStream(p,a) (p)->lpVtbl->SendEndOfStream(p,a) -/*** IAMMediaTypeStream methods ***/ -#define IAMMediaTypeStream_GetFormat(p,a,b) (p)->lpVtbl->GetFormat(p,a,b) -#define IAMMediaTypeStream_SetFormat(p,a,b) (p)->lpVtbl->SetFormat(p,a,b) -#define IAMMediaTypeStream_CreateSample(p,a,b,c,d,e) (p)->lpVtbl->CreateSample(p,a,b,c,d,e) -#define IAMMediaTypeStream_GetStreamAllocatorRequirements(p,a) (p)->lpVtbl->GetStreamAllocatorRequirements(p,a) -#define IAMMediaTypeStream_SetStreamAllocatorRequirements(p,a) (p)->lpVtbl->SetStreamAllocatorRequirements(p,a) -#endif - -#endif - -HRESULT CALLBACK IAMMediaTypeStream_GetFormat_Proxy( - IAMMediaTypeStream* This, - AM_MEDIA_TYPE* pMediaType, - DWORD dwFlags); -void __RPC_STUB IAMMediaTypeStream_GetFormat_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeStream_SetFormat_Proxy( - IAMMediaTypeStream* This, - AM_MEDIA_TYPE* pMediaType, - DWORD dwFlags); -void __RPC_STUB IAMMediaTypeStream_SetFormat_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeStream_CreateSample_Proxy( - IAMMediaTypeStream* This, - long lSampleSize, - BYTE* pbBuffer, - DWORD dwFlags, - IUnknown* pUnkOuter, - IAMMediaTypeSample** ppAMMediaTypeSample); -void __RPC_STUB IAMMediaTypeStream_CreateSample_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy( - IAMMediaTypeStream* This, - ALLOCATOR_PROPERTIES* pProps); -void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeStream_SetStreamAllocatorRequirements_Proxy( - IAMMediaTypeStream* This, - ALLOCATOR_PROPERTIES* pProps); -void __RPC_STUB IAMMediaTypeStream_SetStreamAllocatorRequirements_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); - -#endif /* __IAMMediaTypeStream_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * IAMMediaTypeSample interface - */ -#ifndef __IAMMediaTypeSample_INTERFACE_DEFINED__ -#define __IAMMediaTypeSample_INTERFACE_DEFINED__ - -DEFINE_GUID(IID_IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d); -#if defined(__cplusplus) && !defined(CINTERFACE) -interface IAMMediaTypeSample : public IStreamSample -{ - virtual HRESULT STDMETHODCALLTYPE SetPointer( - BYTE* pBuffer, - long lSize) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetPointer( - BYTE** ppBuffer) = 0; - - virtual long STDMETHODCALLTYPE GetSize( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetTime( - REFERENCE_TIME* pTimeStart, - REFERENCE_TIME* pTimeEnd) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetTime( - REFERENCE_TIME* pTimeStart, - REFERENCE_TIME* pTimeEnd) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( - BOOL bIsSyncPoint) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsPreroll( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetPreroll( - BOOL bIsPreroll) = 0; - - virtual long STDMETHODCALLTYPE GetActualDataLength( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( - long Len) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMediaType( - AM_MEDIA_TYPE** ppMediaType) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetMediaType( - AM_MEDIA_TYPE* pMediaType) = 0; - - virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( - ) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( - BOOL bDiscontinuity) = 0; - - virtual HRESULT STDMETHODCALLTYPE GetMediaTime( - LONGLONG* pTimeStart, - LONGLONG* pTimeEnd) = 0; - - virtual HRESULT STDMETHODCALLTYPE SetMediaTime( - LONGLONG* pTimeStart, - LONGLONG* pTimeEnd) = 0; - -}; -#else -typedef struct IAMMediaTypeSampleVtbl { - BEGIN_INTERFACE - - /*** IUnknown methods ***/ - HRESULT (STDMETHODCALLTYPE *QueryInterface)( - IAMMediaTypeSample* This, - REFIID riid, - void** ppvObject); - - ULONG (STDMETHODCALLTYPE *AddRef)( - IAMMediaTypeSample* This); - - ULONG (STDMETHODCALLTYPE *Release)( - IAMMediaTypeSample* This); - - /*** IStreamSample methods ***/ - HRESULT (STDMETHODCALLTYPE *GetMediaStream)( - IAMMediaTypeSample* This, - IMediaStream** ppMediaStream); - - HRESULT (STDMETHODCALLTYPE *GetSampleTimes)( - IAMMediaTypeSample* This, - STREAM_TIME* pStartTime, - STREAM_TIME* pEndTime, - STREAM_TIME* pCurrentTime); - - HRESULT (STDMETHODCALLTYPE *SetSampleTimes)( - IAMMediaTypeSample* This, - const STREAM_TIME* pStartTime, - const STREAM_TIME* pEndTime); - - HRESULT (STDMETHODCALLTYPE *Update)( - IAMMediaTypeSample* This, - DWORD dwFlags, - HANDLE hEvent, - PAPCFUNC pfnAPC, - DWORD dwAPCData); - - HRESULT (STDMETHODCALLTYPE *CompletionStatus)( - IAMMediaTypeSample* This, - DWORD dwFlags, - DWORD dwMilliseconds); - - /*** IAMMediaTypeSample methods ***/ - HRESULT (STDMETHODCALLTYPE *SetPointer)( - IAMMediaTypeSample* This, - BYTE* pBuffer, - long lSize); - - HRESULT (STDMETHODCALLTYPE *GetPointer)( - IAMMediaTypeSample* This, - BYTE** ppBuffer); - - long (STDMETHODCALLTYPE *GetSize)( - IAMMediaTypeSample* This); - - HRESULT (STDMETHODCALLTYPE *GetTime)( - IAMMediaTypeSample* This, - REFERENCE_TIME* pTimeStart, - REFERENCE_TIME* pTimeEnd); - - HRESULT (STDMETHODCALLTYPE *SetTime)( - IAMMediaTypeSample* This, - REFERENCE_TIME* pTimeStart, - REFERENCE_TIME* pTimeEnd); - - HRESULT (STDMETHODCALLTYPE *IsSyncPoint)( - IAMMediaTypeSample* This); - - HRESULT (STDMETHODCALLTYPE *SetSyncPoint)( - IAMMediaTypeSample* This, - BOOL bIsSyncPoint); - - HRESULT (STDMETHODCALLTYPE *IsPreroll)( - IAMMediaTypeSample* This); - - HRESULT (STDMETHODCALLTYPE *SetPreroll)( - IAMMediaTypeSample* This, - BOOL bIsPreroll); - - long (STDMETHODCALLTYPE *GetActualDataLength)( - IAMMediaTypeSample* This); - - HRESULT (STDMETHODCALLTYPE *SetActualDataLength)( - IAMMediaTypeSample* This, - long Len); - - HRESULT (STDMETHODCALLTYPE *GetMediaType)( - IAMMediaTypeSample* This, - AM_MEDIA_TYPE** ppMediaType); - - HRESULT (STDMETHODCALLTYPE *SetMediaType)( - IAMMediaTypeSample* This, - AM_MEDIA_TYPE* pMediaType); - - HRESULT (STDMETHODCALLTYPE *IsDiscontinuity)( - IAMMediaTypeSample* This); - - HRESULT (STDMETHODCALLTYPE *SetDiscontinuity)( - IAMMediaTypeSample* This, - BOOL bDiscontinuity); - - HRESULT (STDMETHODCALLTYPE *GetMediaTime)( - IAMMediaTypeSample* This, - LONGLONG* pTimeStart, - LONGLONG* pTimeEnd); - - HRESULT (STDMETHODCALLTYPE *SetMediaTime)( - IAMMediaTypeSample* This, - LONGLONG* pTimeStart, - LONGLONG* pTimeEnd); - - END_INTERFACE -} IAMMediaTypeSampleVtbl; -interface IAMMediaTypeSample { - const IAMMediaTypeSampleVtbl* lpVtbl; -}; - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IAMMediaTypeSample_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IAMMediaTypeSample_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IAMMediaTypeSample_Release(p) (p)->lpVtbl->Release(p) -/*** IStreamSample methods ***/ -#define IAMMediaTypeSample_GetMediaStream(p,a) (p)->lpVtbl->GetMediaStream(p,a) -#define IAMMediaTypeSample_GetSampleTimes(p,a,b,c) (p)->lpVtbl->GetSampleTimes(p,a,b,c) -#define IAMMediaTypeSample_SetSampleTimes(p,a,b) (p)->lpVtbl->SetSampleTimes(p,a,b) -#define IAMMediaTypeSample_Update(p,a,b,c,d) (p)->lpVtbl->Update(p,a,b,c,d) -#define IAMMediaTypeSample_CompletionStatus(p,a,b) (p)->lpVtbl->CompletionStatus(p,a,b) -/*** IAMMediaTypeSample methods ***/ -#define IAMMediaTypeSample_SetPointer(p,a,b) (p)->lpVtbl->SetPointer(p,a,b) -#define IAMMediaTypeSample_GetPointer(p,a) (p)->lpVtbl->GetPointer(p,a) -#define IAMMediaTypeSample_GetSize(p) (p)->lpVtbl->GetSize(p) -#define IAMMediaTypeSample_GetTime(p,a,b) (p)->lpVtbl->GetTime(p,a,b) -#define IAMMediaTypeSample_SetTime(p,a,b) (p)->lpVtbl->SetTime(p,a,b) -#define IAMMediaTypeSample_IsSyncPoint(p) (p)->lpVtbl->IsSyncPoint(p) -#define IAMMediaTypeSample_SetSyncPoint(p,a) (p)->lpVtbl->SetSyncPoint(p,a) -#define IAMMediaTypeSample_IsPreroll(p) (p)->lpVtbl->IsPreroll(p) -#define IAMMediaTypeSample_SetPreroll(p,a) (p)->lpVtbl->SetPreroll(p,a) -#define IAMMediaTypeSample_GetActualDataLength(p) (p)->lpVtbl->GetActualDataLength(p) -#define IAMMediaTypeSample_SetActualDataLength(p,a) (p)->lpVtbl->SetActualDataLength(p,a) -#define IAMMediaTypeSample_GetMediaType(p,a) (p)->lpVtbl->GetMediaType(p,a) -#define IAMMediaTypeSample_SetMediaType(p,a) (p)->lpVtbl->SetMediaType(p,a) -#define IAMMediaTypeSample_IsDiscontinuity(p) (p)->lpVtbl->IsDiscontinuity(p) -#define IAMMediaTypeSample_SetDiscontinuity(p,a) (p)->lpVtbl->SetDiscontinuity(p,a) -#define IAMMediaTypeSample_GetMediaTime(p,a,b) (p)->lpVtbl->GetMediaTime(p,a,b) -#define IAMMediaTypeSample_SetMediaTime(p,a,b) (p)->lpVtbl->SetMediaTime(p,a,b) -#endif - -#endif - -HRESULT CALLBACK IAMMediaTypeSample_SetPointer_Proxy( - IAMMediaTypeSample* This, - BYTE* pBuffer, - long lSize); -void __RPC_STUB IAMMediaTypeSample_SetPointer_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_GetPointer_Proxy( - IAMMediaTypeSample* This, - BYTE** ppBuffer); -void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -long CALLBACK IAMMediaTypeSample_GetSize_Proxy( - IAMMediaTypeSample* This); -void __RPC_STUB IAMMediaTypeSample_GetSize_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_GetTime_Proxy( - IAMMediaTypeSample* This, - REFERENCE_TIME* pTimeStart, - REFERENCE_TIME* pTimeEnd); -void __RPC_STUB IAMMediaTypeSample_GetTime_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_SetTime_Proxy( - IAMMediaTypeSample* This, - REFERENCE_TIME* pTimeStart, - REFERENCE_TIME* pTimeEnd); -void __RPC_STUB IAMMediaTypeSample_SetTime_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_IsSyncPoint_Proxy( - IAMMediaTypeSample* This); -void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_SetSyncPoint_Proxy( - IAMMediaTypeSample* This, - BOOL bIsSyncPoint); -void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_IsPreroll_Proxy( - IAMMediaTypeSample* This); -void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_SetPreroll_Proxy( - IAMMediaTypeSample* This, - BOOL bIsPreroll); -void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -long CALLBACK IAMMediaTypeSample_GetActualDataLength_Proxy( - IAMMediaTypeSample* This); -void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_SetActualDataLength_Proxy( - IAMMediaTypeSample* This, - long Len); -void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_GetMediaType_Proxy( - IAMMediaTypeSample* This, - AM_MEDIA_TYPE** ppMediaType); -void __RPC_STUB IAMMediaTypeSample_GetMediaType_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_SetMediaType_Proxy( - IAMMediaTypeSample* This, - AM_MEDIA_TYPE* pMediaType); -void __RPC_STUB IAMMediaTypeSample_SetMediaType_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_IsDiscontinuity_Proxy( - IAMMediaTypeSample* This); -void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_SetDiscontinuity_Proxy( - IAMMediaTypeSample* This, - BOOL bDiscontinuity); -void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_GetMediaTime_Proxy( - IAMMediaTypeSample* This, - LONGLONG* pTimeStart, - LONGLONG* pTimeEnd); -void __RPC_STUB IAMMediaTypeSample_GetMediaTime_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); -HRESULT CALLBACK IAMMediaTypeSample_SetMediaTime_Proxy( - IAMMediaTypeSample* This, - LONGLONG* pTimeStart, - LONGLONG* pTimeEnd); -void __RPC_STUB IAMMediaTypeSample_SetMediaTime_Stub( - IRpcStubBuffer* This, - IRpcChannelBuffer* pRpcChannelBuffer, - PRPC_MESSAGE pRpcMessage, - DWORD* pdwStubPhase); - -#endif /* __IAMMediaTypeSample_INTERFACE_DEFINED__ */ - -/***************************************************************************** - * AMMultiMediaStream coclass - */ - -DEFINE_GUID(CLSID_AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45); - -#ifndef __IDirectShowStream_FWD_DEFINED__ -#define __IDirectShowStream_FWD_DEFINED__ -typedef interface IDirectShowStream IDirectShowStream; -#endif - -DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); -DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); -DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45); -DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d); -/* Begin additional prototypes for all interfaces */ - - -/* End additional prototypes */ - -#ifdef __cplusplus -} -#endif -#endif /* __WIDL_INCLUDE_PSDK_AMSTREAM_H */ diff --git a/reactos/include/psdk/amstream.idl b/reactos/include/psdk/amstream.idl deleted file mode 100644 index 1433f7a5102..00000000000 --- a/reactos/include/psdk/amstream.idl +++ /dev/null @@ -1,319 +0,0 @@ -/* - * 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"; -import "strmif.idl"; - -cpp_quote("#include ") -cpp_quote("#include ") -cpp_quote("#include ") -cpp_quote("#include ") -cpp_quote("#include ") - -cpp_quote("#if 0") -interface IDirectDraw; -interface IDirectDrawSurface; -cpp_quote("#endif") - -interface IAMMultiMediaStream; -interface IAMMediaStream; -interface IMediaStreamFilter; -interface IAMMediaTypeStream; -interface IAMMediaTypeSample; - -enum { - AMMSF_NOGRAPHTHREAD = 0x00000001 -}; - -enum { - AMMSF_ADDDEFAULTRENDERER = 0x00000001, - AMMSF_CREATEPEER = 0x00000002, - AMMSF_STOPIFNOSAMPLES = 0x00000004, - AMMSF_NOSTALL = 0x00000008 -}; - -enum { - AMMSF_RENDERTYPEMASK = 0x00000003, - AMMSF_RENDERTOEXISTING = 0x00000000, - AMMSF_RENDERALLSTREAMS = 0x00000001, - AMMSF_NORENDER = 0x00000002, - AMMSF_NOCLOCK = 0x00000004, - AMMSF_RUN = 0x00000008 -}; - - -typedef [v1_enum] enum { - Disabled = 0, - ReadData = 1, - RenderData = 2 -} OUTPUT_STATE; - -/* -[ -object, -uuid(7DB01C96-C0C3-11d0-8FF1-00C04FD9189D), -dual, -helpstring("IDirectShowStream Interface"), -pointer_default(unique) -] -interface IDirectShowStream : IDispatch -{ - [propget, id(1), helpstring("property FileName")] HRESULT FileName([out, retval] BSTR *pVal); - [propput, id(1), helpstring("property FileName")] HRESULT FileName([in] BSTR newVal); - [propget, id(2), helpstring("property Video")] HRESULT Video([out, retval] OUTPUT_STATE *pVal); - [propput, id(2), helpstring("propetry Video")] HRESULT Video([in] OUTPUT_STATE newVal); - [propget, id(3), helpstring("property Audio")] HRESULT Audio([out, retval] OUTPUT_STATE *pVal); - [propput, id(3), helpstring("propetry Audio")] HRESULT Audio([in] OUTPUT_STATE newVal); -}; -*/ - -[ -object, -uuid(BEBE595C-9A6F-11d0-8FDE-00C04FD9189D), -pointer_default(unique) -] -interface IAMMultiMediaStream : IMultiMediaStream -{ - HRESULT Initialize( - [in] STREAM_TYPE StreamType, - [in] DWORD dwFlags, - [in, optional] IGraphBuilder *pFilterGraph); - - HRESULT GetFilterGraph( - [out] IGraphBuilder **ppGraphBuilder); - - HRESULT GetFilter( - [out] IMediaStreamFilter **ppFilter); - - HRESULT AddMediaStream( - [in, optional] IUnknown *pStreamObject, - [in, optional] const MSPID *PurposeId, - [in] DWORD dwFlags, - [out, optional] IMediaStream **ppNewStream); - - HRESULT OpenFile( - [in] LPCWSTR pszFileName, - [in] DWORD dwFlags); - - HRESULT OpenMoniker( - [in] IBindCtx *pCtx, - [in] IMoniker *pMoniker, - [in] DWORD dwFlags); - - HRESULT Render( - [in] DWORD dwFlags); -} - - -[ -object, -uuid(BEBE595D-9A6F-11d0-8FDE-00C04FD9189D), -pointer_default(unique) -] -interface IAMMediaStream : IMediaStream -{ - HRESULT Initialize( - [in, optional] IUnknown *pSourceObject, - [in] DWORD dwFlags, - [in] REFMSPID PurposeId, - [in] const STREAM_TYPE StreamType); - - HRESULT SetState( - [in] FILTER_STATE State); - - HRESULT JoinAMMultiMediaStream( - [in] IAMMultiMediaStream *pAMMultiMediaStream); - - HRESULT JoinFilter( - [in] IMediaStreamFilter *pMediaStreamFilter); - - HRESULT JoinFilterGraph( - [in] IFilterGraph *pFilterGraph); -} - - -[ -object, -local, -uuid(BEBE595E-9A6F-11d0-8FDE-00C04FD9189D), -pointer_default(unique) -] -interface IMediaStreamFilter : IBaseFilter -{ - HRESULT AddMediaStream( - [in] IAMMediaStream *pAMMediaStream); - - HRESULT GetMediaStream( - [in] REFMSPID idPurpose, - [out] IMediaStream **ppMediaStream); - - HRESULT EnumMediaStreams( - [in] long Index, - [out] IMediaStream **ppMediaStream); - - HRESULT SupportSeeking( - [in] BOOL bRenderer); - - HRESULT ReferenceTimeToStreamTime( - [in] [out] REFERENCE_TIME *pTime); - - HRESULT GetCurrentStreamTime( - [out] REFERENCE_TIME *pCurrentStreamTime); - - HRESULT WaitUntil( - [in] REFERENCE_TIME WaitStreamTime); - - HRESULT Flush( - [in] BOOL bCancelEOS); - - HRESULT EndOfStream(); -} - - -[ -object, -local, -uuid(AB6B4AFC-F6E4-11d0-900D-00C04FD9189D), -pointer_default(unique) -] -interface IDirectDrawMediaSampleAllocator : IUnknown -{ - HRESULT GetDirectDraw(IDirectDraw **ppDirectDraw); -} - - -[ -object, -local, -uuid(AB6B4AFE-F6E4-11d0-900D-00C04FD9189D), -pointer_default(unique) -] -interface IDirectDrawMediaSample : IUnknown -{ - HRESULT GetSurfaceAndReleaseLock( - [out] IDirectDrawSurface **ppDirectDrawSurface, - [out] RECT * pRect); - - HRESULT LockMediaSamplePointer(void); -} - - -[ -object, -local, -uuid(AB6B4AFA-F6E4-11d0-900D-00C04FD9189D), -pointer_default(unique) -] - -interface IAMMediaTypeStream : IMediaStream -{ - HRESULT GetFormat( - [out] AM_MEDIA_TYPE * pMediaType, - [in] DWORD dwFlags); - - HRESULT SetFormat( - [in] AM_MEDIA_TYPE * pMediaType, - [in] DWORD dwFlags); - - HRESULT CreateSample( - [in] long lSampleSize, - [in, optional] BYTE * pbBuffer, - [in] DWORD dwFlags, - [in, optional] IUnknown *pUnkOuter, - [out] IAMMediaTypeSample ** ppAMMediaTypeSample); - - HRESULT GetStreamAllocatorRequirements( - [out] ALLOCATOR_PROPERTIES *pProps); - - HRESULT SetStreamAllocatorRequirements( - [in] ALLOCATOR_PROPERTIES *pProps); -} - - -[ -object, -local, -uuid(AB6B4AFB-F6E4-11d0-900D-00C04FD9189D), -pointer_default(unique) -] -interface IAMMediaTypeSample : IStreamSample -{ - HRESULT SetPointer( - [in] BYTE *pBuffer, - [in] long lSize); - - HRESULT GetPointer( - [out] BYTE ** ppBuffer); - - long GetSize(void); - - HRESULT GetTime( - [out] REFERENCE_TIME * pTimeStart, - [out] REFERENCE_TIME * pTimeEnd); - - HRESULT SetTime( - [in] REFERENCE_TIME * pTimeStart, - [in] REFERENCE_TIME * pTimeEnd); - - HRESULT IsSyncPoint(void); - - HRESULT SetSyncPoint( - BOOL bIsSyncPoint); - - HRESULT IsPreroll(void); - - HRESULT SetPreroll( - BOOL bIsPreroll); - - long GetActualDataLength(void); - - HRESULT SetActualDataLength(long Len); - - HRESULT GetMediaType( - AM_MEDIA_TYPE **ppMediaType); - - HRESULT SetMediaType( - AM_MEDIA_TYPE *pMediaType); - - HRESULT IsDiscontinuity(void); - - HRESULT SetDiscontinuity( - BOOL bDiscontinuity); - - HRESULT GetMediaTime( - [out] LONGLONG * pTimeStart, - [out] LONGLONG * pTimeEnd); - - HRESULT SetMediaTime( - [in] LONGLONG * pTimeStart, - [in] LONGLONG * pTimeEnd); -} - -[ - uuid(49C47CE5-9BA4-11d0-8212-00C04FC32C45) -] -coclass AMMultiMediaStream -{ - [default] dispinterface IDirectShowStream; -} - -cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") -cpp_quote("DEFINE_GUID(CLSID_AMAudioStream, 0x8496e040, 0xaf4c, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") -cpp_quote("DEFINE_GUID(CLSID_AMAudioData, 0xf2468580, 0xaf8a, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") -cpp_quote("DEFINE_GUID(CLSID_AMMediaTypeStream, 0xcf0f2f7c, 0xf7bf, 0x11d0, 0x90, 0x0d, 0x00, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);") diff --git a/reactos/include/psdk/amvideo.idl b/reactos/include/psdk/amvideo.idl deleted file mode 100644 index c63275b621c..00000000000 --- a/reactos/include/psdk/amvideo.idl +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Copyright (C) 2003 Robert Shearman - * - * 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 "objidl.idl"; - -/* trick widl into thinking that it knows the DirectDraw types - * as there is no IDL file for them (yet) */ -cpp_quote("#if 0") -typedef void * LPDIRECTDRAW; -typedef void DDSURFACEDESC,DDCAPS; -typedef DWORD RGBQUAD; -typedef LONGLONG REFERENCE_TIME; -typedef struct -{ - DWORD biSize; - LONG biWidth; - LONG biHeight; - WORD biPlanes; - WORD biBitCount; - DWORD biCompression; - DWORD biSizeImage; - LONG biXPelsPerMeter; - LONG biYPelsPerMeter; - DWORD biClrUsed; - DWORD biClrImportant; -} BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER; -cpp_quote("#endif") - -cpp_quote("#include ") - -cpp_quote("#define AMDDS_NONE 0x00") -cpp_quote("#define AMDDS_DCIPS 0x01") -cpp_quote("#define AMDDS_PS 0x02") -cpp_quote("#define AMDDS_RGBOVR 0x04") -cpp_quote("#define AMDDS_YUVOVR 0x08") -cpp_quote("#define AMDDS_RGBOFF 0x10") -cpp_quote("#define AMDDS_YUVOFF 0x20") -cpp_quote("#define AMDDS_RGBFLP 0x40") -cpp_quote("#define AMDDS_YUVFLP 0x80") -cpp_quote("#define AMDDS_ALL 0xFF") -cpp_quote("#define AMDDS_DEFAULT AMDDS_ALL") - -cpp_quote("#define AMDDS_YUV (AMDDS_YUVOFF | AMDDS_YUVOVR | AMDDS_YUVFLP)") -cpp_quote("#define AMDDS_RGB (AMDDS_RGBOFF | AMDDS_RGBOVR | AMDDS_RGBFLP)") -cpp_quote("#define AMDSS_PRIMARY (AMDDS_DCIPS | AMDDS_PS)") - -[ - object, - pointer_default(unique) -] -interface IDirectDrawVideo : IUnknown -{ - HRESULT GetSwitches([out] DWORD * pSwitches); - HRESULT SetSwitches([in] DWORD Switches); - HRESULT GetCaps([out] DDCAPS * pCaps); - HRESULT GetEmulatedCaps([out] DDCAPS *pCaps); - HRESULT GetSurfaceDesc([out] DDSURFACEDESC * pSurfaceDesc); - HRESULT GetFourCCCodes([out] DWORD * pCount, [out] DWORD * pCodes); - HRESULT SetDirectDraw([in] LPDIRECTDRAW pDirectDraw); - HRESULT GetDirectDraw([out] LPDIRECTDRAW * ppDirectDraw); - HRESULT GetSurfaceType([out] DWORD * pSurfaceType); - HRESULT SetDefault(); - HRESULT UseScanLine([in] long UseScanLine); - HRESULT CanUseScanLine([out] long * UseScanLine); - HRESULT UseOverlayStretch([in] long UseOverlayStretch); - HRESULT CanUseOverlayStretch([out] long * UseOverlayStretch); - HRESULT UseWhenFullScreen([in] long UseWhenFullScreen); - HRESULT WillUseFullScreen([out] long * UseWhenFullScreen); -} - -[ - object, - pointer_default(unique) -] -interface IQualProp : IUnknown -{ - [propget] HRESULT FramesDroppedInRenderer([out] int * pcFrames); - [propget] HRESULT FramesDrawn([out] int * pcFramesDrawn); - [propget] HRESULT AvgFrameRate([out] int * piAvgFrameRate); - [propget] HRESULT Jitter([out] int * iJitter); - [propget] HRESULT AvgSyncOffset([out] int * piAvg); - [propget] HRESULT DevSyncOffset([out] int * piDev); -} - -[ - object, - pointer_default(unique) -] -interface IFullScreenVideo : IUnknown -{ - HRESULT CountModes([out] long * pModes); - HRESULT GetModeInfo([in] long Mode, [out] long * pWidth, [out] long * pHeight, [out] long * pDepth); - HRESULT GetCurrentMode([out] long * pMode); - HRESULT IsModeAvailable([in] long Mode); - HRESULT IsModeEnabled([in] long Mode); - HRESULT SetEnabled([in] long Mode, [in] long bEnabled); - HRESULT GetClipFactor([out] long * pClipFactor); - HRESULT SetClipFactor([in] long ClipFactor); - HRESULT SetMessageDrain([in] HWND hwnd); - HRESULT GetMessageDrain([out] HWND * hwnd); - HRESULT SetMonitor([in] long Monitor); - HRESULT GetMonitor([out] long * Monitor); - HRESULT HideOnDeactivate([in] long Hide); - HRESULT IsHideOnDeactivate(); - HRESULT SetCaption([in] BSTR strCaption); - HRESULT GetCaption([out] BSTR * pstrCaption); - HRESULT SetDefault(); -} - -[ - object, - pointer_default(unique) -] -interface IFullScreenVideoEx : IFullScreenVideo -{ - HRESULT SetAcceleratorTable([in] HWND hwnd, [in] HACCEL hAccel); - HRESULT GetAcceleratorTable([out] HWND * phwnd, [out] HACCEL * phAccel); - HRESULT KeepPixelAspectRatio([in] long KeepAspect); - /* FIXME: not sure is this next method is an [out] */ - HRESULT IsKeepPixelAspectRatio([out] long * pKeepAspect); -} - -[ - object, - pointer_default(unique) -] -interface IBaseVideoMixer : IUnknown -{ - HRESULT SetLeadPin([in] int iPin); - HRESULT GetLeadPin([out] int * piPin); - HRESULT GetInputPinCount([out] int * piPinCount); - HRESULT IsUsingClock([out] int * pbValue); - HRESULT SetUsingClock([in] int bValue); - HRESULT GetClockPeriod([out] int * pbValue); - HRESULT SetClockPeriod([in] int bValue); -} - -#define iPALETTE_COLORS 256 -#define iMASK_COLORS 3 - -cpp_quote("#define iPALETTE_COLORS 256") -cpp_quote("#define iEGA_COLORS 16") -cpp_quote("#define iMASK_COLORS 3") -cpp_quote("#define iTRUECOLOR 16") -cpp_quote("#define iRED 0") -cpp_quote("#define iGREEN 1") -cpp_quote("#define iBLUE 2") -cpp_quote("#define iPALETTE 8") -cpp_quote("#define iMAXBITS 8") - -typedef struct tag_TRUECOLORINFO -{ - DWORD dwBitMasks[iMASK_COLORS]; - RGBQUAD bmiColors[iPALETTE_COLORS]; -} TRUECOLORINFO; - -typedef struct tagVIDEOINFOHEADER -{ - RECT rcSource; - RECT rcTarget; - DWORD dwBitRate; - DWORD dwBitErrorRate; - REFERENCE_TIME AvgTimePerFrame; - - BITMAPINFOHEADER bmiHeader; -} VIDEOINFOHEADER; - -typedef struct tagVIDEOINFO -{ - RECT rcSource; - RECT rcTarget; - DWORD dwBitRate; - DWORD dwBitErrorRate; - REFERENCE_TIME AvgTimePerFrame; - - BITMAPINFOHEADER bmiHeader; - - union - { - RGBQUAD bmiColors[iPALETTE_COLORS]; - DWORD dwBitMasks[iMASK_COLORS]; - TRUECOLORINFO TrueColorInfo; - }; -} VIDEOINFO; - -typedef struct tagMPEG1VIDEOINFO -{ - VIDEOINFOHEADER hdr; - DWORD dwStartTimeCode; - DWORD cbSequenceHeader; - BYTE bSequenceHeader[1]; -} MPEG1VIDEOINFO; - -cpp_quote("#define MAX_SIZE_MPEG1_SEQUENCE_INFO 140") -cpp_quote("#define MPEG1_SEQUENCE_INFO(pv) ((const BYTE *)(pv)->bSequenceHeader)") - -typedef struct tagAnalogVideoInfo -{ - RECT rcSource; - RECT rcTarget; - DWORD dwActiveWidth; - DWORD dwActiveHeight; - REFERENCE_TIME AvgTimePerFrame; -} ANALOGVIDEOINFO; - -typedef enum -{ - AM_PROPERTY_FRAMESTEP_STEP = 0x01, - AM_PROPERTY_FRAMESTEP_CANCEL = 0x02, - AM_PROPERTY_FRAMESTEP_CANSTEP = 0x03, - AM_PROPERTY_FRAMESTEP_CANSTEPMULTIPLE = 0x04 -} AM_PROPERTY_FRAMESTEP; - -typedef struct _AM_FRAMESTEP_STEP -{ - DWORD dwFramesToStep; -} AM_FRAMESTEP_STEP;