]> git.sesse.net Git - vlc/blob - loader/wine/msacmdrv.h
2e23a17d795f87b0083d537699e5332f2917ecb6
[vlc] / loader / wine / msacmdrv.h
1 /*
2  *      msacmdrv.h   -       Declarations for MSACM driver
3  */
4
5 #ifndef __WINE_MSACMDRV_H
6 #define __WINE_MSACMDRV_H
7
8 #include "windef.h"
9 #include "msacm.h"
10
11 /***********************************************************************
12  * Types
13  */
14
15 /***********************************************************************
16  * Defines/Enums
17  */
18
19 #define MAKE_ACM_VERSION(mjr, mnr, bld) \
20   (((long)(mjr)<<24) | ((long)(mnr)<<16) | ((long)bld))
21
22 #define ACMDRVOPENDESC_SECTIONNAME_CHARS    
23
24 #define ACMDM_DRIVER_NOTIFY             (ACMDM_BASE + 1)
25 #define ACMDM_DRIVER_DETAILS            (ACMDM_BASE + 10)
26
27 #define ACMDM_HARDWARE_WAVE_CAPS_INPUT  (ACMDM_BASE + 20)
28 #define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21)
29
30 #define ACMDM_FORMATTAG_DETAILS         (ACMDM_BASE + 25)
31 #define ACMDM_FORMAT_DETAILS            (ACMDM_BASE + 26)
32 #define ACMDM_FORMAT_SUGGEST            (ACMDM_BASE + 27)
33
34 #define ACMDM_FILTERTAG_DETAILS         (ACMDM_BASE + 50)
35 #define ACMDM_FILTER_DETAILS            (ACMDM_BASE + 51)
36
37 #define ACMDM_STREAM_OPEN               (ACMDM_BASE + 76)
38 #define ACMDM_STREAM_CLOSE              (ACMDM_BASE + 77)
39 #define ACMDM_STREAM_SIZE               (ACMDM_BASE + 78)
40 #define ACMDM_STREAM_CONVERT            (ACMDM_BASE + 79)
41 #define ACMDM_STREAM_RESET              (ACMDM_BASE + 80)
42 #define ACMDM_STREAM_PREPARE            (ACMDM_BASE + 81)
43 #define ACMDM_STREAM_UNPREPARE          (ACMDM_BASE + 82)
44 #define ACMDM_STREAM_UPDATE             (ACMDM_BASE + 83)
45
46 /***********************************************************************
47  * Structures
48  */
49
50 typedef struct _ACMDRVOPENDESCA
51 {
52   DWORD  cbStruct;
53   FOURCC fccType;
54   FOURCC fccComp;
55   DWORD  dwVersion;
56   DWORD  dwFlags;
57   DWORD  dwError;
58   LPCSTR pszSectionName;
59   LPCSTR pszAliasName;
60   DWORD  dnDevNode;
61 } ACMDRVOPENDESCA, *PACMDRVOPENDESCA;
62
63 typedef struct _ACMDRVOPENDESCW
64 {
65   DWORD   cbStruct;
66   FOURCC  fccType;
67   FOURCC  fccComp;
68   DWORD   dwVersion;
69   DWORD   dwFlags;
70   DWORD   dwError;
71   LPCWSTR pszSectionName;
72   LPCWSTR pszAliasName;
73   DWORD   dnDevNode;
74 } ACMDRVOPENDESCW, *PACMDRVOPENDESCW;
75
76 typedef struct _ACMDRVOPENDESC16
77 {
78   DWORD  cbStruct;
79   FOURCC fccType;
80   FOURCC fccComp;
81   DWORD  dwVersion;
82   DWORD  dwFlags;
83   DWORD  dwError;
84   LPCSTR pszSectionName;
85   LPCSTR pszAliasName;
86   DWORD  dnDevNode;
87 } ACMDRVOPENDESC16, *NPACMDRVOPENDESC16, *LPACMDRVOPENDESC16;
88
89 typedef struct _ACMDRVSTREAMINSTANCE16
90 {
91   DWORD            cbStruct;
92   LPWAVEFORMATEX   pwfxSrc;
93   LPWAVEFORMATEX   pwfxDst;
94   LPWAVEFILTER     pwfltr;
95   DWORD            dwCallback;
96   DWORD            dwInstance;
97   DWORD            fdwOpen;
98   DWORD            fdwDriver;
99   DWORD            dwDriver;
100   HACMSTREAM16     has;
101 } ACMDRVSTREAMINSTANCE16, *NPACMDRVSTREAMINSTANCE16, *LPACMDRVSTREAMINSTANCE16;
102
103 typedef struct _ACMDRVSTREAMINSTANCE
104 {
105   DWORD           cbStruct;
106   PWAVEFORMATEX   pwfxSrc;
107   PWAVEFORMATEX   pwfxDst;
108   PWAVEFILTER     pwfltr;
109   DWORD           dwCallback;
110   DWORD           dwInstance;
111   DWORD           fdwOpen;
112   DWORD           fdwDriver;
113   DWORD           dwDriver;
114   HACMSTREAM    has;
115 } ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE;
116
117
118 typedef struct _ACMDRVSTREAMHEADER16 *LPACMDRVSTREAMHEADER16;
119 typedef struct _ACMDRVSTREAMHEADER16 {
120   DWORD  cbStruct;
121   DWORD  fdwStatus;
122   DWORD  dwUser;
123   LPBYTE pbSrc;
124   DWORD  cbSrcLength;
125   DWORD  cbSrcLengthUsed;
126   DWORD  dwSrcUser;
127   LPBYTE pbDst;
128   DWORD  cbDstLength;
129   DWORD  cbDstLengthUsed;
130   DWORD  dwDstUser;
131
132   DWORD fdwConvert;
133   LPACMDRVSTREAMHEADER16 *padshNext;
134   DWORD fdwDriver;
135   DWORD dwDriver;
136
137   /* Internal fields for ACM */
138   DWORD  fdwPrepared;
139   DWORD  dwPrepared;
140   LPBYTE pbPreparedSrc;
141   DWORD  cbPreparedSrcLength;
142   LPBYTE pbPreparedDst;
143   DWORD  cbPreparedDstLength;
144 } ACMDRVSTREAMHEADER16, *NPACMDRVSTREAMHEADER16;
145
146 typedef struct _ACMDRVSTREAMHEADER *PACMDRVSTREAMHEADER;
147 typedef struct _ACMDRVSTREAMHEADER {
148   DWORD  cbStruct;
149   DWORD  fdwStatus;
150   DWORD  dwUser;
151   LPBYTE pbSrc;
152   DWORD  cbSrcLength;
153   DWORD  cbSrcLengthUsed;
154   DWORD  dwSrcUser;
155   LPBYTE pbDst;
156   DWORD  cbDstLength;
157   DWORD  cbDstLengthUsed;
158   DWORD  dwDstUser;
159
160   DWORD fdwConvert;
161   PACMDRVSTREAMHEADER *padshNext;
162   DWORD fdwDriver;
163   DWORD dwDriver;
164
165   /* Internal fields for ACM */
166   DWORD  fdwPrepared;
167   DWORD  dwPrepared;
168   LPBYTE pbPreparedSrc;
169   DWORD  cbPreparedSrcLength;
170   LPBYTE pbPreparedDst;
171   DWORD  cbPreparedDstLength;
172 } ACMDRVSTREAMHEADER;
173
174 typedef struct _ACMDRVSTREAMSIZE
175 {
176   DWORD cbStruct;
177   DWORD fdwSize;
178   DWORD cbSrcLength;
179   DWORD cbDstLength;
180 } ACMDRVSTREAMSIZE16, *NPACMDRVSTREAMSIZE16, *LPACMDRVSTREAMSIZE16,
181   ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE;
182
183 typedef struct _ACMDRVFORMATSUGGEST16
184 {
185   DWORD            cbStruct;
186   DWORD            fdwSuggest;
187   LPWAVEFORMATEX   pwfxSrc;
188   DWORD            cbwfxSrc;
189   LPWAVEFORMATEX   pwfxDst;
190   DWORD            cbwfxDst;
191 } ACMDRVFORMATSUGGEST16, *NPACMDRVFORMATSUGGEST, *LPACMDRVFORMATSUGGEST;
192
193 typedef struct _ACMDRVFORMATSUGGEST
194 {
195   DWORD           cbStruct;
196   DWORD           fdwSuggest;
197   PWAVEFORMATEX   pwfxSrc;
198   DWORD           cbwfxSrc;
199   PWAVEFORMATEX   pwfxDst;
200   DWORD           cbwfxDst;
201 } ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST;
202
203 #endif  /* __WINE_MSACMDRV_H */