ReactOS 0.4.16-dev-340-g0540c21
mfidl.idl
Go to the documentation of this file.
1/*
2 * Copyright 2016 Michael Müller
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19import "mfobjects.idl";
20import "mftransform.idl";
21
22typedef unsigned __int64 TOPOID;
24
25typedef enum MF_TOPOLOGY_TYPE
26{
31 MF_TOPOLOGY_MAX = 0xffffffff
33
34typedef enum _MFCLOCK_STATE
35{
41
42typedef enum MF_OBJECT_TYPE
43{
48
49typedef struct _MFCLOCK_PROPERTIES
50{
58
59[
60 object,
61 uuid(2eb1e945-18b8-4139-9b1a-d5d584818530),
62]
63interface IMFClock : IUnknown
64{
66 HRESULT GetCorrelatedTime([in] DWORD reserved, [out] LONGLONG *clock_time, [out] MFTIME *system_time);
70}
71
72[
73 object,
74 uuid(83cf873a-f6da-4bc8-823f-bacfd55dc430),
75]
77{
85 [local] HRESULT ConnectOutput([in] DWORD output_index, [in] IMFTopologyNode *node, [in] DWORD input_index);
87 HRESULT GetInput([in] DWORD input_index, [out] IMFTopologyNode **node, [out] DWORD *output_index);
88 HRESULT GetOutput([in] DWORD output_index, [out] IMFTopologyNode **node, [out] DWORD *input_index);
92 [out, size_is(, *length)] BYTE **data);
96 [out, size_is(, *length)] BYTE **data);
98}
99
100[
101 object,
102 uuid(83cf873a-f6da-4bc8-823f-bacfd55dc433),
103]
105{
116}
117
118[
119 object,
120 uuid(90377834-21d0-4dee-8214-ba2e3e6c1127),
121]
122interface IMFMediaSession : IMFMediaEventGenerator
123{
126 HRESULT Start([in, unique] const GUID *format, [in, unique] const PROPVARIANT *start);
134}
135
136[
137 object,
138 uuid(fbe5a32d-a497-4b61-bb85-97b1a848a6e3)
139]
141{
143 [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
145 [in] IPropertyStore *props, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
147 [out] IUnknown **cancel_cookie, [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state);
151 [out] IUnknown **object);
153 [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
155 [in] DWORD flags, [in] IPropertyStore *props, [out] IUnknown **cancel_cookie,
156 [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state);
161 [out] IUnknown **object);
163 [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object);
165}
166
167cpp_quote("HRESULT WINAPI MFCreateMediaSession(IMFAttributes *config, IMFMediaSession **session);")
static int state
Definition: maze.c:121
#define __int64
Definition: basetyps.h:16
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
Definition: d3d10.idl:491
r reserved
Definition: btrfs.c:3006
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
#define local
Definition: zutil.h:30
GLuint start
Definition: gl.h:1545
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLuint index
Definition: glext.h:6031
GLfloat f
Definition: glext.h:7540
GLuint in
Definition: glext.h:9616
GLbitfield flags
Definition: glext.h:7161
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
GLuint64EXT * result
Definition: glext.h:11304
HRESULT GetProperties([out] MFCLOCK_PROPERTIES *props)
HRESULT GetState([in] DWORD reserved, [out] MFCLOCK_STATE *state)
HRESULT GetCorrelatedTime([in] DWORD reserved, [out] LONGLONG *clock_time, [out] MFTIME *system_time)
HRESULT GetClockCharacteristics([out] DWORD *characteristics)
HRESULT GetContinuityKey([out] DWORD *key)
HRESULT ClearTopologies()
HRESULT Start([in, unique] const GUID *format, [in, unique] const PROPVARIANT *start)
HRESULT GetFullTopology([in] DWORD flags, [in] TOPOID id, [out] IMFTopology **topology)
HRESULT Shutdown()
HRESULT GetClock([out] IMFClock **clock)
HRESULT Pause()
HRESULT SetTopology([in] DWORD flags, [in] IMFTopology *topology)
HRESULT Close()
HRESULT Stop()
HRESULT GetSessionCapabilities([out] DWORD *caps)
HRESULT BeginCreateObjectFromURL([in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props, [out] IUnknown **cancel_cookie, [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state)
HRESULT EndCreateObjectFromByteStream([in] IMFAsyncResult *result, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object)
HRESULT RemoteBeginCreateObjectFromURL([in, string] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props, [in] IMFRemoteAsyncCallback *callback)
HRESULT CreateObjectFromByteStream([in] IMFByteStream *stream, [in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object)
HRESULT CanceObjectCreation([in] IUnknown *cancel_cookie)
HRESULT RemoteEndCreateObjectFromURL([in] IUnknown *result, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object)
HRESULT EndCreateObjectFromURL([in] IMFAsyncResult *result, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object)
HRESULT BeginCreateObjectFromByteStream([in] IMFByteStream *stream, [in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props, [out] IUnknown **cancel_cookie, [in] IMFAsyncCallback *callback, [in] IUnknown *unk_state)
HRESULT RemoteBeginCreateObjectFromByteStream([in] IMFByteStream *stream, [in, unique] const WCHAR *url, [in] DWORD flags, [in, unique] IPropertyStore *props, [in] IMFRemoteAsyncCallback *callback)
HRESULT CreateObjectFromURL([in] const WCHAR *url, [in] DWORD flags, [in] IPropertyStore *props, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object)
HRESULT RemoteEndCreateObjectFromByteStream([in] IUnknown *result, [out] MF_OBJECT_TYPE *obj_type, [out] IUnknown **object)
HRESULT GetNodeType([out] MF_TOPOLOGY_TYPE *type)
HRESULT RemoteGetInputPrefType([in] DWORD index, [out] DWORD *length, [out, size_is(, *length)] BYTE **data)
HRESULT SetObject([in] IUnknown *object)
HRESULT SetOutputPrefType([in] DWORD index, [in] IMFMediaType *type)
HRESULT ConnectOutput([in] DWORD output_index, [in] IMFTopologyNode *node, [in] DWORD input_index)
HRESULT DisconnectOutput([in] DWORD index)
HRESULT GetInput([in] DWORD input_index, [out] IMFTopologyNode **node, [out] DWORD *output_index)
HRESULT SetInputPrefType([in] DWORD index, [in] IMFMediaType *type)
HRESULT RemoteGetOutputPrefType([in] DWORD index, [out] DWORD *length, [out, size_is(, *length)] BYTE **data)
HRESULT GetOutputPrefType([in] DWORD output_index, [out] IMFMediaType **type)
HRESULT GetInputPrefType([in] DWORD index, [out] IMFMediaType **type)
HRESULT GetOutput([in] DWORD output_index, [out] IMFTopologyNode **node, [out] DWORD *input_index)
HRESULT GetOutputCount([out] DWORD *count)
HRESULT CloneFrom([in] IMFTopologyNode *node)
HRESULT SetTopoNodeID([in] TOPOID id)
HRESULT GetInputCount([out] DWORD *count)
HRESULT GetTopoNodeID([out] TOPOID *id)
HRESULT GetObject([out] IUnknown **object)
HRESULT RemoveNode([in] IMFTopologyNode *node)
HRESULT GetOutputNodeCollection([out] IMFCollection **collection)
HRESULT GetSourceNodeCollection([out] IMFCollection **collection)
HRESULT GetNodeByID([in] TOPOID id, [out] IMFTopologyNode **node)
HRESULT GetNodeCount([out] WORD *nodes)
HRESULT GetNode([in] WORD index, [out] IMFTopologyNode **node)
HRESULT AddNode([in] IMFTopologyNode *node)
HRESULT GetTopologyID([out] TOPOID *id)
HRESULT Clear()
HRESULT CloneFrom([in] IMFTopology *topology)
Definition: msctf.idl:550
HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **resolver)
MF_OBJECT_TYPE
Definition: mfidl.idl:43
@ MF_OBJECT_INVALID
Definition: mfidl.idl:46
@ MF_OBJECT_MEDIASOURCE
Definition: mfidl.idl:44
@ MF_OBJECT_BYTESTREAM
Definition: mfidl.idl:45
struct _MFCLOCK_PROPERTIES MFCLOCK_PROPERTIES
_MFCLOCK_STATE
Definition: mfidl.idl:35
@ MFCLOCK_STATE_INVALID
Definition: mfidl.idl:36
@ MFCLOCK_STATE_STOPPED
Definition: mfidl.idl:38
@ MFCLOCK_STATE_RUNNING
Definition: mfidl.idl:37
@ MFCLOCK_STATE_PAUSED
Definition: mfidl.idl:39
unsigned __int64 TOPOID
Definition: mfidl.idl:22
enum _MFCLOCK_STATE MFCLOCK_STATE
MF_TOPOLOGY_TYPE
Definition: mfidl.idl:26
@ MF_TOPOLOGY_TRANSFORM_NODE
Definition: mfidl.idl:29
@ MF_TOPOLOGY_OUTPUT_NODE
Definition: mfidl.idl:27
@ MF_TOPOLOGY_TEE_NODE
Definition: mfidl.idl:30
@ MF_TOPOLOGY_SOURCESTREAM_NODE
Definition: mfidl.idl:28
@ MF_TOPOLOGY_MAX
Definition: mfidl.idl:31
LONGLONG MFTIME
Definition: mfidl.idl:23
HRESULT WINAPI MFCreateTopology(IMFTopology **topology)
static IPrintDialogCallback callback
Definition: printdlg.c:326
static const WCHAR url[]
Definition: encode.c:1432
static ICollection collection
Definition: typelib.c:184
static FILE * out
Definition: regtests2xml.c:44
_Check_return_ _CRTIMP clock_t __cdecl clock(void)
Definition: clock.c:23
DWORD dwClockJitter
Definition: mfidl.idl:56
unsigned __int64 qwCorrelationRate
Definition: mfidl.idl:51
unsigned __int64 qwClockFrequency
Definition: mfidl.idl:54
DWORD dwClockTolerance
Definition: mfidl.idl:55
DWORD dwClockFlags
Definition: mfidl.idl:53
Definition: format.c:58
Definition: copy.c:22
Definition: parse.h:23
int64_t LONGLONG
Definition: typedefs.h:68
Definition: dlist.c:348
static const WCHAR props[]
Definition: wbemdisp.c:288
#define WINAPI
Definition: msvc.h:6
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned char BYTE
Definition: xxhash.c:193