1*c2c66affSColin Finck/*
2*c2c66affSColin Finck * Copyright 2009 Alexandre Julliard
3*c2c66affSColin Finck *
4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or
5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public
6*c2c66affSColin Finck * License as published by the Free Software Foundation; either
7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version.
8*c2c66affSColin Finck *
9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful,
10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of
11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12*c2c66affSColin Finck * Lesser General Public License for more details.
13*c2c66affSColin Finck *
14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public
15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software
16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17*c2c66affSColin Finck */
18*c2c66affSColin Finck
19*c2c66affSColin Finck#pragma makedep proxy
20*c2c66affSColin Finck#pragma makedep register
21*c2c66affSColin Finck
22*c2c66affSColin Finckcpp_quote("#include <wingdi.h>")
23*c2c66affSColin Finck#include "strmif.idl"
24*c2c66affSColin Finck
25*c2c66affSColin Finck[
26*c2c66affSColin Finck    threading(both),
27*c2c66affSColin Finck    uuid(670d1d20-a068-11d0-b3f0-00aa003761c5)  /* IAMCopyCaptureFileProgress */
28*c2c66affSColin Finck]
29*c2c66affSColin Finckcoclass PSFactoryBuffer { interface IFactoryBuffer; }
30*c2c66affSColin Finck
31*c2c66affSColin Finck[
32*c2c66affSColin Finck    helpstring("Filter Graph"),
33*c2c66affSColin Finck    threading(both),
34*c2c66affSColin Finck    uuid(e436ebb3-524f-11ce-9f53-0020af0ba770)
35*c2c66affSColin Finck]
36*c2c66affSColin Finckcoclass FilterGraph { interface IFilterGraph2; }
37*c2c66affSColin Finck
38*c2c66affSColin Finck[
39*c2c66affSColin Finck    helpstring("Filter Graph no thread"),
40*c2c66affSColin Finck    threading(both),
41*c2c66affSColin Finck    uuid(e436ebb8-524f-11ce-9f53-0020af0ba770)
42*c2c66affSColin Finck]
43*c2c66affSColin Finckcoclass FilterGraphNoThread { interface IFilterGraph2; }
44*c2c66affSColin Finck
45*c2c66affSColin Finck[
46*c2c66affSColin Finck    helpstring("Filter Mapper"),
47*c2c66affSColin Finck    threading(both),
48*c2c66affSColin Finck    uuid(e436ebb2-524f-11ce-9f53-0020af0ba770)
49*c2c66affSColin Finck]
50*c2c66affSColin Finckcoclass FilterMapper { interface IFilterMapper; }
51*c2c66affSColin Finck
52*c2c66affSColin Finck[
53*c2c66affSColin Finck    helpstring("Filter Mapper2"),
54*c2c66affSColin Finck    threading(both),
55*c2c66affSColin Finck    uuid(cda42200-bd88-11d0-bd4e-00a0c911ce86)
56*c2c66affSColin Finck]
57*c2c66affSColin Finckcoclass FilterMapper2 { interface IFilterMapper3; }
58*c2c66affSColin Finck
59*c2c66affSColin Finck[
60*c2c66affSColin Finck    helpstring("System Clock"),
61*c2c66affSColin Finck    threading(both),
62*c2c66affSColin Finck    uuid(e436ebb1-524f-11ce-9f53-0020af0ba770)
63*c2c66affSColin Finck]
64*c2c66affSColin Finckcoclass SystemClock { interface IReferenceClock; }
65*c2c66affSColin Finck
66*c2c66affSColin Finck[
67*c2c66affSColin Finck    helpstring("Memory Allocator"),
68*c2c66affSColin Finck    threading(both),
69*c2c66affSColin Finck    uuid(1e651cc0-b199-11d0-8212-00c04fc32c45)
70*c2c66affSColin Finck]
71*c2c66affSColin Finckcoclass MemoryAllocator { interface IMemAllocator; }
72*c2c66affSColin Finck
73*c2c66affSColin Finck[
74*c2c66affSColin Finck    helpstring("Seeking"),
75*c2c66affSColin Finck    threading(both),
76*c2c66affSColin Finck    uuid(060af76c-68dd-11d0-8fc1-00c04fd9189d)
77*c2c66affSColin Finck]
78*c2c66affSColin Finckcoclass SeekingPassThru { interface ISeekingPassThru; }
79*c2c66affSColin Finck
80*c2c66affSColin Finck[
81*c2c66affSColin Finck    helpstring("File Source Filter"),
82*c2c66affSColin Finck    threading(both),
83*c2c66affSColin Finck    uuid(e436ebb5-524f-11ce-9f53-0020af0ba770)
84*c2c66affSColin Finck]
85*c2c66affSColin Finckcoclass AsyncReader { interface IBaseFilter; }
86*c2c66affSColin Finck
87*c2c66affSColin Finck[
88*c2c66affSColin Finck    helpstring("AVI Splitter"),
89*c2c66affSColin Finck    threading(both),
90*c2c66affSColin Finck    uuid(1b544c20-fd0b-11ce-8c63-00aa0044b51e)
91*c2c66affSColin Finck]
92*c2c66affSColin Finckcoclass AviSplitter { interface IBaseFilter; }
93*c2c66affSColin Finck
94*c2c66affSColin Finck[
95*c2c66affSColin Finck    helpstring("MPEG-I Stream Splitter"),
96*c2c66affSColin Finck    threading(both),
97*c2c66affSColin Finck    uuid(336475d0-942a-11ce-a870-00aa002feab5)
98*c2c66affSColin Finck]
99*c2c66affSColin Finckcoclass MPEG1Splitter { interface IBaseFilter; }
100*c2c66affSColin Finck
101*c2c66affSColin Finck[
102*c2c66affSColin Finck    helpstring("AVI Decompressor"),
103*c2c66affSColin Finck    threading(both),
104*c2c66affSColin Finck    uuid(cf49d4e0-1115-11ce-b03a-0020af0ba770)
105*c2c66affSColin Finck]
106*c2c66affSColin Finckcoclass AVIDec { interface IBaseFilter; }
107*c2c66affSColin Finck
108*c2c66affSColin Finck[
109*c2c66affSColin Finck    helpstring("DirectSound Audio Renderer"),
110*c2c66affSColin Finck    threading(both),
111*c2c66affSColin Finck    uuid(79376820-07d0-11cf-a24d-0020afd79767)
112*c2c66affSColin Finck]
113*c2c66affSColin Finckcoclass DSoundRender { interface IBaseFilter; }
114*c2c66affSColin Finck
115*c2c66affSColin Finck[
116*c2c66affSColin Finck    helpstring("Wave Audio Renderer"),
117*c2c66affSColin Finck    threading(both),
118*c2c66affSColin Finck    uuid(e30629d1-27e5-11ce-875d-00608cb78066)
119*c2c66affSColin Finck]
120*c2c66affSColin Finckcoclass AudioRender { interface IBaseFilter; }
121*c2c66affSColin Finck
122*c2c66affSColin Finck[
123*c2c66affSColin Finck    helpstring("Null Renderer"),
124*c2c66affSColin Finck    threading(both),
125*c2c66affSColin Finck    uuid(c1f400a4-3f08-11d3-9f0b-006008039e37)
126*c2c66affSColin Finck]
127*c2c66affSColin Finckcoclass NullRenderer { interface IBaseFilter; }
128*c2c66affSColin Finck
129*c2c66affSColin Finck[
130*c2c66affSColin Finck    helpstring("Video Renderer"),
131*c2c66affSColin Finck    threading(both),
132*c2c66affSColin Finck    uuid(70e102b0-5556-11ce-97c0-00aa0055595a)
133*c2c66affSColin Finck]
134*c2c66affSColin Finckcoclass VideoRenderer { interface IBaseFilter; }
135*c2c66affSColin Finck
136*c2c66affSColin Finck[
137*c2c66affSColin Finck    helpstring("Default Video Renderer"),
138*c2c66affSColin Finck    threading(both),
139*c2c66affSColin Finck    uuid(6bc1cffa-8fc1-4261-ac22-cfb4cc38db50)
140*c2c66affSColin Finck]
141*c2c66affSColin Finckcoclass VideoRendererDefault { interface IBaseFilter; }
142*c2c66affSColin Finck
143*c2c66affSColin Finck[
144*c2c66affSColin Finck    helpstring("ACM wrapper"),
145*c2c66affSColin Finck    threading(both),
146*c2c66affSColin Finck    uuid(6a08cf80-0e18-11cf-a24d-0020afd79767)
147*c2c66affSColin Finck]
148*c2c66affSColin Finckcoclass ACMWrapper { interface IBaseFilter; }
149*c2c66affSColin Finck
150*c2c66affSColin Finck[
151*c2c66affSColin Finck    helpstring("Wave Parser"),
152*c2c66affSColin Finck    threading(both),
153*c2c66affSColin Finck    uuid(d51bd5a1-7548-11cf-a520-0080c77ef58a)
154*c2c66affSColin Finck]
155*c2c66affSColin Finckcoclass WAVEParser { interface IBaseFilter; }
156*c2c66affSColin Finck
157*c2c66affSColin Finck[
158*c2c66affSColin Finck    helpstring("Video Mixing Renderer"),
159*c2c66affSColin Finck    threading(both),
160*c2c66affSColin Finck    uuid(b87beb7b-8d29-423f-ae4d-6582c10175ac)
161*c2c66affSColin Finck]
162*c2c66affSColin Finckcoclass VideoMixingRenderer { interface IBaseFilter; }
163*c2c66affSColin Finck
164*c2c66affSColin Finck[
165*c2c66affSColin Finck    helpstring("Video Mixing Renderer 9"),
166*c2c66affSColin Finck    threading(both),
167*c2c66affSColin Finck    uuid(51b4abf3-748f-4e3b-a276-c828330e926a)
168*c2c66affSColin Finck]
169*c2c66affSColin Finckcoclass VideoMixingRenderer9 { interface IBaseFilter; }
170