VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/msacmdrv.h@ 30705

Last change on this file since 30705 was 19678, checked in by vboxsync, 16 years ago

opengl: update wine to 1.1.21, add d3d9.dll to build list

  • Property svn:eol-style set to native
File size: 5.0 KB
Line 
1/*
2 * Declarations for MSACM driver
3 *
4 * Copyright 1998 Patrik Stridvall
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21/*
22 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
23 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
24 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
25 * a choice of LGPL license versions is made available with the language indicating
26 * that LGPLv2 or any later version may be used, or where a choice of which version
27 * of the LGPL is applied is otherwise unspecified.
28 */
29
30#ifndef __WINE_MSACMDRV_H
31#define __WINE_MSACMDRV_H
32
33#include <stdarg.h>
34
35#include <windef.h>
36#include <winbase.h>
37#include <mmsystem.h>
38#include <mmreg.h>
39#include <msacm.h>
40
41/***********************************************************************
42 * Types
43 */
44
45/***********************************************************************
46 * Defines/Enums
47 */
48
49#define MAKE_ACM_VERSION(mjr, mnr, bld) \
50 (((LONG)(mjr)<<24) | ((LONG)(mnr)<<16) | ((LONG)bld))
51
52#define ACMDRVOPENDESC_SECTIONNAME_CHARS
53
54#define ACMDM_DRIVER_NOTIFY (ACMDM_BASE + 1)
55#define ACMDM_DRIVER_DETAILS (ACMDM_BASE + 10)
56
57#define ACMDM_HARDWARE_WAVE_CAPS_INPUT (ACMDM_BASE + 20)
58#define ACMDM_HARDWARE_WAVE_CAPS_OUTPUT (ACMDM_BASE + 21)
59
60#define ACMDM_FORMATTAG_DETAILS (ACMDM_BASE + 25)
61#define ACMDM_FORMAT_DETAILS (ACMDM_BASE + 26)
62#define ACMDM_FORMAT_SUGGEST (ACMDM_BASE + 27)
63
64#define ACMDM_FILTERTAG_DETAILS (ACMDM_BASE + 50)
65#define ACMDM_FILTER_DETAILS (ACMDM_BASE + 51)
66
67#define ACMDM_STREAM_OPEN (ACMDM_BASE + 76)
68#define ACMDM_STREAM_CLOSE (ACMDM_BASE + 77)
69#define ACMDM_STREAM_SIZE (ACMDM_BASE + 78)
70#define ACMDM_STREAM_CONVERT (ACMDM_BASE + 79)
71#define ACMDM_STREAM_RESET (ACMDM_BASE + 80)
72#define ACMDM_STREAM_PREPARE (ACMDM_BASE + 81)
73#define ACMDM_STREAM_UNPREPARE (ACMDM_BASE + 82)
74#define ACMDM_STREAM_UPDATE (ACMDM_BASE + 83)
75
76/***********************************************************************
77 * Structures
78 */
79
80typedef struct _ACMDRVOPENDESCA
81{
82 DWORD cbStruct;
83 FOURCC fccType;
84 FOURCC fccComp;
85 DWORD dwVersion;
86 DWORD dwFlags;
87 DWORD dwError;
88 LPCSTR pszSectionName;
89 LPCSTR pszAliasName;
90 DWORD dnDevNode;
91} ACMDRVOPENDESCA, *PACMDRVOPENDESCA;
92
93typedef struct _ACMDRVOPENDESCW
94{
95 DWORD cbStruct;
96 FOURCC fccType;
97 FOURCC fccComp;
98 DWORD dwVersion;
99 DWORD dwFlags;
100 DWORD dwError;
101 LPCWSTR pszSectionName;
102 LPCWSTR pszAliasName;
103 DWORD dnDevNode;
104} ACMDRVOPENDESCW, *PACMDRVOPENDESCW;
105
106typedef struct _ACMDRVSTREAMINSTANCE
107{
108 DWORD cbStruct;
109 PWAVEFORMATEX pwfxSrc;
110 PWAVEFORMATEX pwfxDst;
111 PWAVEFILTER pwfltr;
112 DWORD_PTR dwCallback;
113 DWORD_PTR dwInstance;
114 DWORD fdwOpen;
115 DWORD fdwDriver;
116 DWORD_PTR dwDriver;
117 HACMSTREAM has;
118} ACMDRVSTREAMINSTANCE, *PACMDRVSTREAMINSTANCE;
119
120typedef struct _ACMDRVSTREAMHEADER *PACMDRVSTREAMHEADER;
121typedef struct _ACMDRVSTREAMHEADER {
122 DWORD cbStruct;
123 DWORD fdwStatus;
124 DWORD_PTR dwUser;
125 LPBYTE pbSrc;
126 DWORD cbSrcLength;
127 DWORD cbSrcLengthUsed;
128 DWORD_PTR dwSrcUser;
129 LPBYTE pbDst;
130 DWORD cbDstLength;
131 DWORD cbDstLengthUsed;
132 DWORD_PTR dwDstUser;
133
134 DWORD fdwConvert;
135 PACMDRVSTREAMHEADER *padshNext;
136 DWORD fdwDriver;
137 DWORD_PTR dwDriver;
138
139 /* Internal fields for ACM */
140 DWORD fdwPrepared;
141 DWORD_PTR dwPrepared;
142 LPBYTE pbPreparedSrc;
143 DWORD cbPreparedSrcLength;
144 LPBYTE pbPreparedDst;
145 DWORD cbPreparedDstLength;
146} ACMDRVSTREAMHEADER;
147
148typedef struct _ACMDRVSTREAMSIZE
149{
150 DWORD cbStruct;
151 DWORD fdwSize;
152 DWORD cbSrcLength;
153 DWORD cbDstLength;
154} ACMDRVSTREAMSIZE, *PACMDRVSTREAMSIZE;
155
156typedef struct _ACMDRVFORMATSUGGEST
157{
158 DWORD cbStruct;
159 DWORD fdwSuggest;
160 PWAVEFORMATEX pwfxSrc;
161 DWORD cbwfxSrc;
162 PWAVEFORMATEX pwfxDst;
163 DWORD cbwfxDst;
164} ACMDRVFORMATSUGGEST, *PACMDRVFORMATSUGGEST;
165
166#endif /* __WINE_MSACMDRV_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette