include/mscvpdb.h: Use flexible array members for the rest of structures.
[wine.git] / dlls / qcap / qcap_private.h
blobc9119b6a52e784c71a1ff43300a09eb694be8862
1 /*
2 * DirectShow capture
4 * Copyright (C) 2005 Rolf Kalbermatter
5 * Copyright 2005 Maarten Lankhorst
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef _QCAP_PRIVATE_H_DEFINED
22 #define _QCAP_PRIVATE_H_DEFINED
24 #define COBJMACROS
25 #define NONAMELESSSTRUCT
26 #define NONAMELESSUNION
27 #include <stdbool.h>
28 #include "dshow.h"
29 #include "winternl.h"
30 #include "wine/unixlib.h"
31 #include "wine/debug.h"
32 #include "wine/strmbase.h"
34 HRESULT audio_record_create(IUnknown *outer, IUnknown **out);
35 HRESULT avi_compressor_create(IUnknown *outer, IUnknown **out);
36 HRESULT avi_mux_create(IUnknown *outer, IUnknown **out);
37 HRESULT capture_graph_create(IUnknown *outer, IUnknown **out);
38 HRESULT file_writer_create(IUnknown *outer, IUnknown **out);
39 HRESULT smart_tee_create(IUnknown *outer, IUnknown **out);
40 HRESULT vfw_capture_create(IUnknown *outer, IUnknown **out);
42 typedef UINT64 video_capture_device_t;
44 struct create_params
46 unsigned int index;
47 video_capture_device_t *device;
50 struct destroy_params
52 video_capture_device_t device;
55 struct check_format_params
57 video_capture_device_t device;
58 const AM_MEDIA_TYPE *mt;
61 struct set_format_params
63 video_capture_device_t device;
64 const AM_MEDIA_TYPE *mt;
67 struct get_format_params
69 video_capture_device_t device;
70 AM_MEDIA_TYPE *mt;
71 VIDEOINFOHEADER *format;
74 struct get_media_type_params
76 video_capture_device_t device;
77 unsigned int index;
78 AM_MEDIA_TYPE *mt;
79 VIDEOINFOHEADER *format;
82 struct get_caps_params
84 video_capture_device_t device;
85 unsigned int index;
86 AM_MEDIA_TYPE *mt;
87 VIDEOINFOHEADER *format;
88 VIDEO_STREAM_CONFIG_CAPS *caps;
91 struct get_caps_count_params
93 video_capture_device_t device;
94 int *count;
97 struct get_prop_range_params
99 video_capture_device_t device;
100 VideoProcAmpProperty property;
101 LONG *min;
102 LONG *max;
103 LONG *step;
104 LONG *default_value;
105 LONG *flags;
108 struct get_prop_params
110 video_capture_device_t device;
111 VideoProcAmpProperty property;
112 LONG *value;
113 LONG *flags;
116 struct set_prop_params
118 video_capture_device_t device;
119 VideoProcAmpProperty property;
120 LONG value;
121 LONG flags;
124 struct read_frame_params
126 video_capture_device_t device;
127 void *data;
130 enum unix_funcs
132 unix_create,
133 unix_destroy,
134 unix_check_format,
135 unix_set_format,
136 unix_get_format,
137 unix_get_media_type,
138 unix_get_caps,
139 unix_get_caps_count,
140 unix_get_prop_range,
141 unix_get_prop,
142 unix_set_prop,
143 unix_read_frame,
144 unix_funcs_count
147 #endif