mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 04:25:08 +00:00
1396 lines
49 KiB
C
1396 lines
49 KiB
C
/*** Autogenerated by WIDL 1.6 from include/mediaobj.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 __mediaobj_h__
|
|
#define __mediaobj_h__
|
|
|
|
/* Forward declarations */
|
|
|
|
#ifndef __IMediaBuffer_FWD_DEFINED__
|
|
#define __IMediaBuffer_FWD_DEFINED__
|
|
typedef interface IMediaBuffer IMediaBuffer;
|
|
#endif
|
|
|
|
#ifndef __IMediaObject_FWD_DEFINED__
|
|
#define __IMediaObject_FWD_DEFINED__
|
|
typedef interface IMediaObject IMediaObject;
|
|
#endif
|
|
|
|
#ifndef __IEnumDMO_FWD_DEFINED__
|
|
#define __IEnumDMO_FWD_DEFINED__
|
|
typedef interface IEnumDMO IEnumDMO;
|
|
#endif
|
|
|
|
#ifndef __IMediaObjectInPlace_FWD_DEFINED__
|
|
#define __IMediaObjectInPlace_FWD_DEFINED__
|
|
typedef interface IMediaObjectInPlace IMediaObjectInPlace;
|
|
#endif
|
|
|
|
#ifndef __IDMOQualityControl_FWD_DEFINED__
|
|
#define __IDMOQualityControl_FWD_DEFINED__
|
|
typedef interface IDMOQualityControl IDMOQualityControl;
|
|
#endif
|
|
|
|
#ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__
|
|
#define __IDMOVideoOutputOptimizations_FWD_DEFINED__
|
|
typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations;
|
|
#endif
|
|
|
|
/* Headers for imported files */
|
|
|
|
#include <unknwn.h>
|
|
#include <objidl.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* This file is part of the mingw-w64 runtime package.
|
|
* No warranty is given; refer to the file DISCLAIMER within this package.
|
|
*/
|
|
|
|
#include <winapifamily.h>
|
|
|
|
|
|
#ifdef __strmif_h__
|
|
typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;
|
|
#else
|
|
typedef struct _DMOMediaType {
|
|
GUID majortype;
|
|
GUID subtype;
|
|
WINBOOL bFixedSizeSamples;
|
|
WINBOOL bTemporalCompression;
|
|
ULONG lSampleSize;
|
|
GUID formattype;
|
|
IUnknown *pUnk;
|
|
ULONG cbFormat;
|
|
BYTE *pbFormat;
|
|
} DMO_MEDIA_TYPE;
|
|
|
|
typedef LONGLONG REFERENCE_TIME;
|
|
#endif
|
|
|
|
enum _DMO_INPUT_DATA_BUFFER_FLAGS {
|
|
DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
|
|
DMO_INPUT_DATA_BUFFERF_TIME = 0x2,
|
|
DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4,
|
|
DMO_INPUT_DATA_BUFFERF_DISCONTINUITY = 0x8
|
|
};
|
|
|
|
|
|
enum _DMO_OUTPUT_DATA_BUFFER_FLAGS {
|
|
DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
|
|
DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2,
|
|
DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4,
|
|
DMO_OUTPUT_DATA_BUFFERF_DISCONTINUITY = 0x8,
|
|
DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000
|
|
};
|
|
|
|
|
|
enum _DMO_INPUT_STATUS_FLAGS {
|
|
DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1
|
|
};
|
|
|
|
|
|
enum _DMO_INPUT_STREAM_INFO_FLAGS {
|
|
DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1,
|
|
DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
|
|
DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
|
|
DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8
|
|
};
|
|
|
|
|
|
enum _DMO_OUTPUT_STREAM_INFO_FLAGS {
|
|
DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1,
|
|
DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
|
|
DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
|
|
DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8,
|
|
DMO_OUTPUT_STREAMF_OPTIONAL = 0x10
|
|
};
|
|
|
|
|
|
enum _DMO_SET_TYPE_FLAGS {
|
|
DMO_SET_TYPEF_TEST_ONLY = 0x1,
|
|
DMO_SET_TYPEF_CLEAR = 0x2
|
|
};
|
|
|
|
|
|
enum _DMO_PROCESS_OUTPUT_FLAGS {
|
|
DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1
|
|
};
|
|
|
|
|
|
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
|
|
enum _DMO_INPLACE_PROCESS_FLAGS {
|
|
DMO_INPLACE_NORMAL = 0x0,
|
|
DMO_INPLACE_ZERO = 0x1
|
|
};
|
|
|
|
|
|
enum _DMO_QUALITY_STATUS_FLAGS {
|
|
DMO_QUALITY_STATUS_ENABLED = 0x1
|
|
};
|
|
|
|
|
|
enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS {
|
|
DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x1
|
|
};
|
|
|
|
|
|
/*****************************************************************************
|
|
* IMediaBuffer interface
|
|
*/
|
|
#ifndef __IMediaBuffer_INTERFACE_DEFINED__
|
|
#define __IMediaBuffer_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IMediaBuffer, 0x59eff8b9, 0x938c, 0x4a26, 0x82,0xf2, 0x95,0xcb,0x84,0xcd,0xc8,0x37);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("59eff8b9-938c-4a26-82f2-95cb84cdc837")
|
|
IMediaBuffer : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetLength(
|
|
DWORD cbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
|
|
DWORD *pcbMaxLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetBufferAndLength(
|
|
BYTE **ppBuffer,
|
|
DWORD *pcbLength) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IMediaBuffer, 0x59eff8b9, 0x938c, 0x4a26, 0x82,0xf2, 0x95,0xcb,0x84,0xcd,0xc8,0x37)
|
|
#endif
|
|
#else
|
|
typedef struct IMediaBufferVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IMediaBuffer* This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IMediaBuffer* This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IMediaBuffer* This);
|
|
|
|
/*** IMediaBuffer methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetLength)(
|
|
IMediaBuffer* This,
|
|
DWORD cbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxLength)(
|
|
IMediaBuffer* This,
|
|
DWORD *pcbMaxLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferAndLength)(
|
|
IMediaBuffer* This,
|
|
BYTE **ppBuffer,
|
|
DWORD *pcbLength);
|
|
|
|
END_INTERFACE
|
|
} IMediaBufferVtbl;
|
|
interface IMediaBuffer {
|
|
CONST_VTBL IMediaBufferVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IMediaBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IMediaBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IMediaBuffer_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IMediaBuffer methods ***/
|
|
#define IMediaBuffer_SetLength(This,cbLength) (This)->lpVtbl->SetLength(This,cbLength)
|
|
#define IMediaBuffer_GetMaxLength(This,pcbMaxLength) (This)->lpVtbl->GetMaxLength(This,pcbMaxLength)
|
|
#define IMediaBuffer_GetBufferAndLength(This,ppBuffer,pcbLength) (This)->lpVtbl->GetBufferAndLength(This,ppBuffer,pcbLength)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IMediaBuffer_QueryInterface(IMediaBuffer* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IMediaBuffer_AddRef(IMediaBuffer* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IMediaBuffer_Release(IMediaBuffer* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IMediaBuffer methods ***/
|
|
static FORCEINLINE HRESULT IMediaBuffer_SetLength(IMediaBuffer* This,DWORD cbLength) {
|
|
return This->lpVtbl->SetLength(This,cbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaBuffer_GetMaxLength(IMediaBuffer* This,DWORD *pcbMaxLength) {
|
|
return This->lpVtbl->GetMaxLength(This,pcbMaxLength);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaBuffer_GetBufferAndLength(IMediaBuffer* This,BYTE **ppBuffer,DWORD *pcbLength) {
|
|
return This->lpVtbl->GetBufferAndLength(This,ppBuffer,pcbLength);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
HRESULT STDMETHODCALLTYPE IMediaBuffer_SetLength_Proxy(
|
|
IMediaBuffer* This,
|
|
DWORD cbLength);
|
|
void __RPC_STUB IMediaBuffer_SetLength_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaBuffer_GetMaxLength_Proxy(
|
|
IMediaBuffer* This,
|
|
DWORD *pcbMaxLength);
|
|
void __RPC_STUB IMediaBuffer_GetMaxLength_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaBuffer_GetBufferAndLength_Proxy(
|
|
IMediaBuffer* This,
|
|
BYTE **ppBuffer,
|
|
DWORD *pcbLength);
|
|
void __RPC_STUB IMediaBuffer_GetBufferAndLength_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#endif /* __IMediaBuffer_INTERFACE_DEFINED__ */
|
|
|
|
|
|
typedef struct _DMO_OUTPUT_DATA_BUFFER {
|
|
IMediaBuffer *pBuffer;
|
|
DWORD dwStatus;
|
|
REFERENCE_TIME rtTimestamp;
|
|
REFERENCE_TIME rtTimelength;
|
|
} DMO_OUTPUT_DATA_BUFFER;
|
|
typedef struct _DMO_OUTPUT_DATA_BUFFER *PDMO_OUTPUT_DATA_BUFFER;
|
|
|
|
/*****************************************************************************
|
|
* IMediaObject interface
|
|
*/
|
|
#ifndef __IMediaObject_INTERFACE_DEFINED__
|
|
#define __IMediaObject_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IMediaObject, 0xd8ad0f58, 0x5494, 0x4102, 0x97,0xc5, 0xec,0x79,0x8e,0x59,0xbc,0xf4);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("d8ad0f58-5494-4102-97c5-ec798e59bcf4")
|
|
IMediaObject : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
|
|
DWORD *pcInputStreams,
|
|
DWORD *pcOutputStreams) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo(
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *pdwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo(
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD *pdwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputType(
|
|
DWORD dwInputStreamIndex,
|
|
DWORD dwTypeIndex,
|
|
DMO_MEDIA_TYPE *pmt) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputType(
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD dwTypeIndex,
|
|
DMO_MEDIA_TYPE *pmt) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetInputType(
|
|
DWORD dwInputStreamIndex,
|
|
const DMO_MEDIA_TYPE *pmt,
|
|
DWORD dwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOutputType(
|
|
DWORD dwOutputStreamIndex,
|
|
const DMO_MEDIA_TYPE *pmt,
|
|
DWORD dwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType(
|
|
DWORD dwInputStreamIndex,
|
|
DMO_MEDIA_TYPE *pmt) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType(
|
|
DWORD dwOutputStreamIndex,
|
|
DMO_MEDIA_TYPE *pmt) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputSizeInfo(
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *pcbSize,
|
|
DWORD *pcbMaxLookahead,
|
|
DWORD *pcbAlignment) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputSizeInfo(
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD *pcbSize,
|
|
DWORD *pcbAlignment) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputMaxLatency(
|
|
DWORD dwInputStreamIndex,
|
|
REFERENCE_TIME *prtMaxLatency) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetInputMaxLatency(
|
|
DWORD dwInputStreamIndex,
|
|
REFERENCE_TIME rtMaxLatency) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Flush(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Discontinuity(
|
|
DWORD dwInputStreamIndex) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AllocateStreamingResources(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FreeStreamingResources(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputStatus(
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *dwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ProcessInput(
|
|
DWORD dwInputStreamIndex,
|
|
IMediaBuffer *pBuffer,
|
|
DWORD dwFlags,
|
|
REFERENCE_TIME rtTimestamp,
|
|
REFERENCE_TIME rtTimelength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ProcessOutput(
|
|
DWORD dwFlags,
|
|
DWORD cOutputBufferCount,
|
|
DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
|
|
DWORD *pdwStatus) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Lock(
|
|
LONG bLock) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IMediaObject, 0xd8ad0f58, 0x5494, 0x4102, 0x97,0xc5, 0xec,0x79,0x8e,0x59,0xbc,0xf4)
|
|
#endif
|
|
#else
|
|
typedef struct IMediaObjectVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IMediaObject* This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IMediaObject* This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IMediaObject* This);
|
|
|
|
/*** IMediaObject methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamCount)(
|
|
IMediaObject* This,
|
|
DWORD *pcInputStreams,
|
|
DWORD *pcOutputStreams);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputStreamInfo)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *pdwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputStreamInfo)(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD *pdwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputType)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD dwTypeIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputType)(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD dwTypeIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetInputType)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
const DMO_MEDIA_TYPE *pmt,
|
|
DWORD dwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputType)(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
const DMO_MEDIA_TYPE *pmt,
|
|
DWORD dwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputCurrentType)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputCurrentType)(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputSizeInfo)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *pcbSize,
|
|
DWORD *pcbMaxLookahead,
|
|
DWORD *pcbAlignment);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputSizeInfo)(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD *pcbSize,
|
|
DWORD *pcbAlignment);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputMaxLatency)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
REFERENCE_TIME *prtMaxLatency);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetInputMaxLatency)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
REFERENCE_TIME rtMaxLatency);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Flush)(
|
|
IMediaObject* This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Discontinuity)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AllocateStreamingResources)(
|
|
IMediaObject* This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *FreeStreamingResources)(
|
|
IMediaObject* This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputStatus)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *dwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ProcessInput)(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
IMediaBuffer *pBuffer,
|
|
DWORD dwFlags,
|
|
REFERENCE_TIME rtTimestamp,
|
|
REFERENCE_TIME rtTimelength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ProcessOutput)(
|
|
IMediaObject* This,
|
|
DWORD dwFlags,
|
|
DWORD cOutputBufferCount,
|
|
DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
|
|
DWORD *pdwStatus);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Lock)(
|
|
IMediaObject* This,
|
|
LONG bLock);
|
|
|
|
END_INTERFACE
|
|
} IMediaObjectVtbl;
|
|
interface IMediaObject {
|
|
CONST_VTBL IMediaObjectVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IMediaObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IMediaObject_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IMediaObject_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IMediaObject methods ***/
|
|
#define IMediaObject_GetStreamCount(This,pcInputStreams,pcOutputStreams) (This)->lpVtbl->GetStreamCount(This,pcInputStreams,pcOutputStreams)
|
|
#define IMediaObject_GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags) (This)->lpVtbl->GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags)
|
|
#define IMediaObject_GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags) (This)->lpVtbl->GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags)
|
|
#define IMediaObject_GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt) (This)->lpVtbl->GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt)
|
|
#define IMediaObject_GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt) (This)->lpVtbl->GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt)
|
|
#define IMediaObject_SetInputType(This,dwInputStreamIndex,pmt,dwFlags) (This)->lpVtbl->SetInputType(This,dwInputStreamIndex,pmt,dwFlags)
|
|
#define IMediaObject_SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags) (This)->lpVtbl->SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags)
|
|
#define IMediaObject_GetInputCurrentType(This,dwInputStreamIndex,pmt) (This)->lpVtbl->GetInputCurrentType(This,dwInputStreamIndex,pmt)
|
|
#define IMediaObject_GetOutputCurrentType(This,dwOutputStreamIndex,pmt) (This)->lpVtbl->GetOutputCurrentType(This,dwOutputStreamIndex,pmt)
|
|
#define IMediaObject_GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment) (This)->lpVtbl->GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment)
|
|
#define IMediaObject_GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment) (This)->lpVtbl->GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment)
|
|
#define IMediaObject_GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency) (This)->lpVtbl->GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency)
|
|
#define IMediaObject_SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency) (This)->lpVtbl->SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency)
|
|
#define IMediaObject_Flush(This) (This)->lpVtbl->Flush(This)
|
|
#define IMediaObject_Discontinuity(This,dwInputStreamIndex) (This)->lpVtbl->Discontinuity(This,dwInputStreamIndex)
|
|
#define IMediaObject_AllocateStreamingResources(This) (This)->lpVtbl->AllocateStreamingResources(This)
|
|
#define IMediaObject_FreeStreamingResources(This) (This)->lpVtbl->FreeStreamingResources(This)
|
|
#define IMediaObject_GetInputStatus(This,dwInputStreamIndex,dwFlags) (This)->lpVtbl->GetInputStatus(This,dwInputStreamIndex,dwFlags)
|
|
#define IMediaObject_ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength) (This)->lpVtbl->ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength)
|
|
#define IMediaObject_ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus) (This)->lpVtbl->ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus)
|
|
#define IMediaObject_Lock(This,bLock) (This)->lpVtbl->Lock(This,bLock)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IMediaObject_QueryInterface(IMediaObject* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IMediaObject_AddRef(IMediaObject* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IMediaObject_Release(IMediaObject* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IMediaObject methods ***/
|
|
static FORCEINLINE HRESULT IMediaObject_GetStreamCount(IMediaObject* This,DWORD *pcInputStreams,DWORD *pcOutputStreams) {
|
|
return This->lpVtbl->GetStreamCount(This,pcInputStreams,pcOutputStreams);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetInputStreamInfo(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *pdwFlags) {
|
|
return This->lpVtbl->GetInputStreamInfo(This,dwInputStreamIndex,pdwFlags);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetOutputStreamInfo(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD *pdwFlags) {
|
|
return This->lpVtbl->GetOutputStreamInfo(This,dwOutputStreamIndex,pdwFlags);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetInputType(IMediaObject* This,DWORD dwInputStreamIndex,DWORD dwTypeIndex,DMO_MEDIA_TYPE *pmt) {
|
|
return This->lpVtbl->GetInputType(This,dwInputStreamIndex,dwTypeIndex,pmt);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetOutputType(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD dwTypeIndex,DMO_MEDIA_TYPE *pmt) {
|
|
return This->lpVtbl->GetOutputType(This,dwOutputStreamIndex,dwTypeIndex,pmt);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_SetInputType(IMediaObject* This,DWORD dwInputStreamIndex,const DMO_MEDIA_TYPE *pmt,DWORD dwFlags) {
|
|
return This->lpVtbl->SetInputType(This,dwInputStreamIndex,pmt,dwFlags);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_SetOutputType(IMediaObject* This,DWORD dwOutputStreamIndex,const DMO_MEDIA_TYPE *pmt,DWORD dwFlags) {
|
|
return This->lpVtbl->SetOutputType(This,dwOutputStreamIndex,pmt,dwFlags);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetInputCurrentType(IMediaObject* This,DWORD dwInputStreamIndex,DMO_MEDIA_TYPE *pmt) {
|
|
return This->lpVtbl->GetInputCurrentType(This,dwInputStreamIndex,pmt);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetOutputCurrentType(IMediaObject* This,DWORD dwOutputStreamIndex,DMO_MEDIA_TYPE *pmt) {
|
|
return This->lpVtbl->GetOutputCurrentType(This,dwOutputStreamIndex,pmt);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetInputSizeInfo(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *pcbSize,DWORD *pcbMaxLookahead,DWORD *pcbAlignment) {
|
|
return This->lpVtbl->GetInputSizeInfo(This,dwInputStreamIndex,pcbSize,pcbMaxLookahead,pcbAlignment);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetOutputSizeInfo(IMediaObject* This,DWORD dwOutputStreamIndex,DWORD *pcbSize,DWORD *pcbAlignment) {
|
|
return This->lpVtbl->GetOutputSizeInfo(This,dwOutputStreamIndex,pcbSize,pcbAlignment);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetInputMaxLatency(IMediaObject* This,DWORD dwInputStreamIndex,REFERENCE_TIME *prtMaxLatency) {
|
|
return This->lpVtbl->GetInputMaxLatency(This,dwInputStreamIndex,prtMaxLatency);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_SetInputMaxLatency(IMediaObject* This,DWORD dwInputStreamIndex,REFERENCE_TIME rtMaxLatency) {
|
|
return This->lpVtbl->SetInputMaxLatency(This,dwInputStreamIndex,rtMaxLatency);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_Flush(IMediaObject* This) {
|
|
return This->lpVtbl->Flush(This);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_Discontinuity(IMediaObject* This,DWORD dwInputStreamIndex) {
|
|
return This->lpVtbl->Discontinuity(This,dwInputStreamIndex);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_AllocateStreamingResources(IMediaObject* This) {
|
|
return This->lpVtbl->AllocateStreamingResources(This);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_FreeStreamingResources(IMediaObject* This) {
|
|
return This->lpVtbl->FreeStreamingResources(This);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_GetInputStatus(IMediaObject* This,DWORD dwInputStreamIndex,DWORD *dwFlags) {
|
|
return This->lpVtbl->GetInputStatus(This,dwInputStreamIndex,dwFlags);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_ProcessInput(IMediaObject* This,DWORD dwInputStreamIndex,IMediaBuffer *pBuffer,DWORD dwFlags,REFERENCE_TIME rtTimestamp,REFERENCE_TIME rtTimelength) {
|
|
return This->lpVtbl->ProcessInput(This,dwInputStreamIndex,pBuffer,dwFlags,rtTimestamp,rtTimelength);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_ProcessOutput(IMediaObject* This,DWORD dwFlags,DWORD cOutputBufferCount,DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,DWORD *pdwStatus) {
|
|
return This->lpVtbl->ProcessOutput(This,dwFlags,cOutputBufferCount,pOutputBuffers,pdwStatus);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObject_Lock(IMediaObject* This,LONG bLock) {
|
|
return This->lpVtbl->Lock(This,bLock);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetStreamCount_Proxy(
|
|
IMediaObject* This,
|
|
DWORD *pcInputStreams,
|
|
DWORD *pcOutputStreams);
|
|
void __RPC_STUB IMediaObject_GetStreamCount_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStreamInfo_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *pdwFlags);
|
|
void __RPC_STUB IMediaObject_GetInputStreamInfo_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputStreamInfo_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD *pdwFlags);
|
|
void __RPC_STUB IMediaObject_GetOutputStreamInfo_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputType_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD dwTypeIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
void __RPC_STUB IMediaObject_GetInputType_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputType_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD dwTypeIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
void __RPC_STUB IMediaObject_GetOutputType_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_SetInputType_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
const DMO_MEDIA_TYPE *pmt,
|
|
DWORD dwFlags);
|
|
void __RPC_STUB IMediaObject_SetInputType_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_SetOutputType_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
const DMO_MEDIA_TYPE *pmt,
|
|
DWORD dwFlags);
|
|
void __RPC_STUB IMediaObject_SetOutputType_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputCurrentType_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
void __RPC_STUB IMediaObject_GetInputCurrentType_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputCurrentType_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DMO_MEDIA_TYPE *pmt);
|
|
void __RPC_STUB IMediaObject_GetOutputCurrentType_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputSizeInfo_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *pcbSize,
|
|
DWORD *pcbMaxLookahead,
|
|
DWORD *pcbAlignment);
|
|
void __RPC_STUB IMediaObject_GetInputSizeInfo_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetOutputSizeInfo_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwOutputStreamIndex,
|
|
DWORD *pcbSize,
|
|
DWORD *pcbAlignment);
|
|
void __RPC_STUB IMediaObject_GetOutputSizeInfo_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputMaxLatency_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
REFERENCE_TIME *prtMaxLatency);
|
|
void __RPC_STUB IMediaObject_GetInputMaxLatency_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_SetInputMaxLatency_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
REFERENCE_TIME rtMaxLatency);
|
|
void __RPC_STUB IMediaObject_SetInputMaxLatency_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_Flush_Proxy(
|
|
IMediaObject* This);
|
|
void __RPC_STUB IMediaObject_Flush_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_Discontinuity_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex);
|
|
void __RPC_STUB IMediaObject_Discontinuity_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_AllocateStreamingResources_Proxy(
|
|
IMediaObject* This);
|
|
void __RPC_STUB IMediaObject_AllocateStreamingResources_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_FreeStreamingResources_Proxy(
|
|
IMediaObject* This);
|
|
void __RPC_STUB IMediaObject_FreeStreamingResources_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_GetInputStatus_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
DWORD *dwFlags);
|
|
void __RPC_STUB IMediaObject_GetInputStatus_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_ProcessInput_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwInputStreamIndex,
|
|
IMediaBuffer *pBuffer,
|
|
DWORD dwFlags,
|
|
REFERENCE_TIME rtTimestamp,
|
|
REFERENCE_TIME rtTimelength);
|
|
void __RPC_STUB IMediaObject_ProcessInput_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_ProcessOutput_Proxy(
|
|
IMediaObject* This,
|
|
DWORD dwFlags,
|
|
DWORD cOutputBufferCount,
|
|
DMO_OUTPUT_DATA_BUFFER *pOutputBuffers,
|
|
DWORD *pdwStatus);
|
|
void __RPC_STUB IMediaObject_ProcessOutput_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObject_Lock_Proxy(
|
|
IMediaObject* This,
|
|
LONG bLock);
|
|
void __RPC_STUB IMediaObject_Lock_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#endif /* __IMediaObject_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/*****************************************************************************
|
|
* IEnumDMO interface
|
|
*/
|
|
#ifndef __IEnumDMO_INTERFACE_DEFINED__
|
|
#define __IEnumDMO_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f")
|
|
IEnumDMO : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
DWORD cItemsToFetch,
|
|
CLSID *pCLSID,
|
|
LPWSTR *Names,
|
|
DWORD *pcItemsFetched) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
DWORD cItemsToSkip) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reset(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
IEnumDMO **ppEnum) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IEnumDMO, 0x2c3cd98a, 0x2bfa, 0x4a53, 0x9c,0x27, 0x52,0x49,0xba,0x64,0xba,0x0f)
|
|
#endif
|
|
#else
|
|
typedef struct IEnumDMOVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IEnumDMO* This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IEnumDMO* This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IEnumDMO* This);
|
|
|
|
/*** IEnumDMO methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *Next)(
|
|
IEnumDMO* This,
|
|
DWORD cItemsToFetch,
|
|
CLSID *pCLSID,
|
|
LPWSTR *Names,
|
|
DWORD *pcItemsFetched);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Skip)(
|
|
IEnumDMO* This,
|
|
DWORD cItemsToSkip);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Reset)(
|
|
IEnumDMO* This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Clone)(
|
|
IEnumDMO* This,
|
|
IEnumDMO **ppEnum);
|
|
|
|
END_INTERFACE
|
|
} IEnumDMOVtbl;
|
|
interface IEnumDMO {
|
|
CONST_VTBL IEnumDMOVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IEnumDMO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IEnumDMO_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IEnumDMO_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IEnumDMO methods ***/
|
|
#define IEnumDMO_Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched) (This)->lpVtbl->Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched)
|
|
#define IEnumDMO_Skip(This,cItemsToSkip) (This)->lpVtbl->Skip(This,cItemsToSkip)
|
|
#define IEnumDMO_Reset(This) (This)->lpVtbl->Reset(This)
|
|
#define IEnumDMO_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IEnumDMO_QueryInterface(IEnumDMO* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IEnumDMO_AddRef(IEnumDMO* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IEnumDMO_Release(IEnumDMO* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IEnumDMO methods ***/
|
|
static FORCEINLINE HRESULT IEnumDMO_Next(IEnumDMO* This,DWORD cItemsToFetch,CLSID *pCLSID,LPWSTR *Names,DWORD *pcItemsFetched) {
|
|
return This->lpVtbl->Next(This,cItemsToFetch,pCLSID,Names,pcItemsFetched);
|
|
}
|
|
static FORCEINLINE HRESULT IEnumDMO_Skip(IEnumDMO* This,DWORD cItemsToSkip) {
|
|
return This->lpVtbl->Skip(This,cItemsToSkip);
|
|
}
|
|
static FORCEINLINE HRESULT IEnumDMO_Reset(IEnumDMO* This) {
|
|
return This->lpVtbl->Reset(This);
|
|
}
|
|
static FORCEINLINE HRESULT IEnumDMO_Clone(IEnumDMO* This,IEnumDMO **ppEnum) {
|
|
return This->lpVtbl->Clone(This,ppEnum);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
HRESULT STDMETHODCALLTYPE IEnumDMO_Next_Proxy(
|
|
IEnumDMO* This,
|
|
DWORD cItemsToFetch,
|
|
CLSID *pCLSID,
|
|
LPWSTR *Names,
|
|
DWORD *pcItemsFetched);
|
|
void __RPC_STUB IEnumDMO_Next_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IEnumDMO_Skip_Proxy(
|
|
IEnumDMO* This,
|
|
DWORD cItemsToSkip);
|
|
void __RPC_STUB IEnumDMO_Skip_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IEnumDMO_Reset_Proxy(
|
|
IEnumDMO* This);
|
|
void __RPC_STUB IEnumDMO_Reset_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IEnumDMO_Clone_Proxy(
|
|
IEnumDMO* This,
|
|
IEnumDMO **ppEnum);
|
|
void __RPC_STUB IEnumDMO_Clone_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#endif /* __IEnumDMO_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/*****************************************************************************
|
|
* IMediaObjectInPlace interface
|
|
*/
|
|
#ifndef __IMediaObjectInPlace_INTERFACE_DEFINED__
|
|
#define __IMediaObjectInPlace_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IMediaObjectInPlace, 0x651b9ad0, 0x0fc7, 0x4aa9, 0x95,0x38, 0xd8,0x99,0x31,0x01,0x07,0x41);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("651b9ad0-0fc7-4aa9-9538-d89931010741")
|
|
IMediaObjectInPlace : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE Process(
|
|
ULONG ulSize,
|
|
BYTE *pData,
|
|
REFERENCE_TIME refTimeStart,
|
|
DWORD dwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
IMediaObjectInPlace **ppMediaObject) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLatency(
|
|
REFERENCE_TIME *pLatencyTime) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IMediaObjectInPlace, 0x651b9ad0, 0x0fc7, 0x4aa9, 0x95,0x38, 0xd8,0x99,0x31,0x01,0x07,0x41)
|
|
#endif
|
|
#else
|
|
typedef struct IMediaObjectInPlaceVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IMediaObjectInPlace* This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IMediaObjectInPlace* This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IMediaObjectInPlace* This);
|
|
|
|
/*** IMediaObjectInPlace methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *Process)(
|
|
IMediaObjectInPlace* This,
|
|
ULONG ulSize,
|
|
BYTE *pData,
|
|
REFERENCE_TIME refTimeStart,
|
|
DWORD dwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Clone)(
|
|
IMediaObjectInPlace* This,
|
|
IMediaObjectInPlace **ppMediaObject);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLatency)(
|
|
IMediaObjectInPlace* This,
|
|
REFERENCE_TIME *pLatencyTime);
|
|
|
|
END_INTERFACE
|
|
} IMediaObjectInPlaceVtbl;
|
|
interface IMediaObjectInPlace {
|
|
CONST_VTBL IMediaObjectInPlaceVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IMediaObjectInPlace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IMediaObjectInPlace_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IMediaObjectInPlace_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IMediaObjectInPlace methods ***/
|
|
#define IMediaObjectInPlace_Process(This,ulSize,pData,refTimeStart,dwFlags) (This)->lpVtbl->Process(This,ulSize,pData,refTimeStart,dwFlags)
|
|
#define IMediaObjectInPlace_Clone(This,ppMediaObject) (This)->lpVtbl->Clone(This,ppMediaObject)
|
|
#define IMediaObjectInPlace_GetLatency(This,pLatencyTime) (This)->lpVtbl->GetLatency(This,pLatencyTime)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IMediaObjectInPlace_QueryInterface(IMediaObjectInPlace* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IMediaObjectInPlace_AddRef(IMediaObjectInPlace* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IMediaObjectInPlace_Release(IMediaObjectInPlace* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IMediaObjectInPlace methods ***/
|
|
static FORCEINLINE HRESULT IMediaObjectInPlace_Process(IMediaObjectInPlace* This,ULONG ulSize,BYTE *pData,REFERENCE_TIME refTimeStart,DWORD dwFlags) {
|
|
return This->lpVtbl->Process(This,ulSize,pData,refTimeStart,dwFlags);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObjectInPlace_Clone(IMediaObjectInPlace* This,IMediaObjectInPlace **ppMediaObject) {
|
|
return This->lpVtbl->Clone(This,ppMediaObject);
|
|
}
|
|
static FORCEINLINE HRESULT IMediaObjectInPlace_GetLatency(IMediaObjectInPlace* This,REFERENCE_TIME *pLatencyTime) {
|
|
return This->lpVtbl->GetLatency(This,pLatencyTime);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Process_Proxy(
|
|
IMediaObjectInPlace* This,
|
|
ULONG ulSize,
|
|
BYTE *pData,
|
|
REFERENCE_TIME refTimeStart,
|
|
DWORD dwFlags);
|
|
void __RPC_STUB IMediaObjectInPlace_Process_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_Clone_Proxy(
|
|
IMediaObjectInPlace* This,
|
|
IMediaObjectInPlace **ppMediaObject);
|
|
void __RPC_STUB IMediaObjectInPlace_Clone_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IMediaObjectInPlace_GetLatency_Proxy(
|
|
IMediaObjectInPlace* This,
|
|
REFERENCE_TIME *pLatencyTime);
|
|
void __RPC_STUB IMediaObjectInPlace_GetLatency_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#endif /* __IMediaObjectInPlace_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/*****************************************************************************
|
|
* IDMOQualityControl interface
|
|
*/
|
|
#ifndef __IDMOQualityControl_INTERFACE_DEFINED__
|
|
#define __IDMOQualityControl_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDMOQualityControl, 0x65abea96, 0xcf36, 0x453f, 0xaf,0x8a, 0x70,0x5e,0x98,0xf1,0x62,0x60);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("65abea96-cf36-453f-af8a-705e98f16260")
|
|
IDMOQualityControl : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetNow(
|
|
REFERENCE_TIME rtNow) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStatus(
|
|
DWORD dwFlags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatus(
|
|
DWORD *pdwFlags) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDMOQualityControl, 0x65abea96, 0xcf36, 0x453f, 0xaf,0x8a, 0x70,0x5e,0x98,0xf1,0x62,0x60)
|
|
#endif
|
|
#else
|
|
typedef struct IDMOQualityControlVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IDMOQualityControl* This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IDMOQualityControl* This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IDMOQualityControl* This);
|
|
|
|
/*** IDMOQualityControl methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetNow)(
|
|
IDMOQualityControl* This,
|
|
REFERENCE_TIME rtNow);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStatus)(
|
|
IDMOQualityControl* This,
|
|
DWORD dwFlags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatus)(
|
|
IDMOQualityControl* This,
|
|
DWORD *pdwFlags);
|
|
|
|
END_INTERFACE
|
|
} IDMOQualityControlVtbl;
|
|
interface IDMOQualityControl {
|
|
CONST_VTBL IDMOQualityControlVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDMOQualityControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IDMOQualityControl_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDMOQualityControl_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDMOQualityControl methods ***/
|
|
#define IDMOQualityControl_SetNow(This,rtNow) (This)->lpVtbl->SetNow(This,rtNow)
|
|
#define IDMOQualityControl_SetStatus(This,dwFlags) (This)->lpVtbl->SetStatus(This,dwFlags)
|
|
#define IDMOQualityControl_GetStatus(This,pdwFlags) (This)->lpVtbl->GetStatus(This,pdwFlags)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IDMOQualityControl_QueryInterface(IDMOQualityControl* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IDMOQualityControl_AddRef(IDMOQualityControl* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IDMOQualityControl_Release(IDMOQualityControl* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDMOQualityControl methods ***/
|
|
static FORCEINLINE HRESULT IDMOQualityControl_SetNow(IDMOQualityControl* This,REFERENCE_TIME rtNow) {
|
|
return This->lpVtbl->SetNow(This,rtNow);
|
|
}
|
|
static FORCEINLINE HRESULT IDMOQualityControl_SetStatus(IDMOQualityControl* This,DWORD dwFlags) {
|
|
return This->lpVtbl->SetStatus(This,dwFlags);
|
|
}
|
|
static FORCEINLINE HRESULT IDMOQualityControl_GetStatus(IDMOQualityControl* This,DWORD *pdwFlags) {
|
|
return This->lpVtbl->GetStatus(This,pdwFlags);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetNow_Proxy(
|
|
IDMOQualityControl* This,
|
|
REFERENCE_TIME rtNow);
|
|
void __RPC_STUB IDMOQualityControl_SetNow_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IDMOQualityControl_SetStatus_Proxy(
|
|
IDMOQualityControl* This,
|
|
DWORD dwFlags);
|
|
void __RPC_STUB IDMOQualityControl_SetStatus_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IDMOQualityControl_GetStatus_Proxy(
|
|
IDMOQualityControl* This,
|
|
DWORD *pdwFlags);
|
|
void __RPC_STUB IDMOQualityControl_GetStatus_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#endif /* __IDMOQualityControl_INTERFACE_DEFINED__ */
|
|
|
|
|
|
/*****************************************************************************
|
|
* IDMOVideoOutputOptimizations interface
|
|
*/
|
|
#ifndef __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__
|
|
#define __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IDMOVideoOutputOptimizations, 0xbe8f4f4e, 0x5b16, 0x4d29, 0xb3,0x50, 0x7f,0x6b,0x5d,0x92,0x98,0xac);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("be8f4f4e-5b16-4d29-b350-7f6b5d9298ac")
|
|
IDMOVideoOutputOptimizations : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE QueryOperationModePreferences(
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwRequestedCapabilities) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOperationMode(
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD dwEnabledFeatures) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCurrentOperationMode(
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwEnabledFeatures) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCurrentSampleRequirements(
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwRequestedFeatures) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IDMOVideoOutputOptimizations, 0xbe8f4f4e, 0x5b16, 0x4d29, 0xb3,0x50, 0x7f,0x6b,0x5d,0x92,0x98,0xac)
|
|
#endif
|
|
#else
|
|
typedef struct IDMOVideoOutputOptimizationsVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IDMOVideoOutputOptimizations* This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IDMOVideoOutputOptimizations* This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IDMOVideoOutputOptimizations* This);
|
|
|
|
/*** IDMOVideoOutputOptimizations methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryOperationModePreferences)(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwRequestedCapabilities);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOperationMode)(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD dwEnabledFeatures);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCurrentOperationMode)(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwEnabledFeatures);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCurrentSampleRequirements)(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwRequestedFeatures);
|
|
|
|
END_INTERFACE
|
|
} IDMOVideoOutputOptimizationsVtbl;
|
|
interface IDMOVideoOutputOptimizations {
|
|
CONST_VTBL IDMOVideoOutputOptimizationsVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IDMOVideoOutputOptimizations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IDMOVideoOutputOptimizations_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IDMOVideoOutputOptimizations_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IDMOVideoOutputOptimizations methods ***/
|
|
#define IDMOVideoOutputOptimizations_QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities) (This)->lpVtbl->QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities)
|
|
#define IDMOVideoOutputOptimizations_SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures) (This)->lpVtbl->SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures)
|
|
#define IDMOVideoOutputOptimizations_GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures) (This)->lpVtbl->GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures)
|
|
#define IDMOVideoOutputOptimizations_GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures) (This)->lpVtbl->GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_QueryInterface(IDMOVideoOutputOptimizations* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IDMOVideoOutputOptimizations_AddRef(IDMOVideoOutputOptimizations* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IDMOVideoOutputOptimizations_Release(IDMOVideoOutputOptimizations* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IDMOVideoOutputOptimizations methods ***/
|
|
static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_QueryOperationModePreferences(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwRequestedCapabilities) {
|
|
return This->lpVtbl->QueryOperationModePreferences(This,ulOutputStreamIndex,pdwRequestedCapabilities);
|
|
}
|
|
static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_SetOperationMode(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD dwEnabledFeatures) {
|
|
return This->lpVtbl->SetOperationMode(This,ulOutputStreamIndex,dwEnabledFeatures);
|
|
}
|
|
static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_GetCurrentOperationMode(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwEnabledFeatures) {
|
|
return This->lpVtbl->GetCurrentOperationMode(This,ulOutputStreamIndex,pdwEnabledFeatures);
|
|
}
|
|
static FORCEINLINE HRESULT IDMOVideoOutputOptimizations_GetCurrentSampleRequirements(IDMOVideoOutputOptimizations* This,ULONG ulOutputStreamIndex,DWORD *pdwRequestedFeatures) {
|
|
return This->lpVtbl->GetCurrentSampleRequirements(This,ulOutputStreamIndex,pdwRequestedFeatures);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_QueryOperationModePreferences_Proxy(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwRequestedCapabilities);
|
|
void __RPC_STUB IDMOVideoOutputOptimizations_QueryOperationModePreferences_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_SetOperationMode_Proxy(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD dwEnabledFeatures);
|
|
void __RPC_STUB IDMOVideoOutputOptimizations_SetOperationMode_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentOperationMode_Proxy(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwEnabledFeatures);
|
|
void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentOperationMode_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
HRESULT STDMETHODCALLTYPE IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Proxy(
|
|
IDMOVideoOutputOptimizations* This,
|
|
ULONG ulOutputStreamIndex,
|
|
DWORD *pdwRequestedFeatures);
|
|
void __RPC_STUB IDMOVideoOutputOptimizations_GetCurrentSampleRequirements_Stub(
|
|
IRpcStubBuffer* This,
|
|
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
PRPC_MESSAGE pRpcMessage,
|
|
DWORD* pdwStubPhase);
|
|
|
|
#endif /* __IDMOVideoOutputOptimizations_INTERFACE_DEFINED__ */
|
|
|
|
#endif
|
|
/* Begin additional prototypes for all interfaces */
|
|
|
|
|
|
/* End additional prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __mediaobj_h__ */
|