/*** Autogenerated by WIDL 1.5.25 from direct-x/include/amstream.idl - Do not edit ***/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __amstream_h__
#define __amstream_h__
/* Forward declarations */
#ifndef __IDirectShowStream_FWD_DEFINED__
#define __IDirectShowStream_FWD_DEFINED__
typedef interface IDirectShowStream IDirectShowStream;
#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 __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
#define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
#endif
#ifndef __IDirectDrawMediaSample_FWD_DEFINED__
#define __IDirectDrawMediaSample_FWD_DEFINED__
typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
#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
#ifndef __AMMultiMediaStream_FWD_DEFINED__
#define __AMMultiMediaStream_FWD_DEFINED__
#ifdef __cplusplus
typedef class AMMultiMediaStream AMMultiMediaStream;
#else
typedef struct AMMultiMediaStream AMMultiMediaStream;
#endif /* defined __cplusplus */
#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>
#include <mmstream.h>
#include <ddstream.h>
#include <austream.h>
#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 __WIDL_amstream_generated_name_00000000 {
Disabled = 0,
ReadData = 1,
RenderData = 2
} OUTPUT_STATE;
/*****************************************************************************
* IDirectShowStream interface
*/
#ifndef __IDirectShowStream_INTERFACE_DEFINED__
#define __IDirectShowStream_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7db01c96-c0c3-11d0-8ff1-00c04fd9189d")
IDirectShowStream : public IDispatch
{
virtual HRESULT STDMETHODCALLTYPE get_FileName(
BSTR *pVal) = 0;
virtual HRESULT STDMETHODCALLTYPE put_FileName(
BSTR newVal) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Video(
OUTPUT_STATE *pVal) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Video(
OUTPUT_STATE newVal) = 0;
virtual HRESULT STDMETHODCALLTYPE get_Audio(
OUTPUT_STATE *pVal) = 0;
virtual HRESULT STDMETHODCALLTYPE put_Audio(
OUTPUT_STATE newVal) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectShowStream, 0x7db01c96, 0xc0c3, 0x11d0, 0x8f,0xf1, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#else
typedef struct IDirectShowStreamVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectShowStream* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectShowStream* This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectShowStream* This);
/*** IDispatch methods ***/
HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
IDirectShowStream* This,
UINT *pctinfo);
HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
IDirectShowStream* This,
UINT iTInfo,
LCID lcid,
ITypeInfo **ppTInfo);
HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
IDirectShowStream* This,
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId);
HRESULT (STDMETHODCALLTYPE *Invoke)(
IDirectShowStream* This,
DISPID dispIdMember,
REFIID riid,
LCID lcid,
WORD wFlags,
DISPPARAMS *pDispParams,
VARIANT *pVarResult,
EXCEPINFO *pExcepInfo,
UINT *puArgErr);
/*** IDirectShowStream methods ***/
HRESULT (STDMETHODCALLTYPE *get_FileName)(
IDirectShowStream* This,
BSTR *pVal);
HRESULT (STDMETHODCALLTYPE *put_FileName)(
IDirectShowStream* This,
BSTR newVal);
HRESULT (STDMETHODCALLTYPE *get_Video)(
IDirectShowStream* This,
OUTPUT_STATE *pVal);
HRESULT (STDMETHODCALLTYPE *put_Video)(
IDirectShowStream* This,
OUTPUT_STATE newVal);
HRESULT (STDMETHODCALLTYPE *get_Audio)(
IDirectShowStream* This,
OUTPUT_STATE *pVal);
HRESULT (STDMETHODCALLTYPE *put_Audio)(
IDirectShowStream* This,
OUTPUT_STATE newVal);
END_INTERFACE
} IDirectShowStreamVtbl;
interface IDirectShowStream {
CONST_VTBL IDirectShowStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectShowStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectShowStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectShowStream_Release(This) (This)->lpVtbl->Release(This)
/*** IDispatch methods ***/
#define IDirectShowStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
#define IDirectShowStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
#define IDirectShowStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
#define IDirectShowStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
/*** IDirectShowStream methods ***/
#define IDirectShowStream_get_FileName(This,pVal) (This)->lpVtbl->get_FileName(This,pVal)
#define IDirectShowStream_put_FileName(This,newVal) (This)->lpVtbl->put_FileName(This,newVal)
#define IDirectShowStream_get_Video(This,pVal) (This)->lpVtbl->get_Video(This,pVal)
#define IDirectShowStream_put_Video(This,newVal) (This)->lpVtbl->put_Video(This,newVal)
#define IDirectShowStream_get_Audio(This,pVal) (This)->lpVtbl->get_Audio(This,pVal)
#define IDirectShowStream_put_Audio(This,newVal) (This)->lpVtbl->put_Audio(This,newVal)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectShowStream_QueryInterface(IDirectShowStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectShowStream_AddRef(IDirectShowStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectShowStream_Release(IDirectShowStream* This) {
return This->lpVtbl->Release(This);
}
/*** IDispatch methods ***/
static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfoCount(IDirectShowStream* This,UINT *pctinfo) {
return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
}
static FORCEINLINE HRESULT IDirectShowStream_GetTypeInfo(IDirectShowStream* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
}
static FORCEINLINE HRESULT IDirectShowStream_GetIDsOfNames(IDirectShowStream* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
}
static FORCEINLINE HRESULT IDirectShowStream_Invoke(IDirectShowStream* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
}
/*** IDirectShowStream methods ***/
static FORCEINLINE HRESULT IDirectShowStream_get_FileName(IDirectShowStream* This,BSTR *pVal) {
return This->lpVtbl->get_FileName(This,pVal);
}
static FORCEINLINE HRESULT IDirectShowStream_put_FileName(IDirectShowStream* This,BSTR newVal) {
return This->lpVtbl->put_FileName(This,newVal);
}
static FORCEINLINE HRESULT IDirectShowStream_get_Video(IDirectShowStream* This,OUTPUT_STATE *pVal) {
return This->lpVtbl->get_Video(This,pVal);
}
static FORCEINLINE HRESULT IDirectShowStream_put_Video(IDirectShowStream* This,OUTPUT_STATE newVal) {
return This->lpVtbl->put_Video(This,newVal);
}
static FORCEINLINE HRESULT IDirectShowStream_get_Audio(IDirectShowStream* This,OUTPUT_STATE *pVal) {
return This->lpVtbl->get_Audio(This,pVal);
}
static FORCEINLINE HRESULT IDirectShowStream_put_Audio(IDirectShowStream* This,OUTPUT_STATE newVal) {
return This->lpVtbl->put_Audio(This,newVal);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IDirectShowStream_get_FileName_Proxy(
IDirectShowStream* This,
BSTR *pVal);
void __RPC_STUB IDirectShowStream_get_FileName_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDirectShowStream_put_FileName_Proxy(
IDirectShowStream* This,
BSTR newVal);
void __RPC_STUB IDirectShowStream_put_FileName_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Video_Proxy(
IDirectShowStream* This,
OUTPUT_STATE *pVal);
void __RPC_STUB IDirectShowStream_get_Video_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Video_Proxy(
IDirectShowStream* This,
OUTPUT_STATE newVal);
void __RPC_STUB IDirectShowStream_put_Video_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDirectShowStream_get_Audio_Proxy(
IDirectShowStream* This,
OUTPUT_STATE *pVal);
void __RPC_STUB IDirectShowStream_get_Audio_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDirectShowStream_put_Audio_Proxy(
IDirectShowStream* This,
OUTPUT_STATE newVal);
void __RPC_STUB IDirectShowStream_put_Audio_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IDirectShowStream_INTERFACE_DEFINED__ */
/*****************************************************************************
* 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)
MIDL_INTERFACE("bebe595c-9a6f-11d0-8fde-00c04fd9189d")
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;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAMMultiMediaStream, 0xbebe595c, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#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_VTBL IAMMultiMediaStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAMMultiMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAMMultiMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAMMultiMediaStream_Release(This) (This)->lpVtbl->Release(This)
/*** IMultiMediaStream methods ***/
#define IAMMultiMediaStream_GetInformation(This,pdwFlags,pStreamType) (This)->lpVtbl->GetInformation(This,pdwFlags,pStreamType)
#define IAMMultiMediaStream_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream)
#define IAMMultiMediaStream_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream)
#define IAMMultiMediaStream_GetState(This,pCurrentState) (This)->lpVtbl->GetState(This,pCurrentState)
#define IAMMultiMediaStream_SetState(This,NewState) (This)->lpVtbl->SetState(This,NewState)
#define IAMMultiMediaStream_GetTime(This,pCurrentTime) (This)->lpVtbl->GetTime(This,pCurrentTime)
#define IAMMultiMediaStream_GetDuration(This,pDuration) (This)->lpVtbl->GetDuration(This,pDuration)
#define IAMMultiMediaStream_Seek(This,SeekTime) (This)->lpVtbl->Seek(This,SeekTime)
#define IAMMultiMediaStream_GetEndOfStreamEventHandle(This,phEOS) (This)->lpVtbl->GetEndOfStreamEventHandle(This,phEOS)
/*** IAMMultiMediaStream methods ***/
#define IAMMultiMediaStream_Initialize(This,StreamType,dwFlags,pFilterGraph) (This)->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph)
#define IAMMultiMediaStream_GetFilterGraph(This,ppGraphBuilder) (This)->lpVtbl->GetFilterGraph(This,ppGraphBuilder)
#define IAMMultiMediaStream_GetFilter(This,ppFilter) (This)->lpVtbl->GetFilter(This,ppFilter)
#define IAMMultiMediaStream_AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream) (This)->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream)
#define IAMMultiMediaStream_OpenFile(This,pszFileName,dwFlags) (This)->lpVtbl->OpenFile(This,pszFileName,dwFlags)
#define IAMMultiMediaStream_OpenMoniker(This,pCtx,pMoniker,dwFlags) (This)->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags)
#define IAMMultiMediaStream_Render(This,dwFlags) (This)->lpVtbl->Render(This,dwFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAMMultiMediaStream_QueryInterface(IAMMultiMediaStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAMMultiMediaStream_AddRef(IAMMultiMediaStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAMMultiMediaStream_Release(IAMMultiMediaStream* This) {
return This->lpVtbl->Release(This);
}
/*** IMultiMediaStream methods ***/
static FORCEINLINE HRESULT IAMMultiMediaStream_GetInformation(IAMMultiMediaStream* This,DWORD *pdwFlags,STREAM_TYPE *pStreamType) {
return This->lpVtbl->GetInformation(This,pdwFlags,pStreamType);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_GetMediaStream(IAMMultiMediaStream* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_EnumMediaStreams(IAMMultiMediaStream* This,LONG Index,IMediaStream **ppMediaStream) {
return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_GetState(IAMMultiMediaStream* This,STREAM_STATE *pCurrentState) {
return This->lpVtbl->GetState(This,pCurrentState);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_SetState(IAMMultiMediaStream* This,STREAM_STATE NewState) {
return This->lpVtbl->SetState(This,NewState);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_GetTime(IAMMultiMediaStream* This,STREAM_TIME *pCurrentTime) {
return This->lpVtbl->GetTime(This,pCurrentTime);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_GetDuration(IAMMultiMediaStream* This,STREAM_TIME *pDuration) {
return This->lpVtbl->GetDuration(This,pDuration);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_Seek(IAMMultiMediaStream* This,STREAM_TIME SeekTime) {
return This->lpVtbl->Seek(This,SeekTime);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_GetEndOfStreamEventHandle(IAMMultiMediaStream* This,HANDLE *phEOS) {
return This->lpVtbl->GetEndOfStreamEventHandle(This,phEOS);
}
/*** IAMMultiMediaStream methods ***/
static FORCEINLINE HRESULT IAMMultiMediaStream_Initialize(IAMMultiMediaStream* This,STREAM_TYPE StreamType,DWORD dwFlags,IGraphBuilder *pFilterGraph) {
return This->lpVtbl->Initialize(This,StreamType,dwFlags,pFilterGraph);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilterGraph(IAMMultiMediaStream* This,IGraphBuilder **ppGraphBuilder) {
return This->lpVtbl->GetFilterGraph(This,ppGraphBuilder);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_GetFilter(IAMMultiMediaStream* This,IMediaStreamFilter **ppFilter) {
return This->lpVtbl->GetFilter(This,ppFilter);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_AddMediaStream(IAMMultiMediaStream* This,IUnknown *pStreamObject,const MSPID *PurposeId,DWORD dwFlags,IMediaStream **ppNewStream) {
return This->lpVtbl->AddMediaStream(This,pStreamObject,PurposeId,dwFlags,ppNewStream);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_OpenFile(IAMMultiMediaStream* This,LPCWSTR pszFileName,DWORD dwFlags) {
return This->lpVtbl->OpenFile(This,pszFileName,dwFlags);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_OpenMoniker(IAMMultiMediaStream* This,IBindCtx *pCtx,IMoniker *pMoniker,DWORD dwFlags) {
return This->lpVtbl->OpenMoniker(This,pCtx,pMoniker,dwFlags);
}
static FORCEINLINE HRESULT IAMMultiMediaStream_Render(IAMMultiMediaStream* This,DWORD dwFlags) {
return This->lpVtbl->Render(This,dwFlags);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IAMMultiMediaStream_GetFilterGraph_Proxy(
IAMMultiMediaStream* This,
IGraphBuilder **ppGraphBuilder);
void __RPC_STUB IAMMultiMediaStream_GetFilterGraph_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMultiMediaStream_GetFilter_Proxy(
IAMMultiMediaStream* This,
IMediaStreamFilter **ppFilter);
void __RPC_STUB IAMMultiMediaStream_GetFilter_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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)
MIDL_INTERFACE("bebe595d-9a6f-11d0-8fde-00c04fd9189d")
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;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAMMediaStream, 0xbebe595d, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#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_VTBL IAMMediaStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAMMediaStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAMMediaStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAMMediaStream_Release(This) (This)->lpVtbl->Release(This)
/*** IMediaStream methods ***/
#define IAMMediaStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
#define IAMMediaStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
#define IAMMediaStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
#define IAMMediaStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
#define IAMMediaStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
#define IAMMediaStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
/*** IAMMediaStream methods ***/
#define IAMMediaStream_Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType) (This)->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType)
#define IAMMediaStream_SetState(This,State) (This)->lpVtbl->SetState(This,State)
#define IAMMediaStream_JoinAMMultiMediaStream(This,pAMMultiMediaStream) (This)->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream)
#define IAMMediaStream_JoinFilter(This,pMediaStreamFilter) (This)->lpVtbl->JoinFilter(This,pMediaStreamFilter)
#define IAMMediaStream_JoinFilterGraph(This,pFilterGraph) (This)->lpVtbl->JoinFilterGraph(This,pFilterGraph)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAMMediaStream_QueryInterface(IAMMediaStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAMMediaStream_AddRef(IAMMediaStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAMMediaStream_Release(IAMMediaStream* This) {
return This->lpVtbl->Release(This);
}
/*** IMediaStream methods ***/
static FORCEINLINE HRESULT IAMMediaStream_GetMultiMediaStream(IAMMediaStream* This,IMultiMediaStream **ppMultiMediaStream) {
return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
}
static FORCEINLINE HRESULT IAMMediaStream_GetInformation(IAMMediaStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
return This->lpVtbl->GetInformation(This,pPurposeId,pType);
}
static FORCEINLINE HRESULT IAMMediaStream_SetSameFormat(IAMMediaStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
}
static FORCEINLINE HRESULT IAMMediaStream_AllocateSample(IAMMediaStream* This,DWORD dwFlags,IStreamSample **ppSample) {
return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
}
static FORCEINLINE HRESULT IAMMediaStream_CreateSharedSample(IAMMediaStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
}
static FORCEINLINE HRESULT IAMMediaStream_SendEndOfStream(IAMMediaStream* This,DWORD dwFlags) {
return This->lpVtbl->SendEndOfStream(This,dwFlags);
}
/*** IAMMediaStream methods ***/
static FORCEINLINE HRESULT IAMMediaStream_Initialize(IAMMediaStream* This,IUnknown *pSourceObject,DWORD dwFlags,REFMSPID PurposeId,const STREAM_TYPE StreamType) {
return This->lpVtbl->Initialize(This,pSourceObject,dwFlags,PurposeId,StreamType);
}
static FORCEINLINE HRESULT IAMMediaStream_SetState(IAMMediaStream* This,FILTER_STATE State) {
return This->lpVtbl->SetState(This,State);
}
static FORCEINLINE HRESULT IAMMediaStream_JoinAMMultiMediaStream(IAMMediaStream* This,IAMMultiMediaStream *pAMMultiMediaStream) {
return This->lpVtbl->JoinAMMultiMediaStream(This,pAMMultiMediaStream);
}
static FORCEINLINE HRESULT IAMMediaStream_JoinFilter(IAMMediaStream* This,IMediaStreamFilter *pMediaStreamFilter) {
return This->lpVtbl->JoinFilter(This,pMediaStreamFilter);
}
static FORCEINLINE HRESULT IAMMediaStream_JoinFilterGraph(IAMMediaStream* This,IFilterGraph *pFilterGraph) {
return This->lpVtbl->JoinFilterGraph(This,pFilterGraph);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IAMMediaStream_SetState_Proxy(
IAMMediaStream* This,
FILTER_STATE State);
void __RPC_STUB IAMMediaStream_SetState_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinAMMultiMediaStream_Proxy(
IAMMediaStream* This,
IAMMultiMediaStream *pAMMultiMediaStream);
void __RPC_STUB IAMMediaStream_JoinAMMultiMediaStream_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMediaStream_JoinFilter_Proxy(
IAMMediaStream* This,
IMediaStreamFilter *pMediaStreamFilter);
void __RPC_STUB IAMMediaStream_JoinFilter_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE 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)
MIDL_INTERFACE("bebe595e-9a6f-11d0-8fde-00c04fd9189d")
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(
WINBOOL 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(
WINBOOL bCancelEOS) = 0;
virtual HRESULT STDMETHODCALLTYPE EndOfStream(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMediaStreamFilter, 0xbebe595e, 0x9a6f, 0x11d0, 0x8f,0xde, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#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,
WINBOOL 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,
WINBOOL bCancelEOS);
HRESULT (STDMETHODCALLTYPE *EndOfStream)(
IMediaStreamFilter* This);
END_INTERFACE
} IMediaStreamFilterVtbl;
interface IMediaStreamFilter {
CONST_VTBL IMediaStreamFilterVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMediaStreamFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMediaStreamFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMediaStreamFilter_Release(This) (This)->lpVtbl->Release(This)
/*** IPersist methods ***/
#define IMediaStreamFilter_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
/*** IMediaFilter methods ***/
#define IMediaStreamFilter_Stop(This) (This)->lpVtbl->Stop(This)
#define IMediaStreamFilter_Pause(This) (This)->lpVtbl->Pause(This)
#define IMediaStreamFilter_Run(This,tStart) (This)->lpVtbl->Run(This,tStart)
#define IMediaStreamFilter_GetState(This,dwMilliSecsTimeout,State) (This)->lpVtbl->GetState(This,dwMilliSecsTimeout,State)
#define IMediaStreamFilter_SetSyncSource(This,pClock) (This)->lpVtbl->SetSyncSource(This,pClock)
#define IMediaStreamFilter_GetSyncSource(This,pClock) (This)->lpVtbl->GetSyncSource(This,pClock)
/*** IBaseFilter methods ***/
#define IMediaStreamFilter_EnumPins(This,ppEnum) (This)->lpVtbl->EnumPins(This,ppEnum)
#define IMediaStreamFilter_FindPin(This,Id,ppPin) (This)->lpVtbl->FindPin(This,Id,ppPin)
#define IMediaStreamFilter_QueryFilterInfo(This,pInfo) (This)->lpVtbl->QueryFilterInfo(This,pInfo)
#define IMediaStreamFilter_JoinFilterGraph(This,pGraph,pName) (This)->lpVtbl->JoinFilterGraph(This,pGraph,pName)
#define IMediaStreamFilter_QueryVendorInfo(This,pVendorInfo) (This)->lpVtbl->QueryVendorInfo(This,pVendorInfo)
/*** IMediaStreamFilter methods ***/
#define IMediaStreamFilter_AddMediaStream(This,pAMMediaStream) (This)->lpVtbl->AddMediaStream(This,pAMMediaStream)
#define IMediaStreamFilter_GetMediaStream(This,idPurpose,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream)
#define IMediaStreamFilter_EnumMediaStreams(This,Index,ppMediaStream) (This)->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream)
#define IMediaStreamFilter_SupportSeeking(This,bRenderer) (This)->lpVtbl->SupportSeeking(This,bRenderer)
#define IMediaStreamFilter_ReferenceTimeToStreamTime(This,pTime) (This)->lpVtbl->ReferenceTimeToStreamTime(This,pTime)
#define IMediaStreamFilter_GetCurrentStreamTime(This,pCurrentStreamTime) (This)->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime)
#define IMediaStreamFilter_WaitUntil(This,WaitStreamTime) (This)->lpVtbl->WaitUntil(This,WaitStreamTime)
#define IMediaStreamFilter_Flush(This,bCancelEOS) (This)->lpVtbl->Flush(This,bCancelEOS)
#define IMediaStreamFilter_EndOfStream(This) (This)->lpVtbl->EndOfStream(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMediaStreamFilter_QueryInterface(IMediaStreamFilter* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMediaStreamFilter_AddRef(IMediaStreamFilter* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMediaStreamFilter_Release(IMediaStreamFilter* This) {
return This->lpVtbl->Release(This);
}
/*** IPersist methods ***/
static FORCEINLINE HRESULT IMediaStreamFilter_GetClassID(IMediaStreamFilter* This,CLSID *pClassID) {
return This->lpVtbl->GetClassID(This,pClassID);
}
/*** IMediaFilter methods ***/
static FORCEINLINE HRESULT IMediaStreamFilter_Stop(IMediaStreamFilter* This) {
return This->lpVtbl->Stop(This);
}
static FORCEINLINE HRESULT IMediaStreamFilter_Pause(IMediaStreamFilter* This) {
return This->lpVtbl->Pause(This);
}
static FORCEINLINE HRESULT IMediaStreamFilter_Run(IMediaStreamFilter* This,REFERENCE_TIME tStart) {
return This->lpVtbl->Run(This,tStart);
}
static FORCEINLINE HRESULT IMediaStreamFilter_GetState(IMediaStreamFilter* This,DWORD dwMilliSecsTimeout,FILTER_STATE *State) {
return This->lpVtbl->GetState(This,dwMilliSecsTimeout,State);
}
static FORCEINLINE HRESULT IMediaStreamFilter_SetSyncSource(IMediaStreamFilter* This,IReferenceClock *pClock) {
return This->lpVtbl->SetSyncSource(This,pClock);
}
static FORCEINLINE HRESULT IMediaStreamFilter_GetSyncSource(IMediaStreamFilter* This,IReferenceClock **pClock) {
return This->lpVtbl->GetSyncSource(This,pClock);
}
/*** IBaseFilter methods ***/
static FORCEINLINE HRESULT IMediaStreamFilter_EnumPins(IMediaStreamFilter* This,IEnumPins **ppEnum) {
return This->lpVtbl->EnumPins(This,ppEnum);
}
static FORCEINLINE HRESULT IMediaStreamFilter_FindPin(IMediaStreamFilter* This,LPCWSTR Id,IPin **ppPin) {
return This->lpVtbl->FindPin(This,Id,ppPin);
}
static FORCEINLINE HRESULT IMediaStreamFilter_QueryFilterInfo(IMediaStreamFilter* This,FILTER_INFO *pInfo) {
return This->lpVtbl->QueryFilterInfo(This,pInfo);
}
static FORCEINLINE HRESULT IMediaStreamFilter_JoinFilterGraph(IMediaStreamFilter* This,IFilterGraph *pGraph,LPCWSTR pName) {
return This->lpVtbl->JoinFilterGraph(This,pGraph,pName);
}
static FORCEINLINE HRESULT IMediaStreamFilter_QueryVendorInfo(IMediaStreamFilter* This,LPWSTR *pVendorInfo) {
return This->lpVtbl->QueryVendorInfo(This,pVendorInfo);
}
/*** IMediaStreamFilter methods ***/
static FORCEINLINE HRESULT IMediaStreamFilter_AddMediaStream(IMediaStreamFilter* This,IAMMediaStream *pAMMediaStream) {
return This->lpVtbl->AddMediaStream(This,pAMMediaStream);
}
static FORCEINLINE HRESULT IMediaStreamFilter_GetMediaStream(IMediaStreamFilter* This,REFMSPID idPurpose,IMediaStream **ppMediaStream) {
return This->lpVtbl->GetMediaStream(This,idPurpose,ppMediaStream);
}
static FORCEINLINE HRESULT IMediaStreamFilter_EnumMediaStreams(IMediaStreamFilter* This,LONG Index,IMediaStream **ppMediaStream) {
return This->lpVtbl->EnumMediaStreams(This,Index,ppMediaStream);
}
static FORCEINLINE HRESULT IMediaStreamFilter_SupportSeeking(IMediaStreamFilter* This,WINBOOL bRenderer) {
return This->lpVtbl->SupportSeeking(This,bRenderer);
}
static FORCEINLINE HRESULT IMediaStreamFilter_ReferenceTimeToStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pTime) {
return This->lpVtbl->ReferenceTimeToStreamTime(This,pTime);
}
static FORCEINLINE HRESULT IMediaStreamFilter_GetCurrentStreamTime(IMediaStreamFilter* This,REFERENCE_TIME *pCurrentStreamTime) {
return This->lpVtbl->GetCurrentStreamTime(This,pCurrentStreamTime);
}
static FORCEINLINE HRESULT IMediaStreamFilter_WaitUntil(IMediaStreamFilter* This,REFERENCE_TIME WaitStreamTime) {
return This->lpVtbl->WaitUntil(This,WaitStreamTime);
}
static FORCEINLINE HRESULT IMediaStreamFilter_Flush(IMediaStreamFilter* This,WINBOOL bCancelEOS) {
return This->lpVtbl->Flush(This,bCancelEOS);
}
static FORCEINLINE HRESULT IMediaStreamFilter_EndOfStream(IMediaStreamFilter* This) {
return This->lpVtbl->EndOfStream(This);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IMediaStreamFilter_AddMediaStream_Proxy(
IMediaStreamFilter* This,
IAMMediaStream *pAMMediaStream);
void __RPC_STUB IMediaStreamFilter_AddMediaStream_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IMediaStreamFilter_SupportSeeking_Proxy(
IMediaStreamFilter* This,
WINBOOL bRenderer);
void __RPC_STUB IMediaStreamFilter_SupportSeeking_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaStreamFilter_ReferenceTimeToStreamTime_Proxy(
IMediaStreamFilter* This,
REFERENCE_TIME *pTime);
void __RPC_STUB IMediaStreamFilter_ReferenceTimeToStreamTime_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaStreamFilter_GetCurrentStreamTime_Proxy(
IMediaStreamFilter* This,
REFERENCE_TIME *pCurrentStreamTime);
void __RPC_STUB IMediaStreamFilter_GetCurrentStreamTime_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaStreamFilter_WaitUntil_Proxy(
IMediaStreamFilter* This,
REFERENCE_TIME WaitStreamTime);
void __RPC_STUB IMediaStreamFilter_WaitUntil_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaStreamFilter_Flush_Proxy(
IMediaStreamFilter* This,
WINBOOL bCancelEOS);
void __RPC_STUB IMediaStreamFilter_Flush_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaStreamFilter_EndOfStream_Proxy(
IMediaStreamFilter* This);
void __RPC_STUB IMediaStreamFilter_EndOfStream_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IMediaStreamFilter_INTERFACE_DEFINED__ */
/*****************************************************************************
* 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)
MIDL_INTERFACE("ab6b4afc-f6e4-11d0-900d-00c04fd9189d")
IDirectDrawMediaSampleAllocator : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetDirectDraw(
IDirectDraw **ppDirectDraw) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectDrawMediaSampleAllocator, 0xab6b4afc, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#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_VTBL IDirectDrawMediaSampleAllocatorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectDrawMediaSampleAllocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectDrawMediaSampleAllocator_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectDrawMediaSampleAllocator_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectDrawMediaSampleAllocator methods ***/
#define IDirectDrawMediaSampleAllocator_GetDirectDraw(This,ppDirectDraw) (This)->lpVtbl->GetDirectDraw(This,ppDirectDraw)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_QueryInterface(IDirectDrawMediaSampleAllocator* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_AddRef(IDirectDrawMediaSampleAllocator* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectDrawMediaSampleAllocator_Release(IDirectDrawMediaSampleAllocator* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectDrawMediaSampleAllocator methods ***/
static FORCEINLINE HRESULT IDirectDrawMediaSampleAllocator_GetDirectDraw(IDirectDrawMediaSampleAllocator* This,IDirectDraw **ppDirectDraw) {
return This->lpVtbl->GetDirectDraw(This,ppDirectDraw);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE 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__ */
/*****************************************************************************
* 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)
MIDL_INTERFACE("ab6b4afe-f6e4-11d0-900d-00c04fd9189d")
IDirectDrawMediaSample : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetSurfaceAndReleaseLock(
IDirectDrawSurface **ppDirectDrawSurface,
RECT *pRect) = 0;
virtual HRESULT STDMETHODCALLTYPE LockMediaSamplePointer(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectDrawMediaSample, 0xab6b4afe, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#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_VTBL IDirectDrawMediaSampleVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectDrawMediaSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectDrawMediaSample_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectDrawMediaSample_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectDrawMediaSample methods ***/
#define IDirectDrawMediaSample_GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect) (This)->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect)
#define IDirectDrawMediaSample_LockMediaSamplePointer(This) (This)->lpVtbl->LockMediaSamplePointer(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectDrawMediaSample_QueryInterface(IDirectDrawMediaSample* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectDrawMediaSample_AddRef(IDirectDrawMediaSample* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectDrawMediaSample_Release(IDirectDrawMediaSample* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectDrawMediaSample methods ***/
static FORCEINLINE HRESULT IDirectDrawMediaSample_GetSurfaceAndReleaseLock(IDirectDrawMediaSample* This,IDirectDrawSurface **ppDirectDrawSurface,RECT *pRect) {
return This->lpVtbl->GetSurfaceAndReleaseLock(This,ppDirectDrawSurface,pRect);
}
static FORCEINLINE HRESULT IDirectDrawMediaSample_LockMediaSamplePointer(IDirectDrawMediaSample* This) {
return This->lpVtbl->LockMediaSamplePointer(This);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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)
MIDL_INTERFACE("ab6b4afa-f6e4-11d0-900d-00c04fd9189d")
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;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAMMediaTypeStream, 0xab6b4afa, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#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_VTBL IAMMediaTypeStreamVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAMMediaTypeStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAMMediaTypeStream_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAMMediaTypeStream_Release(This) (This)->lpVtbl->Release(This)
/*** IMediaStream methods ***/
#define IAMMediaTypeStream_GetMultiMediaStream(This,ppMultiMediaStream) (This)->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream)
#define IAMMediaTypeStream_GetInformation(This,pPurposeId,pType) (This)->lpVtbl->GetInformation(This,pPurposeId,pType)
#define IAMMediaTypeStream_SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags) (This)->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags)
#define IAMMediaTypeStream_AllocateSample(This,dwFlags,ppSample) (This)->lpVtbl->AllocateSample(This,dwFlags,ppSample)
#define IAMMediaTypeStream_CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample) (This)->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample)
#define IAMMediaTypeStream_SendEndOfStream(This,dwFlags) (This)->lpVtbl->SendEndOfStream(This,dwFlags)
/*** IAMMediaTypeStream methods ***/
#define IAMMediaTypeStream_GetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->GetFormat(This,pMediaType,dwFlags)
#define IAMMediaTypeStream_SetFormat(This,pMediaType,dwFlags) (This)->lpVtbl->SetFormat(This,pMediaType,dwFlags)
#define IAMMediaTypeStream_CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample) (This)->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample)
#define IAMMediaTypeStream_GetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->GetStreamAllocatorRequirements(This,pProps)
#define IAMMediaTypeStream_SetStreamAllocatorRequirements(This,pProps) (This)->lpVtbl->SetStreamAllocatorRequirements(This,pProps)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAMMediaTypeStream_QueryInterface(IAMMediaTypeStream* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAMMediaTypeStream_AddRef(IAMMediaTypeStream* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAMMediaTypeStream_Release(IAMMediaTypeStream* This) {
return This->lpVtbl->Release(This);
}
/*** IMediaStream methods ***/
static FORCEINLINE HRESULT IAMMediaTypeStream_GetMultiMediaStream(IAMMediaTypeStream* This,IMultiMediaStream **ppMultiMediaStream) {
return This->lpVtbl->GetMultiMediaStream(This,ppMultiMediaStream);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_GetInformation(IAMMediaTypeStream* This,MSPID *pPurposeId,STREAM_TYPE *pType) {
return This->lpVtbl->GetInformation(This,pPurposeId,pType);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_SetSameFormat(IAMMediaTypeStream* This,IMediaStream *pStreamThatHasDesiredFormat,DWORD dwFlags) {
return This->lpVtbl->SetSameFormat(This,pStreamThatHasDesiredFormat,dwFlags);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_AllocateSample(IAMMediaTypeStream* This,DWORD dwFlags,IStreamSample **ppSample) {
return This->lpVtbl->AllocateSample(This,dwFlags,ppSample);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSharedSample(IAMMediaTypeStream* This,IStreamSample *pExistingSample,DWORD dwFlags,IStreamSample **ppNewSample) {
return This->lpVtbl->CreateSharedSample(This,pExistingSample,dwFlags,ppNewSample);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_SendEndOfStream(IAMMediaTypeStream* This,DWORD dwFlags) {
return This->lpVtbl->SendEndOfStream(This,dwFlags);
}
/*** IAMMediaTypeStream methods ***/
static FORCEINLINE HRESULT IAMMediaTypeStream_GetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) {
return This->lpVtbl->GetFormat(This,pMediaType,dwFlags);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_SetFormat(IAMMediaTypeStream* This,AM_MEDIA_TYPE *pMediaType,DWORD dwFlags) {
return This->lpVtbl->SetFormat(This,pMediaType,dwFlags);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_CreateSample(IAMMediaTypeStream* This,LONG lSampleSize,BYTE *pbBuffer,DWORD dwFlags,IUnknown *pUnkOuter,IAMMediaTypeSample **ppAMMediaTypeSample) {
return This->lpVtbl->CreateSample(This,lSampleSize,pbBuffer,dwFlags,pUnkOuter,ppAMMediaTypeSample);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_GetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) {
return This->lpVtbl->GetStreamAllocatorRequirements(This,pProps);
}
static FORCEINLINE HRESULT IAMMediaTypeStream_SetStreamAllocatorRequirements(IAMMediaTypeStream* This,ALLOCATOR_PROPERTIES *pProps) {
return This->lpVtbl->SetStreamAllocatorRequirements(This,pProps);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IAMMediaTypeStream_GetStreamAllocatorRequirements_Proxy(
IAMMediaTypeStream* This,
ALLOCATOR_PROPERTIES *pProps);
void __RPC_STUB IAMMediaTypeStream_GetStreamAllocatorRequirements_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE 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)
MIDL_INTERFACE("ab6b4afb-f6e4-11d0-900d-00c04fd9189d")
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(
WINBOOL bIsSyncPoint) = 0;
virtual HRESULT STDMETHODCALLTYPE IsPreroll(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPreroll(
WINBOOL 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(
WINBOOL bDiscontinuity) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMediaTime(
LONGLONG *pTimeStart,
LONGLONG *pTimeEnd) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMediaTime(
LONGLONG *pTimeStart,
LONGLONG *pTimeEnd) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IAMMediaTypeSample, 0xab6b4afb, 0xf6e4, 0x11d0, 0x90,0x0d, 0x00,0xc0,0x4f,0xd9,0x18,0x9d)
#endif
#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,
WINBOOL bIsSyncPoint);
HRESULT (STDMETHODCALLTYPE *IsPreroll)(
IAMMediaTypeSample* This);
HRESULT (STDMETHODCALLTYPE *SetPreroll)(
IAMMediaTypeSample* This,
WINBOOL 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,
WINBOOL 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_VTBL IAMMediaTypeSampleVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IAMMediaTypeSample_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IAMMediaTypeSample_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IAMMediaTypeSample_Release(This) (This)->lpVtbl->Release(This)
/*** IStreamSample methods ***/
#define IAMMediaTypeSample_GetMediaStream(This,ppMediaStream) (This)->lpVtbl->GetMediaStream(This,ppMediaStream)
#define IAMMediaTypeSample_GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime) (This)->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime)
#define IAMMediaTypeSample_SetSampleTimes(This,pStartTime,pEndTime) (This)->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime)
#define IAMMediaTypeSample_Update(This,dwFlags,hEvent,pfnAPC,dwAPCData) (This)->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData)
#define IAMMediaTypeSample_CompletionStatus(This,dwFlags,dwMilliseconds) (This)->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds)
/*** IAMMediaTypeSample methods ***/
#define IAMMediaTypeSample_SetPointer(This,pBuffer,lSize) (This)->lpVtbl->SetPointer(This,pBuffer,lSize)
#define IAMMediaTypeSample_GetPointer(This,ppBuffer) (This)->lpVtbl->GetPointer(This,ppBuffer)
#define IAMMediaTypeSample_GetSize(This) (This)->lpVtbl->GetSize(This)
#define IAMMediaTypeSample_GetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetTime(This,pTimeStart,pTimeEnd)
#define IAMMediaTypeSample_SetTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetTime(This,pTimeStart,pTimeEnd)
#define IAMMediaTypeSample_IsSyncPoint(This) (This)->lpVtbl->IsSyncPoint(This)
#define IAMMediaTypeSample_SetSyncPoint(This,bIsSyncPoint) (This)->lpVtbl->SetSyncPoint(This,bIsSyncPoint)
#define IAMMediaTypeSample_IsPreroll(This) (This)->lpVtbl->IsPreroll(This)
#define IAMMediaTypeSample_SetPreroll(This,bIsPreroll) (This)->lpVtbl->SetPreroll(This,bIsPreroll)
#define IAMMediaTypeSample_GetActualDataLength(This) (This)->lpVtbl->GetActualDataLength(This)
#define IAMMediaTypeSample_SetActualDataLength(This,Len) (This)->lpVtbl->SetActualDataLength(This,Len)
#define IAMMediaTypeSample_GetMediaType(This,ppMediaType) (This)->lpVtbl->GetMediaType(This,ppMediaType)
#define IAMMediaTypeSample_SetMediaType(This,pMediaType) (This)->lpVtbl->SetMediaType(This,pMediaType)
#define IAMMediaTypeSample_IsDiscontinuity(This) (This)->lpVtbl->IsDiscontinuity(This)
#define IAMMediaTypeSample_SetDiscontinuity(This,bDiscontinuity) (This)->lpVtbl->SetDiscontinuity(This,bDiscontinuity)
#define IAMMediaTypeSample_GetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd)
#define IAMMediaTypeSample_SetMediaTime(This,pTimeStart,pTimeEnd) (This)->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IAMMediaTypeSample_QueryInterface(IAMMediaTypeSample* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IAMMediaTypeSample_AddRef(IAMMediaTypeSample* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IAMMediaTypeSample_Release(IAMMediaTypeSample* This) {
return This->lpVtbl->Release(This);
}
/*** IStreamSample methods ***/
static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaStream(IAMMediaTypeSample* This,IMediaStream **ppMediaStream) {
return This->lpVtbl->GetMediaStream(This,ppMediaStream);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_GetSampleTimes(IAMMediaTypeSample* This,STREAM_TIME *pStartTime,STREAM_TIME *pEndTime,STREAM_TIME *pCurrentTime) {
return This->lpVtbl->GetSampleTimes(This,pStartTime,pEndTime,pCurrentTime);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetSampleTimes(IAMMediaTypeSample* This,const STREAM_TIME *pStartTime,const STREAM_TIME *pEndTime) {
return This->lpVtbl->SetSampleTimes(This,pStartTime,pEndTime);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_Update(IAMMediaTypeSample* This,DWORD dwFlags,HANDLE hEvent,PAPCFUNC pfnAPC,DWORD dwAPCData) {
return This->lpVtbl->Update(This,dwFlags,hEvent,pfnAPC,dwAPCData);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_CompletionStatus(IAMMediaTypeSample* This,DWORD dwFlags,DWORD dwMilliseconds) {
return This->lpVtbl->CompletionStatus(This,dwFlags,dwMilliseconds);
}
/*** IAMMediaTypeSample methods ***/
static FORCEINLINE HRESULT IAMMediaTypeSample_SetPointer(IAMMediaTypeSample* This,BYTE *pBuffer,LONG lSize) {
return This->lpVtbl->SetPointer(This,pBuffer,lSize);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_GetPointer(IAMMediaTypeSample* This,BYTE **ppBuffer) {
return This->lpVtbl->GetPointer(This,ppBuffer);
}
static FORCEINLINE LONG IAMMediaTypeSample_GetSize(IAMMediaTypeSample* This) {
return This->lpVtbl->GetSize(This);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_GetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
return This->lpVtbl->GetTime(This,pTimeStart,pTimeEnd);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetTime(IAMMediaTypeSample* This,REFERENCE_TIME *pTimeStart,REFERENCE_TIME *pTimeEnd) {
return This->lpVtbl->SetTime(This,pTimeStart,pTimeEnd);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_IsSyncPoint(IAMMediaTypeSample* This) {
return This->lpVtbl->IsSyncPoint(This);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetSyncPoint(IAMMediaTypeSample* This,WINBOOL bIsSyncPoint) {
return This->lpVtbl->SetSyncPoint(This,bIsSyncPoint);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_IsPreroll(IAMMediaTypeSample* This) {
return This->lpVtbl->IsPreroll(This);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetPreroll(IAMMediaTypeSample* This,WINBOOL bIsPreroll) {
return This->lpVtbl->SetPreroll(This,bIsPreroll);
}
static FORCEINLINE LONG IAMMediaTypeSample_GetActualDataLength(IAMMediaTypeSample* This) {
return This->lpVtbl->GetActualDataLength(This);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetActualDataLength(IAMMediaTypeSample* This,LONG Len) {
return This->lpVtbl->SetActualDataLength(This,Len);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE **ppMediaType) {
return This->lpVtbl->GetMediaType(This,ppMediaType);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaType(IAMMediaTypeSample* This,AM_MEDIA_TYPE *pMediaType) {
return This->lpVtbl->SetMediaType(This,pMediaType);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_IsDiscontinuity(IAMMediaTypeSample* This) {
return This->lpVtbl->IsDiscontinuity(This);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetDiscontinuity(IAMMediaTypeSample* This,WINBOOL bDiscontinuity) {
return This->lpVtbl->SetDiscontinuity(This,bDiscontinuity);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_GetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
return This->lpVtbl->GetMediaTime(This,pTimeStart,pTimeEnd);
}
static FORCEINLINE HRESULT IAMMediaTypeSample_SetMediaTime(IAMMediaTypeSample* This,LONGLONG *pTimeStart,LONGLONG *pTimeEnd) {
return This->lpVtbl->SetMediaTime(This,pTimeStart,pTimeEnd);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IAMMediaTypeSample_GetPointer_Proxy(
IAMMediaTypeSample* This,
BYTE **ppBuffer);
void __RPC_STUB IAMMediaTypeSample_GetPointer_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LONG STDMETHODCALLTYPE IAMMediaTypeSample_GetSize_Proxy(
IAMMediaTypeSample* This);
void __RPC_STUB IAMMediaTypeSample_GetSize_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IAMMediaTypeSample_IsSyncPoint_Proxy(
IAMMediaTypeSample* This);
void __RPC_STUB IAMMediaTypeSample_IsSyncPoint_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetSyncPoint_Proxy(
IAMMediaTypeSample* This,
WINBOOL bIsSyncPoint);
void __RPC_STUB IAMMediaTypeSample_SetSyncPoint_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_IsPreroll_Proxy(
IAMMediaTypeSample* This);
void __RPC_STUB IAMMediaTypeSample_IsPreroll_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetPreroll_Proxy(
IAMMediaTypeSample* This,
WINBOOL bIsPreroll);
void __RPC_STUB IAMMediaTypeSample_SetPreroll_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
LONG STDMETHODCALLTYPE IAMMediaTypeSample_GetActualDataLength_Proxy(
IAMMediaTypeSample* This);
void __RPC_STUB IAMMediaTypeSample_GetActualDataLength_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetActualDataLength_Proxy(
IAMMediaTypeSample* This,
LONG Len);
void __RPC_STUB IAMMediaTypeSample_SetActualDataLength_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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 STDMETHODCALLTYPE IAMMediaTypeSample_IsDiscontinuity_Proxy(
IAMMediaTypeSample* This);
void __RPC_STUB IAMMediaTypeSample_IsDiscontinuity_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IAMMediaTypeSample_SetDiscontinuity_Proxy(
IAMMediaTypeSample* This,
WINBOOL bDiscontinuity);
void __RPC_STUB IAMMediaTypeSample_SetDiscontinuity_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE 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 STDMETHODCALLTYPE 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);
#ifdef __cplusplus
class DECLSPEC_UUID("49c47ce5-9ba4-11d0-8212-00c04fc32c45") AMMultiMediaStream;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(AMMultiMediaStream, 0x49c47ce5, 0x9ba4, 0x11d0, 0x82,0x12, 0x00,0xc0,0x4f,0xc3,0x2c,0x45)
#endif
#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);
DEFINE_GUID(CLSID_MediaStreamFilter, 0x49c47ce0, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);
/* Begin additional prototypes for all interfaces */
ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __amstream_h__ */