mirror of
https://github.com/reactos/reactos.git
synced 2025-01-05 22:12:46 +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>ddstream.idl</file>
|
||||
<file>mixerocx.idl</file>
|
||||
<file>mediaobj.idl</file>
|
||||
<file>medparam.idl</file>
|
||||
<file>mmstream.idl</file>
|
||||
<file>vidcap.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…
Reference in a new issue