d3drm: Load all sub-objects when a frame is found.
[wine] / include / ks.h
1 /*
2  * Copyright (C) 2004 Robert Reif
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
19 #ifndef _KS_
20 #define _KS_
21
22 typedef union tagKSIDENTIFIER
23 {
24     struct
25     {
26         GUID Set;
27         ULONG Id;
28         ULONG Flags;
29     } DUMMYSTRUCTNAME;
30     LONGLONG Alignment;
31 } KSIDENTIFIER;
32
33 typedef KSIDENTIFIER KSPROPERTY, *PKSPROPERTY, KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT;
34
35 typedef enum
36 {
37     KSPIN_DATAFLOW_IN = 1,
38     KSPIN_DATAFLOW_OUT
39 } KSPIN_DATAFLOW, *PKSPIN_DATAFLOW;
40
41 #define KSDATAFORMAT_BIT_TEMPORAL_COMPRESSION 0
42 #define KSDATAFORMAT_BIT_ATTRIBUTES 1
43 #define KSDATAFORMAT_TEMPORAL_COMPRESSION (1 << 0)
44 #define KSDATAFORMAT_ATTRIBUTES 1 (1 << 1)
45
46 #define KSDATARANGE_BIT_ATTRIBUTES 1
47 #define KSDATARANGE_BIT_REQUIRED_ATTRIBUTES 2
48 #define KSDATARANGE_ATTRIBUTES (1 << 1)
49 #define KSDATARANGE_REQUIRED_ATTRIBUTES (1 << 2)
50
51 typedef union unionKSDATAFORMAT
52 {
53     struct
54     {
55         ULONG FormatSize;
56         ULONG Flags;
57         ULONG SampleSize;
58         ULONG Reserved;
59         GUID MajorFormat;
60         GUID SubFormat;
61         GUID Specifier;
62     } DUMMYSTRUCTNAME;
63     LONGLONG Alignment;
64 } KSDATAFORMAT, *PKSDATAFORMAT, KSDATARANGE, *PKSDATARANGE;
65
66 #endif  /* _KS_ */