Ignore svn changes up to r30324
[mplayer/glamo.git] / loader / wine / msacm.h
blob6a0be7c068999f7a2980a7f2cbc84f047c244126
1 /*
2 * msacm.h - Declarations for MSACM
3 */
5 #ifndef MPLAYER_MSACM_H
6 #define MPLAYER_MSACM_H
8 #include "windef.h"
9 #include "driver.h"
10 #include "mmreg.h"
12 #ifdef __cplusplus
13 extern "C" {
14 #endif /* defined(__cplusplus) */
16 //typedef WORD VERSION; /* major (high byte), minor (low byte) */
18 typedef UINT16 MMVERSION16;
19 typedef UINT MMVERSION;
20 typedef UINT16 MCIDEVICEID16;
21 typedef UINT MCIDEVICEID;
22 typedef UINT16 MMRESULT16;
23 typedef UINT MMRESULT;
24 typedef DWORD FOURCC; /* a four character code */
28 #if !defined(WAVE_FORMAT_PCM)
29 #define WAVE_FORMAT_PCM 1
30 #endif
32 /***********************************************************************
33 * Defines/Enums
36 #define ACMERR_BASE 512
37 #define ACMERR_NOTPOSSIBLE (ACMERR_BASE + 0)
38 #define ACMERR_BUSY (ACMERR_BASE + 1)
39 #define ACMERR_UNPREPARED (ACMERR_BASE + 2)
40 #define ACMERR_CANCELED (ACMERR_BASE + 3)
42 #define MM_ACM_OPEN MM_STREAM_OPEN
43 #define MM_ACM_CLOSE MM_STREAM_CLOSE
44 #define MM_ACM_DONE MM_STREAM_DONE
46 #define ACM_DRIVERADDF_FUNCTION 0x00000003L
47 #define ACM_DRIVERADDF_NOTIFYHWND 0x00000004L
48 #define ACM_DRIVERADDF_TYPEMASK 0x00000007L
49 #define ACM_DRIVERADDF_LOCAL 0x00000000L
50 #define ACM_DRIVERADDF_GLOBAL 0x00000008L
52 #define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
53 #define ACMDRIVERDETAILS_LONGNAME_CHARS 128
54 #define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
55 #define ACMDRIVERDETAILS_LICENSING_CHARS 128
56 #define ACMDRIVERDETAILS_FEATURES_CHARS 512
58 #define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC mmioFOURCC('a', 'u', 'd', 'c')
59 #define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED mmioFOURCC('\0', '\0', '\0', '\0')
61 #define ACMDRIVERDETAILS_SUPPORTF_CODEC 0x00000001L
62 #define ACMDRIVERDETAILS_SUPPORTF_CONVERTER 0x00000002L
63 #define ACMDRIVERDETAILS_SUPPORTF_FILTER 0x00000004L
64 #define ACMDRIVERDETAILS_SUPPORTF_HARDWARE 0x00000008L
65 #define ACMDRIVERDETAILS_SUPPORTF_ASYNC 0x00000010L
66 #define ACMDRIVERDETAILS_SUPPORTF_LOCAL 0x40000000L
67 #define ACMDRIVERDETAILS_SUPPORTF_DISABLED 0x80000000L
69 #define ACM_DRIVERENUMF_NOLOCAL 0x40000000L
70 #define ACM_DRIVERENUMF_DISABLED 0x80000000L
72 #define ACM_DRIVERPRIORITYF_ENABLE 0x00000001L
73 #define ACM_DRIVERPRIORITYF_DISABLE 0x00000002L
74 #define ACM_DRIVERPRIORITYF_ABLEMASK 0x00000003L
75 #define ACM_DRIVERPRIORITYF_BEGIN 0x00010000L
76 #define ACM_DRIVERPRIORITYF_END 0x00020000L
77 #define ACM_DRIVERPRIORITYF_DEFERMASK 0x00030000L
79 #define MM_ACM_FILTERCHOOSE 0x8000
81 #define FILTERCHOOSE_MESSAGE 0
82 #define FILTERCHOOSE_FILTERTAG_VERIFY (FILTERCHOOSE_MESSAGE+0)
83 #define FILTERCHOOSE_FILTER_VERIFY (FILTERCHOOSE_MESSAGE+1)
84 #define FILTERCHOOSE_CUSTOM_VERIFY (FILTERCHOOSE_MESSAGE+2)
86 #define ACMFILTERCHOOSE_STYLEF_SHOWHELP 0x00000004L
87 #define ACMFILTERCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
88 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
89 #define ACMFILTERCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
90 #define ACMFILTERCHOOSE_STYLEF_INITTOFILTERSTRUCT 0x00000040L
91 #define ACMFILTERCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
93 #define ACMFILTERDETAILS_FILTER_CHARS 128
95 #define ACM_FILTERDETAILSF_INDEX 0x00000000L
96 #define ACM_FILTERDETAILSF_FILTER 0x00000001L
97 #define ACM_FILTERDETAILSF_QUERYMASK 0x0000000FL
99 #define ACMFILTERTAGDETAILS_FILTERTAG_CHARS 48
101 #define ACM_FILTERTAGDETAILSF_INDEX 0x00000000L
102 #define ACM_FILTERTAGDETAILSF_FILTERTAG 0x00000001L
103 #define ACM_FILTERTAGDETAILSF_LARGESTSIZE 0x00000002L
104 #define ACM_FILTERTAGDETAILSF_QUERYMASK 0x0000000FL
106 #define ACM_FILTERENUMF_DWFILTERTAG 0x00010000L
108 #define ACMHELPMSGSTRINGA "acmchoose_help"
109 #define ACMHELPMSGSTRINGW L"acmchoose_help"
110 #define ACMHELPMSGSTRING16 "acmchoose_help"
112 #define ACMHELPMSGCONTEXTMENUA "acmchoose_contextmenu"
113 #define ACMHELPMSGCONTEXTMENUW L"acmchoose_contextmenu"
114 #define ACMHELPMSGCONTEXTMENU16 "acmchoose_contextmenu"
116 #define ACMHELPMSGCONTEXTHELPA "acmchoose_contexthelp"
117 #define ACMHELPMSGCONTEXTHELPW L"acmchoose_contexthelp"
118 #define ACMHELPMSGCONTEXTHELP16 "acmchoose_contexthelp"
120 #define MM_ACM_FORMATCHOOSE 0x8000
122 #define FORMATCHOOSE_MESSAGE 0
123 #define FORMATCHOOSE_FORMATTAG_VERIFY (FORMATCHOOSE_MESSAGE+0)
124 #define FORMATCHOOSE_FORMAT_VERIFY (FORMATCHOOSE_MESSAGE+1)
125 #define FORMATCHOOSE_CUSTOM_VERIFY (FORMATCHOOSE_MESSAGE+2)
127 #define ACMFORMATCHOOSE_STYLEF_SHOWHELP 0x00000004L
128 #define ACMFORMATCHOOSE_STYLEF_ENABLEHOOK 0x00000008L
129 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE 0x00000010L
130 #define ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE 0x00000020L
131 #define ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT 0x00000040L
132 #define ACMFORMATCHOOSE_STYLEF_CONTEXTHELP 0x00000080L
134 #define ACMFORMATDETAILS_FORMAT_CHARS 128
136 #define ACM_FORMATDETAILSF_INDEX 0x00000000L
137 #define ACM_FORMATDETAILSF_FORMAT 0x00000001L
138 #define ACM_FORMATDETAILSF_QUERYMASK 0x0000000FL
140 #define ACM_FORMATENUMF_WFORMATTAG 0x00010000L
141 #define ACM_FORMATENUMF_NCHANNELS 0x00020000L
142 #define ACM_FORMATENUMF_NSAMPLESPERSEC 0x00040000L
143 #define ACM_FORMATENUMF_WBITSPERSAMPLE 0x00080000L
144 #define ACM_FORMATENUMF_CONVERT 0x00100000L
145 #define ACM_FORMATENUMF_SUGGEST 0x00200000L
146 #define ACM_FORMATENUMF_HARDWARE 0x00400000L
147 #define ACM_FORMATENUMF_INPUT 0x00800000L
148 #define ACM_FORMATENUMF_OUTPUT 0x01000000L
150 #define ACM_FORMATSUGGESTF_WFORMATTAG 0x00010000L
151 #define ACM_FORMATSUGGESTF_NCHANNELS 0x00020000L
152 #define ACM_FORMATSUGGESTF_NSAMPLESPERSEC 0x00040000L
153 #define ACM_FORMATSUGGESTF_WBITSPERSAMPLE 0x00080000L
154 #define ACM_FORMATSUGGESTF_TYPEMASK 0x00FF0000L
156 #define ACMFORMATTAGDETAILS_FORMATTAG_CHARS 48
158 #define ACM_FORMATTAGDETAILSF_INDEX 0x00000000L
159 #define ACM_FORMATTAGDETAILSF_FORMATTAG 0x00000001L
160 #define ACM_FORMATTAGDETAILSF_LARGESTSIZE 0x00000002L
161 #define ACM_FORMATTAGDETAILSF_QUERYMASK 0x0000000FL
163 #define ACM_METRIC_COUNT_DRIVERS 1
164 #define ACM_METRIC_COUNT_CODECS 2
165 #define ACM_METRIC_COUNT_CONVERTERS 3
166 #define ACM_METRIC_COUNT_FILTERS 4
167 #define ACM_METRIC_COUNT_DISABLED 5
168 #define ACM_METRIC_COUNT_HARDWARE 6
169 #define ACM_METRIC_COUNT_LOCAL_DRIVERS 20
170 #define ACM_METRIC_COUNT_LOCAL_CODECS 21
171 #define ACM_METRIC_COUNT_LOCAL_CONVERTERS 22
172 #define ACM_METRIC_COUNT_LOCAL_FILTERS 23
173 #define ACM_METRIC_COUNT_LOCAL_DISABLED 24
174 #define ACM_METRIC_HARDWARE_WAVE_INPUT 30
175 #define ACM_METRIC_HARDWARE_WAVE_OUTPUT 31
176 #define ACM_METRIC_MAX_SIZE_FORMAT 50
177 #define ACM_METRIC_MAX_SIZE_FILTER 51
178 #define ACM_METRIC_DRIVER_SUPPORT 100
179 #define ACM_METRIC_DRIVER_PRIORITY 101
181 #define ACM_STREAMCONVERTF_BLOCKALIGN 0x00000004
182 #define ACM_STREAMCONVERTF_START 0x00000010
183 #define ACM_STREAMCONVERTF_END 0x00000020
185 #define ACMSTREAMHEADER_STATUSF_DONE 0x00010000L
186 #define ACMSTREAMHEADER_STATUSF_PREPARED 0x00020000L
187 #define ACMSTREAMHEADER_STATUSF_INQUEUE 0x00100000L
189 #define ACM_STREAMOPENF_QUERY 0x00000001
190 #define ACM_STREAMOPENF_ASYNC 0x00000002
191 #define ACM_STREAMOPENF_NONREALTIME 0x00000004
193 #define ACM_STREAMSIZEF_SOURCE 0x00000000L
194 #define ACM_STREAMSIZEF_DESTINATION 0x00000001L
195 #define ACM_STREAMSIZEF_QUERYMASK 0x0000000FL
197 #define ACMDM_USER (DRV_USER + 0x0000)
198 #define ACMDM_RESERVED_LOW (DRV_USER + 0x2000)
199 #define ACMDM_RESERVED_HIGH (DRV_USER + 0x2FFF)
201 #define ACMDM_BASE ACMDM_RESERVED_LOW
203 #define ACMDM_DRIVER_ABOUT (ACMDM_BASE + 11)
205 /***********************************************************************
206 * Callbacks
209 typedef WIN_BOOL CALLBACK ( *ACMDRIVERENUMCB)(
210 HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
213 typedef WIN_BOOL16 CALLBACK ( *ACMDRIVERENUMCB16)(
214 HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport
217 typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROCA)(
218 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
221 typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROCW)(
222 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
225 typedef UINT CALLBACK ( *ACMFILTERCHOOSEHOOKPROC16)(
226 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
229 typedef UINT CALLBACK ( *ACMFORMATCHOOSEHOOKPROCA)(
230 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
233 typedef UINT CALLBACK ( *ACMFORMATCHOOSEHOOKPROCW)(
234 HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
237 typedef UINT16 CALLBACK ( *ACMFORMATCHOOSEHOOKPROC16)(
238 HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam
241 /***********************************************************************
242 * Structures
245 typedef struct ACMDRIVERDETAILSA
247 DWORD cbStruct;
249 FOURCC fccType;
250 FOURCC fccComp;
252 WORD wMid;
253 WORD wPid;
255 DWORD vdwACM;
256 DWORD vdwDriver;
258 DWORD fdwSupport;
259 DWORD cFormatTags;
260 DWORD cFilterTags;
262 HICON hicon;
264 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
265 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
266 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
267 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
268 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
269 } ACMDRIVERDETAILSA, *PACMDRIVERDETAILSA;
271 typedef struct ACMDRIVERDETAILSW
273 DWORD cbStruct;
275 FOURCC fccType;
276 FOURCC fccComp;
278 WORD wMid;
279 WORD wPid;
281 DWORD vdwACM;
282 DWORD vdwDriver;
284 DWORD fdwSupport;
285 DWORD cFormatTags;
286 DWORD cFilterTags;
288 HICON hicon;
290 WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
291 WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
292 WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
293 WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
294 WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
295 } ACMDRIVERDETAILSW, *PACMDRIVERDETAILSW;
297 typedef struct ACMDRIVERDETAILS16
299 DWORD cbStruct;
301 FOURCC fccType;
302 FOURCC fccComp;
304 WORD wMid;
305 WORD wPid;
307 DWORD vdwACM;
308 DWORD vdwDriver;
310 DWORD fdwSupport;
311 DWORD cFormatTags;
312 DWORD cFilterTags;
314 HICON16 hicon;
316 CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS];
317 CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS];
318 CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS];
319 CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS];
320 CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS];
321 } ACMDRIVERDETAILS16, *NPACMDRIVERDETAILS16, *LPACMDRIVERDETAILS16;
323 typedef struct ACMFILTERCHOOSEA
325 DWORD cbStruct;
326 DWORD fdwStyle;
328 HWND hwndOwner;
330 PWAVEFILTER pwfltr;
331 DWORD cbwfltr;
333 LPCSTR pszTitle;
335 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
336 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
337 LPSTR pszName;
338 DWORD cchName;
340 DWORD fdwEnum;
341 PWAVEFILTER pwfltrEnum;
343 HINSTANCE hInstance;
344 LPCSTR pszTemplateName;
345 LPARAM lCustData;
346 ACMFILTERCHOOSEHOOKPROCA pfnHook;
347 } ACMFILTERCHOOSEA, *PACMFILTERCHOOSEA;
349 typedef struct ACMFILTERCHOOSEW
351 DWORD cbStruct;
352 DWORD fdwStyle;
354 HWND hwndOwner;
356 PWAVEFILTER pwfltr;
357 DWORD cbwfltr;
359 LPCWSTR pszTitle;
361 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
362 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
363 LPWSTR pszName;
364 DWORD cchName;
366 DWORD fdwEnum;
367 PWAVEFILTER pwfltrEnum;
369 HINSTANCE hInstance;
370 LPCWSTR pszTemplateName;
371 LPARAM lCustData;
372 ACMFILTERCHOOSEHOOKPROCW pfnHook;
373 } ACMFILTERCHOOSEW, *PACMFILTERCHOOSEW;
375 typedef struct ACMFILTERCHOOSE16
377 DWORD cbStruct;
378 DWORD fdwStyle;
380 HWND16 hwndOwner;
382 LPWAVEFILTER pwfltr;
383 DWORD cbwfltr;
385 LPCSTR pszTitle;
387 char szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
388 char szFilter[ACMFILTERDETAILS_FILTER_CHARS];
389 LPSTR pszName;
390 DWORD cchName;
392 DWORD fdwEnum;
393 LPWAVEFILTER pwfltrEnum;
395 HINSTANCE16 hInstance;
396 LPCSTR pszTemplateName;
397 LPARAM lCustData;
398 ACMFILTERCHOOSEHOOKPROC16 pfnHook;
399 } ACMFILTERCHOOSE16, *NPACMFILTERCHOOSE16, *LPACMFILTERCHOOSE16;
401 typedef struct ACMFILTERDETAILSA
403 DWORD cbStruct;
404 DWORD dwFilterIndex;
405 DWORD dwFilterTag;
406 DWORD fdwSupport;
407 PWAVEFILTER pwfltr;
408 DWORD cbwfltr;
409 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
410 } ACMFILTERDETAILSA, *PACMFILTERDETAILSA;
412 typedef struct ACMFILTERDETAILSW
414 DWORD cbStruct;
415 DWORD dwFilterIndex;
416 DWORD dwFilterTag;
417 DWORD fdwSupport;
418 PWAVEFILTER pwfltr;
419 DWORD cbwfltr;
420 WCHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
421 } ACMFILTERDETAILSW, *PACMFILTERDETAILSW;
423 typedef struct ACMFILTERDETAILS16
425 DWORD cbStruct;
426 DWORD dwFilterIndex;
427 DWORD dwFilterTag;
428 DWORD fdwSupport;
429 LPWAVEFILTER pwfltr;
430 DWORD cbwfltr;
431 CHAR szFilter[ACMFILTERDETAILS_FILTER_CHARS];
432 } ACMFILTERDETAILS16, *NPACMFILTERDETAILS16, *LPACMFILTERDETAILS16;
434 typedef struct ACMFILTERTAGDETAILSA
436 DWORD cbStruct;
437 DWORD dwFilterTagIndex;
438 DWORD dwFilterTag;
439 DWORD cbFilterSize;
440 DWORD fdwSupport;
441 DWORD cStandardFilters;
442 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
443 } ACMFILTERTAGDETAILSA, *PACMFILTERTAGDETAILSA;
445 typedef struct ACMFILTERTAGDETAILSW
447 DWORD cbStruct;
448 DWORD dwFilterTagIndex;
449 DWORD dwFilterTag;
450 DWORD cbFilterSize;
451 DWORD fdwSupport;
452 DWORD cStandardFilters;
453 WCHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
454 } ACMFILTERTAGDETAILSW, *PACMFILTERTAGDETAILSW;
456 typedef struct ACMFILTERTAGDETAILS16
458 DWORD cbStruct;
459 DWORD dwFilterTagIndex;
460 DWORD dwFilterTag;
461 DWORD cbFilterSize;
462 DWORD fdwSupport;
463 DWORD cStandardFilters;
464 CHAR szFilterTag[ACMFILTERTAGDETAILS_FILTERTAG_CHARS];
465 } ACMFILTERTAGDETAILS16, *NPACMFILTERTAGDETAILS16, *LPACMFILTERTAGDETAILS16;
467 typedef struct ACMFORMATCHOOSEA
469 DWORD cbStruct;
470 DWORD fdwStyle;
472 HWND hwndOwner;
474 PWAVEFORMATEX pwfx;
475 DWORD cbwfx;
476 LPCSTR pszTitle;
478 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
479 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
481 LPSTR pszName;
482 DWORD cchName;
484 DWORD fdwEnum;
485 PWAVEFORMATEX pwfxEnum;
487 HINSTANCE hInstance;
488 LPCSTR pszTemplateName;
489 LPARAM lCustData;
490 ACMFORMATCHOOSEHOOKPROCA pfnHook;
491 } ACMFORMATCHOOSEA, *PACMFORMATCHOOSEA;
493 typedef struct ACMFORMATCHOOSEW
495 DWORD cbStruct;
496 DWORD fdwStyle;
498 HWND hwndOwner;
500 PWAVEFORMATEX pwfx;
501 DWORD cbwfx;
502 LPCWSTR pszTitle;
504 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
505 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
507 LPWSTR pszName;
508 DWORD cchName;
510 DWORD fdwEnum;
511 LPWAVEFORMATEX pwfxEnum;
513 HINSTANCE hInstance;
514 LPCWSTR pszTemplateName;
515 LPARAM lCustData;
516 ACMFORMATCHOOSEHOOKPROCW pfnHook;
517 } ACMFORMATCHOOSEW, *PACMFORMATCHOOSEW;
519 typedef struct ACMFORMATCHOOSE16
521 DWORD cbStruct;
522 DWORD fdwStyle;
524 HWND16 hwndOwner;
526 LPWAVEFORMATEX pwfx;
527 DWORD cbwfx;
528 LPCSTR pszTitle;
530 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
531 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
533 LPSTR pszName;
534 DWORD cchName;
536 DWORD fdwEnum;
537 LPWAVEFORMATEX pwfxEnum;
539 HINSTANCE16 hInstance;
540 LPCSTR pszTemplateName;
541 LPARAM lCustData;
542 ACMFORMATCHOOSEHOOKPROC16 pfnHook;
543 } ACMFORMATCHOOSE16, *NPACMFORMATCHOOSE16, *LPACMFORMATCHOOSE16;
545 typedef struct ACMFORMATDETAILSA
547 DWORD cbStruct;
548 DWORD dwFormatIndex;
549 DWORD dwFormatTag;
550 DWORD fdwSupport;
551 PWAVEFORMATEX pwfx;
552 DWORD cbwfx;
553 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
554 } ACMFORMATDETAILSA, *PACMFORMATDETAILSA;
556 typedef struct ACMFORMATDETAILSW
558 DWORD cbStruct;
559 DWORD dwFormatIndex;
560 DWORD dwFormatTag;
561 DWORD fdwSupport;
562 PWAVEFORMATEX pwfx;
563 DWORD cbwfx;
564 WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
565 } ACMFORMATDETAILSW, *PACMFORMATDETAILSW;
567 typedef struct ACMFORMATDETAILS16
569 DWORD cbStruct;
570 DWORD dwFormatIndex;
571 DWORD dwFormatTag;
572 DWORD fdwSupport;
573 LPWAVEFORMATEX pwfx;
574 DWORD cbwfx;
575 CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS];
576 } ACMFORMATDETAILS16, *NPACMFORMATDETAILS16, *LPACMFORMATDETAILS16;
578 typedef struct ACMFORMATTAGDETAILSA
580 DWORD cbStruct;
581 DWORD dwFormatTagIndex;
582 DWORD dwFormatTag;
583 DWORD cbFormatSize;
584 DWORD fdwSupport;
585 DWORD cStandardFormats;
586 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
587 } ACMFORMATTAGDETAILSA, *PACMFORMATTAGDETAILSA;
589 typedef struct ACMFORMATTAGDETAILSW
591 DWORD cbStruct;
592 DWORD dwFormatTagIndex;
593 DWORD dwFormatTag;
594 DWORD cbFormatSize;
595 DWORD fdwSupport;
596 DWORD cStandardFormats;
597 WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
598 } ACMFORMATTAGDETAILSW, *PACMFORMATTAGDETAILSW;
600 typedef struct ACMFORMATTAGDETAILS16
602 DWORD cbStruct;
603 DWORD dwFormatTagIndex;
604 DWORD dwFormatTag;
605 DWORD cbFormatSize;
606 DWORD fdwSupport;
607 DWORD cStandardFormats;
608 CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS];
609 } ACMFORMATTAGDETAILS16, *NPACMFORMATTAGDETAILS16, *LPACMFORMATTAGDETAILS16;
611 typedef struct ACMSTREAMHEADER
613 DWORD cbStruct;
614 DWORD fdwStatus;
615 DWORD dwUser;
616 LPBYTE pbSrc;
617 DWORD cbSrcLength;
618 DWORD cbSrcLengthUsed;
619 DWORD dwSrcUser;
620 LPBYTE pbDst;
621 DWORD cbDstLength;
622 DWORD cbDstLengthUsed;
623 DWORD dwDstUser;
624 DWORD dwReservedDriver[10];
625 } ACMSTREAMHEADER16, *NPACMSTREAMHEADER16, *LPACMSTREAMHEADER16,
626 ACMSTREAMHEADER, *PACMSTREAMHEADER;
628 /***********************************************************************
629 * Callbacks 2
632 typedef WIN_BOOL CALLBACK ( *ACMFILTERENUMCBA)(
633 HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
634 DWORD dwInstance, DWORD fdwSupport
637 typedef WIN_BOOL CALLBACK ( *ACMFILTERENUMCBW)(
638 HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
639 DWORD dwInstance, DWORD fdwSupport
642 typedef WIN_BOOL16 CALLBACK ( *ACMFILTERENUMCB16)(
643 HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd,
644 DWORD dwInstance, DWORD fdwSupport
647 typedef WIN_BOOL CALLBACK ( *ACMFILTERTAGENUMCBA)(
648 HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
649 DWORD dwInstance, DWORD fdwSupport
652 typedef WIN_BOOL CALLBACK ( *ACMFILTERTAGENUMCBW)(
653 HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
654 DWORD dwInstance, DWORD fdwSupport
657 typedef WIN_BOOL16 CALLBACK ( *ACMFILTERTAGENUMCB16)(
658 HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd,
659 DWORD dwInstance, DWORD fdwSupport
662 typedef WIN_BOOL CALLBACK ( *ACMFORMATENUMCBA)(
663 HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
664 DWORD dwInstance, DWORD fdwSupport
667 typedef WIN_BOOL CALLBACK ( *ACMFORMATENUMCBW)(
668 HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
669 DWORD dwInstance, DWORD fdwSupport
672 typedef WIN_BOOL16 CALLBACK ( *ACMFORMATENUMCB16)(
673 HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd,
674 DWORD dwInstance, DWORD fdwSupport
677 typedef WIN_BOOL CALLBACK ( *ACMFORMATTAGENUMCBA)(
678 HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
679 DWORD dwInstance, DWORD fdwSupport
682 typedef WIN_BOOL CALLBACK ( *ACMFORMATTAGENUMCBW)(
683 HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
684 DWORD dwInstance, DWORD fdwSupport
687 typedef WIN_BOOL16 CALLBACK ( *ACMFORMATTAGENUMCB16)(
688 HACMDRIVERID16 hadid, LPACMFORMATTAGDETAILS16 paftd,
689 DWORD dwInstance, DWORD fdwSupport
692 /***********************************************************************
693 * Functions - Win16
696 DWORD WINAPI acmGetVersion16(
698 MMRESULT16 WINAPI acmMetrics16(
699 HACMOBJ16 hao, UINT16 uMetric, LPVOID pMetric
701 MMRESULT16 WINAPI acmDriverEnum16(
702 ACMDRIVERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
704 MMRESULT16 WINAPI acmDriverDetails16(
705 HACMDRIVERID16 hadid, LPACMDRIVERDETAILS16 padd, DWORD fdwDetails
707 MMRESULT16 WINAPI acmDriverAdd16(
708 LPHACMDRIVERID16 phadid, HINSTANCE16 hinstModule,
709 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
711 MMRESULT16 WINAPI acmDriverRemove16(
712 HACMDRIVERID16 hadid, DWORD fdwRemove
714 MMRESULT16 WINAPI acmDriverOpen16(
715 LPHACMDRIVER16 phad, HACMDRIVERID16 hadid, DWORD fdwOpen
717 MMRESULT16 WINAPI acmDriverClose16(
718 HACMDRIVER16 had, DWORD fdwClose
720 LRESULT WINAPI acmDriverMessage16(
721 HACMDRIVER16 had, UINT16 uMsg, LPARAM lParam1, LPARAM lParam2
723 MMRESULT16 WINAPI acmDriverID16(
724 HACMOBJ16 hao, LPHACMDRIVERID16 phadid, DWORD fdwDriverID
726 MMRESULT16 WINAPI acmDriverPriority16(
727 HACMDRIVERID16 hadid, DWORD dwPriority, DWORD fdwPriority
729 MMRESULT16 WINAPI acmFormatTagDetails16(
730 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd, DWORD fdwDetails
732 MMRESULT16 WINAPI acmFormatTagEnum16(
733 HACMDRIVER16 had, LPACMFORMATTAGDETAILS16 paftd,
734 ACMFORMATTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
736 MMRESULT16 WINAPI acmFormatChoose16(
737 LPACMFORMATCHOOSE16 pafmtc
739 MMRESULT16 WINAPI acmFormatDetails16(
740 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd, DWORD fdwDetails
742 MMRESULT16 WINAPI acmFormatEnum16(
743 HACMDRIVER16 had, LPACMFORMATDETAILS16 pafd,
744 ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
746 MMRESULT16 WINAPI acmFormatSuggest16(
747 HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc,
748 LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest
750 MMRESULT16 WINAPI acmFilterTagDetails16(
751 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd, DWORD fdwDetails
753 MMRESULT16 WINAPI acmFilterTagEnum16(
754 HACMDRIVER16 had, LPACMFILTERTAGDETAILS16 paftd,
755 ACMFILTERTAGENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
757 MMRESULT16 WINAPI acmFilterChoose16(
758 LPACMFILTERCHOOSE16 pafltrc
760 MMRESULT16 WINAPI acmFilterDetails16(
761 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd, DWORD fdwDetails
763 MMRESULT16 WINAPI acmFilterEnum16(
764 HACMDRIVER16 had, LPACMFILTERDETAILS16 pafd,
765 ACMFILTERENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum
767 MMRESULT16 WINAPI acmStreamOpen16(
768 LPHACMSTREAM16 phas, HACMDRIVER16 had,
769 LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst,
770 LPWAVEFILTER pwfltr, DWORD dwCallback,
771 DWORD dwInstance, DWORD fdwOpen
773 MMRESULT16 WINAPI acmStreamClose16(
774 HACMSTREAM16 has, DWORD fdwClose
776 MMRESULT16 WINAPI acmStreamSize16(
777 HACMSTREAM16 has, DWORD cbInput,
778 LPDWORD pdwOutputBytes, DWORD fdwSize
780 MMRESULT16 WINAPI acmStreamConvert16(
781 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwConvert
783 MMRESULT16 WINAPI acmStreamReset16(
784 HACMSTREAM16 has, DWORD fdwReset
786 MMRESULT16 WINAPI acmStreamPrepareHeader16(
787 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwPrepare
789 MMRESULT16 WINAPI acmStreamUnprepareHeader16(
790 HACMSTREAM16 has, LPACMSTREAMHEADER16 pash, DWORD fdwUnprepare
793 /***********************************************************************
794 * Functions - Win32
797 MMRESULT WINAPI acmDriverAddA(
798 PHACMDRIVERID phadid, HINSTANCE hinstModule,
799 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
801 MMRESULT WINAPI acmDriverAddW(
802 PHACMDRIVERID phadid, HINSTANCE hinstModule,
803 LPARAM lParam, DWORD dwPriority, DWORD fdwAdd
805 MMRESULT WINAPI acmDriverClose(
806 HACMDRIVER had, DWORD fdwClose
808 MMRESULT WINAPI acmDriverDetailsA(
809 HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails
811 MMRESULT WINAPI acmDriverDetailsW(
812 HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails
814 MMRESULT WINAPI acmDriverEnum(
815 ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum
817 MMRESULT WINAPI acmDriverID(
818 HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID
820 LRESULT WINAPI acmDriverMessage(
821 HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2
823 MMRESULT WINAPI acmDriverOpen(
824 PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen
826 MMRESULT WINAPI acmDriverPriority(
827 HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority
829 MMRESULT WINAPI acmDriverRemove(
830 HACMDRIVERID hadid, DWORD fdwRemove
832 MMRESULT WINAPI acmFilterChooseA(
833 PACMFILTERCHOOSEA pafltrc
835 MMRESULT WINAPI acmFilterChooseW(
836 PACMFILTERCHOOSEW pafltrc
838 MMRESULT WINAPI acmFilterDetailsA(
839 HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails
841 MMRESULT WINAPI acmFilterDetailsW(
842 HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails
844 MMRESULT WINAPI acmFilterEnumA(
845 HACMDRIVER had, PACMFILTERDETAILSA pafd,
846 ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
848 MMRESULT WINAPI acmFilterEnumW(
849 HACMDRIVER had, PACMFILTERDETAILSW pafd,
850 ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
852 MMRESULT WINAPI acmFilterTagDetailsA(
853 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails
855 MMRESULT WINAPI acmFilterTagDetailsW(
856 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails
858 MMRESULT WINAPI acmFilterTagEnumA(
859 HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
860 ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
862 MMRESULT WINAPI acmFilterTagEnumW(
863 HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
864 ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
866 MMRESULT WINAPI acmFormatChooseA(
867 PACMFORMATCHOOSEA pafmtc
869 MMRESULT WINAPI acmFormatChooseW(
870 PACMFORMATCHOOSEW pafmtc
872 MMRESULT WINAPI acmFormatDetailsA(
873 HACMDRIVER had, PACMFORMATDETAILSA pafd, DWORD fdwDetails
875 MMRESULT WINAPI acmFormatDetailsW(
876 HACMDRIVER had, PACMFORMATDETAILSW pafd, DWORD fdwDetails
878 MMRESULT WINAPI acmFormatEnumA(
879 HACMDRIVER had, PACMFORMATDETAILSA pafd,
880 ACMFORMATENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
882 MMRESULT WINAPI acmFormatEnumW(
883 HACMDRIVER had, PACMFORMATDETAILSW pafd,
884 ACMFORMATENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
886 MMRESULT WINAPI acmFormatSuggest(
887 HACMDRIVER had, PWAVEFORMATEX pwfxSrc, PWAVEFORMATEX pwfxDst,
888 DWORD cbwfxDst, DWORD fdwSuggest
890 MMRESULT WINAPI acmFormatTagDetailsA(
891 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd, DWORD fdwDetails
893 MMRESULT WINAPI acmFormatTagDetailsW(
894 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd, DWORD fdwDetails
896 MMRESULT WINAPI acmFormatTagEnumA(
897 HACMDRIVER had, PACMFORMATTAGDETAILSA paftd,
898 ACMFORMATTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum
900 MMRESULT WINAPI acmFormatTagEnumW(
901 HACMDRIVER had, PACMFORMATTAGDETAILSW paftd,
902 ACMFORMATTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum
904 DWORD WINAPI acmGetVersion(
906 MMRESULT WINAPI acmMetrics(
907 HACMOBJ hao, UINT uMetric, LPVOID pMetric
909 MMRESULT WINAPI acmStreamClose(
910 HACMSTREAM has, DWORD fdwClose
912 MMRESULT WINAPI acmStreamConvert(
913 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert
915 MMRESULT WINAPI acmStreamMessage(
916 HACMSTREAM has, UINT uMsg, LPARAM lParam1, LPARAM lParam2
918 MMRESULT WINAPI acmStreamOpen(
919 PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
920 PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback,
921 DWORD dwInstance, DWORD fdwOpen
923 MMRESULT WINAPI acmStreamPrepareHeader(
924 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare
926 MMRESULT WINAPI acmStreamReset(
927 HACMSTREAM has, DWORD fdwReset
929 MMRESULT WINAPI acmStreamSize(
930 HACMSTREAM has, DWORD cbInput,
931 LPDWORD pdwOutputBytes, DWORD fdwSize
933 MMRESULT WINAPI acmStreamUnprepareHeader(
934 HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwUnprepare
937 #ifdef __cplusplus
938 } /* extern "C" */
939 #endif /* defined(__cplusplus) */
941 #endif /* MPLAYER_MSACM_H */