mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 00:55:48 +00:00
add correct mediaoobj.idl compatible with ms dxsdk 2004 dec
add medoaram.idl compatible with ms dxsdk 2004 dec svn path=/trunk/; revision=26908
This commit is contained in:
parent
c6c58b7697
commit
cd9120322a
5 changed files with 298 additions and 246 deletions
|
@ -3,6 +3,8 @@
|
||||||
<file>amstream.idl</file>
|
<file>amstream.idl</file>
|
||||||
<file>ddstream.idl</file>
|
<file>ddstream.idl</file>
|
||||||
<file>mixerocx.idl</file>
|
<file>mixerocx.idl</file>
|
||||||
|
<file>mediaobj.idl</file>
|
||||||
|
<file>medparam.idl</file>
|
||||||
<file>mmstream.idl</file>
|
<file>mmstream.idl</file>
|
||||||
<file>vidcap.idl</file>
|
<file>vidcap.idl</file>
|
||||||
<file>Videoacc.idl</file>
|
<file>Videoacc.idl</file>
|
||||||
|
|
189
reactos/include/dxsdk/mediaobj.idl
Normal file
189
reactos/include/dxsdk/mediaobj.idl
Normal file
|
@ -0,0 +1,189 @@
|
||||||
|
|
||||||
|
import "unknwn.idl";
|
||||||
|
import "objidl.idl";
|
||||||
|
|
||||||
|
|
||||||
|
cpp_quote("#ifdef __strmif_h__")
|
||||||
|
cpp_quote("typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;")
|
||||||
|
cpp_quote("#else")
|
||||||
|
typedef struct _DMOMediaType
|
||||||
|
{
|
||||||
|
GUID majortype;
|
||||||
|
GUID subtype;
|
||||||
|
BOOL bFixedSizeSamples;
|
||||||
|
BOOL bTemporalCompression;
|
||||||
|
ULONG lSampleSize;
|
||||||
|
GUID formattype;
|
||||||
|
IUnknown *pUnk;
|
||||||
|
ULONG cbFormat;
|
||||||
|
[size_is(cbFormat)] BYTE * pbFormat;
|
||||||
|
} DMO_MEDIA_TYPE;
|
||||||
|
typedef LONGLONG REFERENCE_TIME;
|
||||||
|
cpp_quote("#endif")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
enum _DMO_INPUT_DATA_BUFFER_FLAGS
|
||||||
|
{
|
||||||
|
DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x00000001,
|
||||||
|
DMO_INPUT_DATA_BUFFERF_TIME = 0x00000002,
|
||||||
|
DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x00000004
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_OUTPUT_DATA_BUFFER_FLAGS
|
||||||
|
{
|
||||||
|
DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x00000001,
|
||||||
|
DMO_OUTPUT_DATA_BUFFERF_TIME = 0x00000002,
|
||||||
|
DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x00000004,
|
||||||
|
DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x01000000
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_INPUT_STATUS_FLAGS
|
||||||
|
{
|
||||||
|
DMO_INPUT_STATUSF_ACCEPT_DATA = 0x00000001
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_INPUT_STREAM_INFO_FLAGS
|
||||||
|
{
|
||||||
|
DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x00000001,
|
||||||
|
DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x00000002,
|
||||||
|
DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x00000004,
|
||||||
|
DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x00000008
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_OUTPUT_STREAM_INFO_FLAGS
|
||||||
|
{
|
||||||
|
DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x00000001,
|
||||||
|
DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x00000002,
|
||||||
|
DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x00000004,
|
||||||
|
DMO_OUTPUT_STREAMF_DISCARDABLE = 0x00000008,
|
||||||
|
DMO_OUTPUT_STREAMF_OPTIONAL = 0x00000010
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_SET_TYPE_FLAGS
|
||||||
|
{
|
||||||
|
DMO_SET_TYPEF_TEST_ONLY = 0x00000001,
|
||||||
|
DMO_SET_TYPEF_CLEAR = 0x00000002
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_PROCESS_OUTPUT_FLAGS
|
||||||
|
{
|
||||||
|
DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x00000001
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_INPLACE_PROCESS_FLAGS
|
||||||
|
{
|
||||||
|
DMO_INPLACE_NORMAL = 0x00000000,
|
||||||
|
DMO_INPLACE_ZERO = 0x00000001
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_QUALITY_STATUS_FLAGS
|
||||||
|
{
|
||||||
|
DMO_QUALITY_STATUS_ENABLED = 0x00000001
|
||||||
|
};
|
||||||
|
|
||||||
|
enum _DMO_VIDEO_OUTPUT_STREAM_FLAGS
|
||||||
|
{
|
||||||
|
DMO_VOSF_NEEDS_PREVIOUS_SAMPLE = 0x00000001
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(59eff8b9-938c-4a26-82f2-95cb84cdc837)
|
||||||
|
]
|
||||||
|
interface IMediaBuffer : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT SetLength(DWORD cbLength);
|
||||||
|
HRESULT GetMaxLength([out] DWORD *pcbMaxLength);
|
||||||
|
HRESULT GetBufferAndLength([out] BYTE **ppBuffer, [out] DWORD *pcbLength);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct _DMO_OUTPUT_DATA_BUFFER
|
||||||
|
{
|
||||||
|
IMediaBuffer *pBuffer;
|
||||||
|
DWORD dwStatus;
|
||||||
|
REFERENCE_TIME rtTimestamp;
|
||||||
|
REFERENCE_TIME rtTimelength;
|
||||||
|
} DMO_OUTPUT_DATA_BUFFER, *PDMO_OUTPUT_DATA_BUFFER;
|
||||||
|
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(d8ad0f58-5494-4102-97c5-ec798e59bcf4)
|
||||||
|
]
|
||||||
|
interface IMediaObject : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT GetStreamCount([out] DWORD *pcInputStreams, [out] DWORD *pcOutputStreams);
|
||||||
|
HRESULT GetInputStreamInfo(DWORD dwInputStreamIndex, [out] DWORD *pdwFlags);
|
||||||
|
HRESULT GetOutputStreamInfo(DWORD dwOutputStreamIndex, [out] DWORD *pdwFlags);
|
||||||
|
HRESULT GetInputType(DWORD dwInputStreamIndex, DWORD dwTypeIndex, [out] DMO_MEDIA_TYPE *pmt);
|
||||||
|
HRESULT GetOutputType(DWORD dwOutputStreamIndex, DWORD dwTypeIndex, [out] DMO_MEDIA_TYPE *pmt);
|
||||||
|
HRESULT SetInputType(DWORD dwInputStreamIndex, [in] const DMO_MEDIA_TYPE *pmt, DWORD dwFlags);
|
||||||
|
HRESULT SetOutputType(DWORD dwOutputStreamIndex, [in] const DMO_MEDIA_TYPE *pmt, DWORD dwFlags);
|
||||||
|
HRESULT GetInputCurrentType(DWORD dwInputStreamIndex, [out] DMO_MEDIA_TYPE *pmt);
|
||||||
|
HRESULT GetOutputCurrentType(DWORD dwOutputStreamIndex, [out] DMO_MEDIA_TYPE *pmt);
|
||||||
|
HRESULT GetInputSizeInfo(DWORD dwInputStreamIndex, [out] DWORD *pcbSize, [out] DWORD *pcbMaxLookahead, [out] DWORD *pcbAlignment);
|
||||||
|
HRESULT GetOutputSizeInfo(DWORD dwOutputStreamIndex, [out] DWORD *pcbSize, [out] DWORD *pcbAlignment);
|
||||||
|
HRESULT GetInputMaxLatency(DWORD dwInputStreamIndex, [out] REFERENCE_TIME *prtMaxLatency);
|
||||||
|
HRESULT SetInputMaxLatency(DWORD dwInputStreamIndex, REFERENCE_TIME rtMaxLatency);
|
||||||
|
HRESULT Flush();
|
||||||
|
HRESULT Discontinuity(DWORD dwInputStreamIndex);
|
||||||
|
HRESULT AllocateStreamingResources();
|
||||||
|
HRESULT FreeStreamingResources();
|
||||||
|
HRESULT GetInputStatus(DWORD dwInputStreamIndex, [out] DWORD *dwFlags);
|
||||||
|
HRESULT ProcessInput(DWORD dwInputStreamIndex, IMediaBuffer *pBuffer, DWORD dwFlags, REFERENCE_TIME rtTimestamp, REFERENCE_TIME rtTimelength);
|
||||||
|
HRESULT ProcessOutput(DWORD dwFlags,DWORD cOutputBufferCount, [in,out,size_is(cOutputBufferCount)]
|
||||||
|
DMO_OUTPUT_DATA_BUFFER *pOutputBuffers, [out] DWORD *pdwStatus);
|
||||||
|
HRESULT Lock(LONG bLock);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(2c3cd98a-2bfa-4a53-9c27-5249ba64ba0f)
|
||||||
|
]
|
||||||
|
interface IEnumDMO : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT Next(DWORD cItemsToFetch, [out, size_is(cItemsToFetch), length_is(*pcItemsFetched)] CLSID *pCLSID, [out, size_is(cItemsToFetch), length_is(*pcItemsFetched), string] WCHAR **Names, [out] DWORD *pcItemsFetched);
|
||||||
|
HRESULT Skip(DWORD cItemsToSkip);
|
||||||
|
HRESULT Reset(void);
|
||||||
|
HRESULT Clone([out] IEnumDMO **ppEnum);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(651b9ad0-0fc7-4aa9-9538-d89931010741)
|
||||||
|
]
|
||||||
|
interface IMediaObjectInPlace : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT Process([in] ULONG ulSize, [in,out,size_is(ulSize)] BYTE* pData, [in] REFERENCE_TIME refTimeStart, [in] DWORD dwFlags);
|
||||||
|
HRESULT Clone([out] IMediaObjectInPlace **ppMediaObject);
|
||||||
|
HRESULT GetLatency([out] REFERENCE_TIME *pLatencyTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(65abea96-cf36-453f-af8a-705e98f16260)
|
||||||
|
]
|
||||||
|
interface IDMOQualityControl : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT SetNow([in] REFERENCE_TIME rtNow);
|
||||||
|
HRESULT SetStatus([in] DWORD dwFlags);
|
||||||
|
HRESULT GetStatus([out] DWORD *pdwFlags);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(be8f4f4e-5b16-4d29-b350-7f6b5d9298ac)
|
||||||
|
]
|
||||||
|
interface IDMOVideoOutputOptimizations : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT QueryOperationModePreferences (ULONG ulOutputStreamIndex, DWORD *pdwRequestedCapabilities);
|
||||||
|
HRESULT SetOperationMode (ULONG ulOutputStreamIndex, DWORD dwEnabledFeatures);
|
||||||
|
HRESULT GetCurrentOperationMode (ULONG ulOutputStreamIndex, DWORD *pdwEnabledFeatures);
|
||||||
|
HRESULT GetCurrentSampleRequirements (ULONG ulOutputStreamIndex, DWORD *pdwRequestedFeatures
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
107
reactos/include/dxsdk/medparam.idl
Normal file
107
reactos/include/dxsdk/medparam.idl
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
|
||||||
|
|
||||||
|
import "oaidl.idl";
|
||||||
|
import "ocidl.idl";
|
||||||
|
import "strmif.idl";
|
||||||
|
|
||||||
|
|
||||||
|
typedef float MP_DATA;
|
||||||
|
|
||||||
|
typedef enum _MP_Type
|
||||||
|
{
|
||||||
|
MPT_INT,
|
||||||
|
MPT_FLOAT,
|
||||||
|
MPT_BOOL,
|
||||||
|
MPT_ENUM,
|
||||||
|
MPT_MAX,
|
||||||
|
} MP_TYPE;
|
||||||
|
|
||||||
|
cpp_quote("const MP_DATA MPBOOL_TRUE = 1.0;")
|
||||||
|
cpp_quote("const MP_DATA MPBOOL_FALSE = 0.0;")
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum _MP_CURVE_TYPE
|
||||||
|
{
|
||||||
|
MP_CURVE_JUMP = 0x0001,
|
||||||
|
MP_CURVE_LINEAR = 0x0002,
|
||||||
|
MP_CURVE_SQUARE = 0x0004,
|
||||||
|
MP_CURVE_INVSQUARE = 0x0008,
|
||||||
|
MP_CURVE_SINE = 0x0010,
|
||||||
|
} MP_CURVE_TYPE;
|
||||||
|
|
||||||
|
|
||||||
|
typedef DWORD MP_CAPS;
|
||||||
|
const MP_CAPS MP_CAPS_CURVE_JUMP = MP_CURVE_JUMP;
|
||||||
|
const MP_CAPS MP_CAPS_CURVE_LINEAR = MP_CURVE_LINEAR;
|
||||||
|
const MP_CAPS MP_CAPS_CURVE_SQUARE = MP_CURVE_SQUARE;
|
||||||
|
const MP_CAPS MP_CAPS_CURVE_INVSQUARE = MP_CURVE_INVSQUARE;
|
||||||
|
const MP_CAPS MP_CAPS_CURVE_SINE = MP_CURVE_SINE;
|
||||||
|
|
||||||
|
typedef struct _MP_PARAMINFO
|
||||||
|
{
|
||||||
|
MP_TYPE mpType;
|
||||||
|
MP_CAPS mopCaps;
|
||||||
|
MP_DATA mpdMinValue;
|
||||||
|
MP_DATA mpdMaxValue;
|
||||||
|
MP_DATA mpdNeutralValue;
|
||||||
|
WCHAR szUnitText[32];
|
||||||
|
WCHAR szLabel[32];
|
||||||
|
} MP_PARAMINFO;
|
||||||
|
|
||||||
|
typedef DWORD DWORD;
|
||||||
|
const DWORD DWORD_ALLPARAMS = -1;
|
||||||
|
typedef DWORD MP_TIMEDATA;
|
||||||
|
|
||||||
|
cpp_quote("DEFINE_GUID(GUID_TIME_REFERENCE, 0x93ad712b, 0xdaa0, 0x4ffe, 0xbc, 0x81, 0xb0, 0xce, 0x50, 0x0f, 0xcd, 0xd9);")
|
||||||
|
cpp_quote("DEFINE_GUID(GUID_TIME_MUSIC, 0x0574c49d, 0x5b04, 0x4b15, 0xa5, 0x42, 0xae, 0x28, 0x20, 0x30, 0x11, 0x7b);")
|
||||||
|
cpp_quote("DEFINE_GUID(GUID_TIME_SAMPLES, 0xa8593d05, 0x0c43, 0x4984, 0x9a, 0x63, 0x97, 0xaf, 0x9e, 0x02, 0xc4, 0xc0);")
|
||||||
|
|
||||||
|
typedef DWORD MP_FLAGS;
|
||||||
|
const MP_FLAGS MPF_ENVLP_STANDARD = 0x0000;
|
||||||
|
const MP_FLAGS MPF_ENVLP_BEGIN_CURRENTVAL = 0x0001;
|
||||||
|
const MP_FLAGS MPF_ENVLP_BEGIN_NEUTRALVAL = 0x0002;
|
||||||
|
|
||||||
|
typedef struct _MP_ENVELOPE_SEGMENT
|
||||||
|
{
|
||||||
|
REFERENCE_TIME rtStart;
|
||||||
|
REFERENCE_TIME rtEnd;
|
||||||
|
MP_DATA valStart;
|
||||||
|
MP_DATA valEnd;
|
||||||
|
MP_CURVE_TYPE iCurve;
|
||||||
|
MP_FLAGS flags;
|
||||||
|
} MP_ENVELOPE_SEGMENT;
|
||||||
|
|
||||||
|
|
||||||
|
const MP_FLAGS MPF_PUNCHIN_REFTIME = 0;
|
||||||
|
const MP_FLAGS MPF_PUNCHIN_NOW = 0x0001;
|
||||||
|
const MP_FLAGS MPF_PUNCHIN_STOPPED = 0x0002;
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(6d6cbb60-a223-44aa-842f-a2f06750be6d),
|
||||||
|
version(1.0)
|
||||||
|
]
|
||||||
|
interface IMediaParamInfo : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT GetParamCount ([out] DWORD * pdwParams);
|
||||||
|
HRESULT GetParamInfo ([in] DWORD dwParamIndex, [out] MP_PARAMINFO * pInfo);
|
||||||
|
HRESULT GetParamText ([in] DWORD dwParamIndex, [out] WCHAR **ppwchText);
|
||||||
|
HRESULT GetNumTimeFormats ([out] DWORD * pdwNumTimeFormats);
|
||||||
|
HRESULT GetSupportedTimeFormat([in] DWORD dwFormatIndex, [out] GUID *pguidTimeFormat);
|
||||||
|
HRESULT GetCurrentTimeFormat ([out] GUID *pguidTimeFormat, [out] MP_TIMEDATA *pTimeData);
|
||||||
|
}
|
||||||
|
|
||||||
|
[
|
||||||
|
object,
|
||||||
|
uuid(6d6cbb61-a223-44aa-842f-a2f06750be6e),
|
||||||
|
version(1.0)
|
||||||
|
]
|
||||||
|
interface IMediaParams : IUnknown
|
||||||
|
{
|
||||||
|
HRESULT GetParam ([in] DWORD dwParamIndex, [out] MP_DATA *pValue);
|
||||||
|
HRESULT SetParam ([in] DWORD dwParamIndex, [in] MP_DATA value);
|
||||||
|
HRESULT AddEnvelope ([in] DWORD dwParamIndex, [in] DWORD cSegments, [in] MP_ENVELOPE_SEGMENT * pEnvelopeSegments);
|
||||||
|
HRESULT FlushEnvelope ([in] DWORD dwParamIndex, [in] REFERENCE_TIME refTimeStart, [in] REFERENCE_TIME refTimeEnd);
|
||||||
|
HRESULT SetTimeFormat ([in] GUID guidTimeFormat, [in] MP_TIMEDATA mpTimeData);
|
||||||
|
}
|
||||||
|
|
|
@ -1,172 +0,0 @@
|
||||||
/*** Autogenerated by WIDL 0.3.0 from include\psdk\mediaobj.idl - Do not edit ***/
|
|
||||||
#include <rpc.h>
|
|
||||||
#include <rpcndr.h>
|
|
||||||
|
|
||||||
#ifndef __WIDL_INCLUDE_PSDK_MEDIAOBJ_H
|
|
||||||
#define __WIDL_INCLUDE_PSDK_MEDIAOBJ_H
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
#if !defined(COM_NO_WINDOWS_H) && !defined(__WINESRC__)
|
|
||||||
#include <windows.h>
|
|
||||||
#include <ole2.h>
|
|
||||||
#endif
|
|
||||||
#include <unknwn.h>
|
|
||||||
#include <objidl.h>
|
|
||||||
#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
|
|
||||||
|
|
||||||
#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 __IMediaObjectInPlace_FWD_DEFINED__
|
|
||||||
#define __IMediaObjectInPlace_FWD_DEFINED__
|
|
||||||
typedef interface IMediaObjectInPlace IMediaObjectInPlace;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct _DMOMediaType {
|
|
||||||
GUID majortype;
|
|
||||||
GUID subtype;
|
|
||||||
BOOL bFixedSizeSamples;
|
|
||||||
BOOL bTemporalCompression;
|
|
||||||
ULONG lSampleSize;
|
|
||||||
GUID formattype;
|
|
||||||
IUnknown *pUnk;
|
|
||||||
ULONG cbFormat;
|
|
||||||
BYTE *pbFormat;
|
|
||||||
} DMO_MEDIA_TYPE;
|
|
||||||
#ifndef __IEnumDMO_FWD_DEFINED__
|
|
||||||
#define __IEnumDMO_FWD_DEFINED__
|
|
||||||
typedef interface IEnumDMO IEnumDMO;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* 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)
|
|
||||||
interface IEnumDMO : public IUnknown
|
|
||||||
{
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
||||||
DWORD cItemsToFetch,
|
|
||||||
CLSID* pCLSID,
|
|
||||||
WCHAR** Names,
|
|
||||||
DWORD* pcItemsFetched) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
||||||
DWORD cItemsToSkip) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Reset(
|
|
||||||
) = 0;
|
|
||||||
|
|
||||||
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
||||||
IEnumDMO** ppEnum) = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
#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,
|
|
||||||
WCHAR** 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 IEnumDMOVtbl* lpVtbl;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef COBJMACROS
|
|
||||||
/*** IUnknown methods ***/
|
|
||||||
#define IEnumDMO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
||||||
#define IEnumDMO_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
||||||
#define IEnumDMO_Release(p) (p)->lpVtbl->Release(p)
|
|
||||||
/*** IEnumDMO methods ***/
|
|
||||||
#define IEnumDMO_Next(p,a,b,c,d) (p)->lpVtbl->Next(p,a,b,c,d)
|
|
||||||
#define IEnumDMO_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
|
||||||
#define IEnumDMO_Reset(p) (p)->lpVtbl->Reset(p)
|
|
||||||
#define IEnumDMO_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
HRESULT CALLBACK IEnumDMO_Skip_Proxy(
|
|
||||||
IEnumDMO* This,
|
|
||||||
DWORD cItemsToSkip);
|
|
||||||
void __RPC_STUB IEnumDMO_Skip_Stub(
|
|
||||||
IRpcStubBuffer* This,
|
|
||||||
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK IEnumDMO_Reset_Proxy(
|
|
||||||
IEnumDMO* This);
|
|
||||||
void __RPC_STUB IEnumDMO_Reset_Stub(
|
|
||||||
IRpcStubBuffer* This,
|
|
||||||
IRpcChannelBuffer* pRpcChannelBuffer,
|
|
||||||
PRPC_MESSAGE pRpcMessage,
|
|
||||||
DWORD* pdwStubPhase);
|
|
||||||
HRESULT CALLBACK 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__ */
|
|
||||||
|
|
||||||
/* Begin additional prototypes for all interfaces */
|
|
||||||
|
|
||||||
|
|
||||||
/* End additional prototypes */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif /* __WIDL_INCLUDE_PSDK_MEDIAOBJ_H */
|
|
|
@ -1,74 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2002 Alexandre Julliard
|
|
||||||
* Copyright (C) 2004 Vincent Béron
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
cpp_quote("#if !defined(COM_NO_WINDOWS_H) && !defined(__WINESRC__)")
|
|
||||||
cpp_quote("#include <windows.h>")
|
|
||||||
cpp_quote("#include <ole2.h>")
|
|
||||||
cpp_quote("#endif")
|
|
||||||
|
|
||||||
import "unknwn.idl";
|
|
||||||
import "objidl.idl";
|
|
||||||
|
|
||||||
interface IDMOQualityControl;
|
|
||||||
interface IDMOVideoOutputOptimizations;
|
|
||||||
interface IMediaBuffer;
|
|
||||||
interface IMediaObject;
|
|
||||||
interface IMediaObjectInPlace;
|
|
||||||
|
|
||||||
typedef struct _DMOMediaType
|
|
||||||
{
|
|
||||||
GUID majortype;
|
|
||||||
GUID subtype;
|
|
||||||
BOOL bFixedSizeSamples;
|
|
||||||
BOOL bTemporalCompression;
|
|
||||||
ULONG lSampleSize;
|
|
||||||
GUID formattype;
|
|
||||||
IUnknown *pUnk;
|
|
||||||
ULONG cbFormat;
|
|
||||||
BYTE *pbFormat;
|
|
||||||
} DMO_MEDIA_TYPE;
|
|
||||||
|
|
||||||
/*****************************************************************************
|
|
||||||
* IEnumDMO interface
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
object,
|
|
||||||
uuid(2C3CD98A-2BFA-4A53-9C27-5249BA64BA0F),
|
|
||||||
pointer_default(unique)
|
|
||||||
]
|
|
||||||
interface IEnumDMO : IUnknown
|
|
||||||
{
|
|
||||||
[local]
|
|
||||||
HRESULT Next(
|
|
||||||
[in] DWORD cItemsToFetch,
|
|
||||||
[out] CLSID *pCLSID,
|
|
||||||
[out] WCHAR **Names,
|
|
||||||
[out] DWORD *pcItemsFetched
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT Skip(
|
|
||||||
[in] DWORD cItemsToSkip
|
|
||||||
);
|
|
||||||
|
|
||||||
HRESULT Reset();
|
|
||||||
|
|
||||||
HRESULT Clone(
|
|
||||||
[out] IEnumDMO **ppEnum
|
|
||||||
);
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue