mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 02:05:08 +00:00
1756 lines
68 KiB
C++
1756 lines
68 KiB
C++
/*** Autogenerated by WIDL 3.1 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;
|
|
#ifdef __cplusplus
|
|
interface IDirectShowStream;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IAMMultiMediaStream_FWD_DEFINED__
|
|
#define __IAMMultiMediaStream_FWD_DEFINED__
|
|
typedef interface IAMMultiMediaStream IAMMultiMediaStream;
|
|
#ifdef __cplusplus
|
|
interface IAMMultiMediaStream;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IAMMediaStream_FWD_DEFINED__
|
|
#define __IAMMediaStream_FWD_DEFINED__
|
|
typedef interface IAMMediaStream IAMMediaStream;
|
|
#ifdef __cplusplus
|
|
interface IAMMediaStream;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IMediaStreamFilter_FWD_DEFINED__
|
|
#define __IMediaStreamFilter_FWD_DEFINED__
|
|
typedef interface IMediaStreamFilter IMediaStreamFilter;
|
|
#ifdef __cplusplus
|
|
interface IMediaStreamFilter;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
|
|
#define __IDirectDrawMediaSampleAllocator_FWD_DEFINED__
|
|
typedef interface IDirectDrawMediaSampleAllocator IDirectDrawMediaSampleAllocator;
|
|
#ifdef __cplusplus
|
|
interface IDirectDrawMediaSampleAllocator;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDirectDrawMediaSample_FWD_DEFINED__
|
|
#define __IDirectDrawMediaSample_FWD_DEFINED__
|
|
typedef interface IDirectDrawMediaSample IDirectDrawMediaSample;
|
|
#ifdef __cplusplus
|
|
interface IDirectDrawMediaSample;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IAMMediaTypeStream_FWD_DEFINED__
|
|
#define __IAMMediaTypeStream_FWD_DEFINED__
|
|
typedef interface IAMMediaTypeStream IAMMediaTypeStream;
|
|
#ifdef __cplusplus
|
|
interface IAMMediaTypeStream;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IAMMediaTypeSample_FWD_DEFINED__
|
|
#define __IAMMediaTypeSample_FWD_DEFINED__
|
|
typedef interface IAMMediaTypeSample IAMMediaTypeSample;
|
|
#ifdef __cplusplus
|
|
interface IAMMediaTypeSample;
|
|
#endif /* __cplusplus */
|
|
#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;
|
|
#ifdef __cplusplus
|
|
interface IDirectDraw;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IDirectDrawSurface_FWD_DEFINED__
|
|
#define __IDirectDrawSurface_FWD_DEFINED__
|
|
typedef interface IDirectDrawSurface IDirectDrawSurface;
|
|
#ifdef __cplusplus
|
|
interface IDirectDrawSurface;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#endif
|
|
#ifndef __IAMMultiMediaStream_FWD_DEFINED__
|
|
#define __IAMMultiMediaStream_FWD_DEFINED__
|
|
typedef interface IAMMultiMediaStream IAMMultiMediaStream;
|
|
#ifdef __cplusplus
|
|
interface IAMMultiMediaStream;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IAMMediaStream_FWD_DEFINED__
|
|
#define __IAMMediaStream_FWD_DEFINED__
|
|
typedef interface IAMMediaStream IAMMediaStream;
|
|
#ifdef __cplusplus
|
|
interface IAMMediaStream;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IMediaStreamFilter_FWD_DEFINED__
|
|
#define __IMediaStreamFilter_FWD_DEFINED__
|
|
typedef interface IMediaStreamFilter IMediaStreamFilter;
|
|
#ifdef __cplusplus
|
|
interface IMediaStreamFilter;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IAMMediaTypeStream_FWD_DEFINED__
|
|
#define __IAMMediaTypeStream_FWD_DEFINED__
|
|
typedef interface IAMMediaTypeStream IAMMediaTypeStream;
|
|
#ifdef __cplusplus
|
|
interface IAMMediaTypeStream;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IAMMediaTypeSample_FWD_DEFINED__
|
|
#define __IAMMediaTypeSample_FWD_DEFINED__
|
|
typedef interface IAMMediaTypeSample IAMMediaTypeSample;
|
|
#ifdef __cplusplus
|
|
interface IAMMediaTypeSample;
|
|
#endif /* __cplusplus */
|
|
#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_0000000C {
|
|
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
|
|
|
|
|
|
#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
|
|
|
|
|
|
#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
|
|
|
|
|
|
#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
|
|
|
|
|
|
#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
|
|
|
|
|
|
#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
|
|
|
|
|
|
#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
|
|
|
|
|
|
#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
|
|
|
|
|
|
#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__ */
|