]> sjero.net Git - linphone/blob - linphone/mediastreamer2/src/vfw-missing.h
remote ortp and add it as a submodule instead.
[linphone] / linphone / mediastreamer2 / src / vfw-missing.h
1 #ifndef vfw_missing_h
2 #define vfw_missing_h
3
4 typedef struct videohdr_tag {
5     LPBYTE      lpData;                 /* pointer to locked data buffer */
6     DWORD       dwBufferLength;         /* Length of data buffer */
7     DWORD       dwBytesUsed;            /* Bytes actually used */
8     DWORD       dwTimeCaptured;         /* Milliseconds from start of stream */
9     DWORD_PTR   dwUser;                 /* for client's use */
10     DWORD       dwFlags;                /* assorted flags (see defines) */
11     DWORD_PTR   dwReserved[4];          /* reserved for driver */
12 } VIDEOHDR, NEAR *PVIDEOHDR, FAR * LPVIDEOHDR;
13
14 typedef struct tagCaptureParms {
15     DWORD       dwRequestMicroSecPerFrame;  // Requested capture rate
16     BOOL        fMakeUserHitOKToCapture;    // Show "Hit OK to cap" dlg?
17     UINT        wPercentDropForError;       // Give error msg if > (10%)
18     BOOL        fYield;                     // Capture via background task?
19     DWORD       dwIndexSize;                // Max index size in frames (32K)
20     UINT        wChunkGranularity;          // Junk chunk granularity (2K)
21     BOOL        fUsingDOSMemory;            // Use DOS buffers?
22     UINT        wNumVideoRequested;         // # video buffers, If 0, autocalc
23     BOOL        fCaptureAudio;              // Capture audio?
24     UINT        wNumAudioRequested;         // # audio buffers, If 0, autocalc
25     UINT        vKeyAbort;                  // Virtual key causing abort
26     BOOL        fAbortLeftMouse;            // Abort on left mouse?
27     BOOL        fAbortRightMouse;           // Abort on right mouse?
28     BOOL        fLimitEnabled;              // Use wTimeLimit?
29     UINT        wTimeLimit;                 // Seconds to capture
30     BOOL        fMCIControl;                // Use MCI video source?
31     BOOL        fStepMCIDevice;             // Step MCI device?
32     DWORD       dwMCIStartTime;             // Time to start in MS
33     DWORD       dwMCIStopTime;              // Time to stop in MS
34     BOOL        fStepCaptureAt2x;           // Perform spatial averaging 2x
35     UINT        wStepCaptureAverageFrames;  // Temporal average n Frames
36     DWORD       dwAudioBufferSize;          // Size of audio bufs (0 = default)
37     BOOL        fDisableWriteCache;         // Attempt to disable write cache
38     UINT        AVStreamMaster;             // Which stream controls length?
39 } CAPTUREPARMS, *PCAPTUREPARMS, FAR *LPCAPTUREPARMS;
40
41 typedef struct { 
42     UINT     uiImageWidth; 
43     UINT     uiImageHeight; 
44     BOOL     fLiveWindow; 
45     BOOL     fOverlayWindow; 
46     BOOL     fScale; 
47     POINT    ptScroll; 
48     BOOL     fUsingDefaultPalette; 
49     BOOL     fAudioHardware; 
50     BOOL     fCapFileExists; 
51     DWORD    dwCurrentVideoFrame; 
52     DWORD    dwCurrentVideoFramesDropped; 
53     DWORD    dwCurrentWaveSamples; 
54     DWORD    dwCurrentTimeElapsedMS; 
55     HPALETTE hPalCurrent; 
56     BOOL     fCapturingNow; 
57     DWORD    dwReturn; 
58     UINT     wNumVideoAllocated; 
59     UINT     wNumAudioAllocated; 
60 } CAPSTATUS, *PCAPSTATUS, FAR *LPCAPSTATUS;
61
62
63 #ifdef __cplusplus
64 /* SendMessage in C++*/
65 #define AVICapSM(hwnd,m,w,l) ( (::IsWindow(hwnd)) ? ::SendMessage(hwnd,m,w,l) : 0)
66 #else
67 /* SendMessage in C */
68 #define AVICapSM(hwnd,m,w,l) ( (IsWindow(hwnd)) ?   SendMessage(hwnd,m,w,l) : 0)
69 #endif  /* __cplusplus */
70
71 #define WM_CAP_START                    WM_USER
72
73 // start of unicode messages
74 #define WM_CAP_UNICODE_START            WM_USER+100
75
76 #define WM_CAP_GET_CAPSTREAMPTR         (WM_CAP_START+  1)
77
78 #define WM_CAP_SET_CALLBACK_ERRORW     (WM_CAP_UNICODE_START+  2)
79 #define WM_CAP_SET_CALLBACK_STATUSW    (WM_CAP_UNICODE_START+  3)
80 #define WM_CAP_SET_CALLBACK_ERRORA     (WM_CAP_START+  2)
81 #define WM_CAP_SET_CALLBACK_STATUSA    (WM_CAP_START+  3)
82 #ifdef UNICODE
83 #define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORW
84 #define WM_CAP_SET_CALLBACK_STATUS      WM_CAP_SET_CALLBACK_STATUSW
85 #else
86 #define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORA
87 #define WM_CAP_SET_CALLBACK_STATUS      WM_CAP_SET_CALLBACK_STATUSA
88 #endif
89
90
91 #define WM_CAP_SET_CALLBACK_YIELD       (WM_CAP_START+  4)
92 #define WM_CAP_SET_CALLBACK_FRAME       (WM_CAP_START+  5)
93 #define WM_CAP_SET_CALLBACK_VIDEOSTREAM (WM_CAP_START+  6)
94 #define WM_CAP_SET_CALLBACK_WAVESTREAM  (WM_CAP_START+  7)
95 #define WM_CAP_GET_USER_DATA            (WM_CAP_START+  8)
96 #define WM_CAP_SET_USER_DATA            (WM_CAP_START+  9)
97
98 #define WM_CAP_DRIVER_CONNECT           (WM_CAP_START+  10)
99 #define WM_CAP_DRIVER_DISCONNECT        (WM_CAP_START+  11)
100
101 #define WM_CAP_DRIVER_GET_NAMEA        (WM_CAP_START+  12)
102 #define WM_CAP_DRIVER_GET_VERSIONA     (WM_CAP_START+  13)
103 #define WM_CAP_DRIVER_GET_NAMEW        (WM_CAP_UNICODE_START+  12)
104 #define WM_CAP_DRIVER_GET_VERSIONW     (WM_CAP_UNICODE_START+  13)
105 #ifdef UNICODE
106 #define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEW
107 #define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONW
108 #else
109 #define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEA
110 #define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONA
111 #endif
112
113 #define WM_CAP_DRIVER_GET_CAPS          (WM_CAP_START+  14)
114
115 #define WM_CAP_FILE_SET_CAPTURE_FILEA  (WM_CAP_START+  20)
116 #define WM_CAP_FILE_GET_CAPTURE_FILEA  (WM_CAP_START+  21)
117 #define WM_CAP_FILE_SAVEASA            (WM_CAP_START+  23)
118 #define WM_CAP_FILE_SAVEDIBA           (WM_CAP_START+  25)
119 #define WM_CAP_FILE_SET_CAPTURE_FILEW  (WM_CAP_UNICODE_START+  20)
120 #define WM_CAP_FILE_GET_CAPTURE_FILEW  (WM_CAP_UNICODE_START+  21)
121 #define WM_CAP_FILE_SAVEASW            (WM_CAP_UNICODE_START+  23)
122 #define WM_CAP_FILE_SAVEDIBW           (WM_CAP_UNICODE_START+  25)
123 #ifdef UNICODE
124 #define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEW
125 #define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEW
126 #define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASW
127 #define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBW
128 #else
129 #define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEA
130 #define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEA
131 #define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASA
132 #define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBA
133 #endif
134
135 // out of order to save on ifdefs
136 #define WM_CAP_FILE_ALLOCATE            (WM_CAP_START+  22)
137 #define WM_CAP_FILE_SET_INFOCHUNK       (WM_CAP_START+  24)
138
139 #define WM_CAP_EDIT_COPY                (WM_CAP_START+  30)
140
141 #define WM_CAP_SET_AUDIOFORMAT          (WM_CAP_START+  35)
142 #define WM_CAP_GET_AUDIOFORMAT          (WM_CAP_START+  36)
143
144 #define WM_CAP_DLG_VIDEOFORMAT          (WM_CAP_START+  41)
145 #define WM_CAP_DLG_VIDEOSOURCE          (WM_CAP_START+  42)
146 #define WM_CAP_DLG_VIDEODISPLAY         (WM_CAP_START+  43)
147 #define WM_CAP_GET_VIDEOFORMAT          (WM_CAP_START+  44)
148 #define WM_CAP_SET_VIDEOFORMAT          (WM_CAP_START+  45)
149 #define WM_CAP_DLG_VIDEOCOMPRESSION     (WM_CAP_START+  46)
150
151 #define WM_CAP_SET_PREVIEW              (WM_CAP_START+  50)
152 #define WM_CAP_SET_OVERLAY              (WM_CAP_START+  51)
153 #define WM_CAP_SET_PREVIEWRATE          (WM_CAP_START+  52)
154 #define WM_CAP_SET_SCALE                (WM_CAP_START+  53)
155 #define WM_CAP_GET_STATUS               (WM_CAP_START+  54)
156 #define WM_CAP_SET_SCROLL               (WM_CAP_START+  55)
157
158 #define WM_CAP_GRAB_FRAME               (WM_CAP_START+  60)
159 #define WM_CAP_GRAB_FRAME_NOSTOP        (WM_CAP_START+  61)
160
161 #define WM_CAP_SEQUENCE                 (WM_CAP_START+  62)
162 #define WM_CAP_SEQUENCE_NOFILE          (WM_CAP_START+  63)
163 #define WM_CAP_SET_SEQUENCE_SETUP       (WM_CAP_START+  64)
164 #define WM_CAP_GET_SEQUENCE_SETUP       (WM_CAP_START+  65)
165
166 #define WM_CAP_SET_MCI_DEVICEA         (WM_CAP_START+  66)
167 #define WM_CAP_GET_MCI_DEVICEA         (WM_CAP_START+  67)
168 #define WM_CAP_SET_MCI_DEVICEW         (WM_CAP_UNICODE_START+  66)
169 #define WM_CAP_GET_MCI_DEVICEW         (WM_CAP_UNICODE_START+  67)
170 #ifdef UNICODE
171 #define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEW
172 #define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEW
173 #else
174 #define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEA
175 #define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEA
176 #endif
177
178
179
180 #define WM_CAP_STOP                     (WM_CAP_START+  68)
181 #define WM_CAP_ABORT                    (WM_CAP_START+  69)
182
183 #define WM_CAP_SINGLE_FRAME_OPEN        (WM_CAP_START+  70)
184 #define WM_CAP_SINGLE_FRAME_CLOSE       (WM_CAP_START+  71)
185 #define WM_CAP_SINGLE_FRAME             (WM_CAP_START+  72)
186
187 #define WM_CAP_PAL_OPENA               (WM_CAP_START+  80)
188 #define WM_CAP_PAL_SAVEA               (WM_CAP_START+  81)
189 #define WM_CAP_PAL_OPENW               (WM_CAP_UNICODE_START+  80)
190 #define WM_CAP_PAL_SAVEW               (WM_CAP_UNICODE_START+  81)
191 #ifdef UNICODE
192 #define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENW
193 #define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEW
194 #else
195 #define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENA
196 #define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEA
197 #endif
198
199 #define WM_CAP_PAL_PASTE                (WM_CAP_START+  82)
200 #define WM_CAP_PAL_AUTOCREATE           (WM_CAP_START+  83)
201 #define WM_CAP_PAL_MANUALCREATE         (WM_CAP_START+  84)
202
203 // Following added post VFW 1.1
204 #define WM_CAP_SET_CALLBACK_CAPCONTROL  (WM_CAP_START+  85)
205
206
207 // Defines end of the message range
208 #define WM_CAP_UNICODE_END              WM_CAP_PAL_SAVEW
209 #define WM_CAP_END                      WM_CAP_UNICODE_END
210
211 #define capSetCallbackOnError(hwnd, fpProc)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_ERROR, 0, (LPARAM)(LPVOID)(fpProc)))
212 #define capSetCallbackOnStatus(hwnd, fpProc)       ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_STATUS, 0, (LPARAM)(LPVOID)(fpProc)))
213 #define capSetCallbackOnYield(hwnd, fpProc)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_YIELD, 0, (LPARAM)(LPVOID)(fpProc)))
214 #define capSetCallbackOnFrame(hwnd, fpProc)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_FRAME, 0, (LPARAM)(LPVOID)(fpProc)))
215 #define capSetCallbackOnVideoStream(hwnd, fpProc)  ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, (LPARAM)(LPVOID)(fpProc)))
216 #define capSetCallbackOnWaveStream(hwnd, fpProc)   ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_WAVESTREAM, 0, (LPARAM)(LPVOID)(fpProc)))
217 #define capSetCallbackOnCapControl(hwnd, fpProc)   ((BOOL)AVICapSM(hwnd, WM_CAP_SET_CALLBACK_CAPCONTROL, 0, (LPARAM)(LPVOID)(fpProc)))
218
219 #define capSetUserData(hwnd, lUser)        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_USER_DATA, 0, (LPARAM)lUser))
220 #define capGetUserData(hwnd)               (AVICapSM(hwnd, WM_CAP_GET_USER_DATA, 0, 0))
221
222 #define capDriverConnect(hwnd, i)                  ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_CONNECT, (WPARAM)(i), 0L))
223 #define capDriverDisconnect(hwnd)                  ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_DISCONNECT, (WPARAM)0, 0L))
224 #define capDriverGetName(hwnd, szName, wSize)      ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_GET_NAME, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName)))
225 #define capDriverGetVersion(hwnd, szVer, wSize)    ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_GET_VERSION, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szVer)))
226 #define capDriverGetCaps(hwnd, s, wSize)           ((BOOL)AVICapSM(hwnd, WM_CAP_DRIVER_GET_CAPS, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPDRIVERCAPS)(s)))
227
228 #define capFileSetCaptureFile(hwnd, szName)        ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SET_CAPTURE_FILE, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
229 #define capFileGetCaptureFile(hwnd, szName, wSize) ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_GET_CAPTURE_FILE, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName)))
230 #define capFileAlloc(hwnd, dwSize)                 ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_ALLOCATE, 0, (LPARAM)(DWORD)(dwSize)))
231 #define capFileSaveAs(hwnd, szName)                ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SAVEAS, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
232 #define capFileSetInfoChunk(hwnd, lpInfoChunk)     ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SET_INFOCHUNK, (WPARAM)0, (LPARAM)(LPCAPINFOCHUNK)(lpInfoChunk)))
233 #define capFileSaveDIB(hwnd, szName)               ((BOOL)AVICapSM(hwnd, WM_CAP_FILE_SAVEDIB, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
234
235 #define capEditCopy(hwnd)                          ((BOOL)AVICapSM(hwnd, WM_CAP_EDIT_COPY, 0, 0L))
236
237 #define capSetAudioFormat(hwnd, s, wSize)          ((BOOL)AVICapSM(hwnd, WM_CAP_SET_AUDIOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPWAVEFORMATEX)(s)))
238 #define capGetAudioFormat(hwnd, s, wSize)          ((DWORD)AVICapSM(hwnd, WM_CAP_GET_AUDIOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPWAVEFORMATEX)(s)))
239 #define capGetAudioFormatSize(hwnd)                ((DWORD)AVICapSM(hwnd, WM_CAP_GET_AUDIOFORMAT, (WPARAM)0, (LPARAM)0L))
240
241 #define capDlgVideoFormat(hwnd)                    ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEOFORMAT, 0, 0L))
242 #define capDlgVideoSource(hwnd)                    ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEOSOURCE, 0, 0L))
243 #define capDlgVideoDisplay(hwnd)                   ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEODISPLAY, 0, 0L))
244 #define capDlgVideoCompression(hwnd)               ((BOOL)AVICapSM(hwnd, WM_CAP_DLG_VIDEOCOMPRESSION, 0, 0L))
245
246 #define capGetVideoFormat(hwnd, s, wSize)          ((DWORD)AVICapSM(hwnd, WM_CAP_GET_VIDEOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(s)))
247 #define capGetVideoFormatSize(hwnd)            ((DWORD)AVICapSM(hwnd, WM_CAP_GET_VIDEOFORMAT, 0, 0L))
248 #define capSetVideoFormat(hwnd, s, wSize)          ((BOOL)AVICapSM(hwnd, WM_CAP_SET_VIDEOFORMAT, (WPARAM)(wSize), (LPARAM)(LPVOID)(s)))
249
250 #define capPreview(hwnd, f)                        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_PREVIEW, (WPARAM)(BOOL)(f), 0L))
251 #define capPreviewRate(hwnd, wMS)                  ((BOOL)AVICapSM(hwnd, WM_CAP_SET_PREVIEWRATE, (WPARAM)(wMS), 0))
252 #define capOverlay(hwnd, f)                        ((BOOL)AVICapSM(hwnd, WM_CAP_SET_OVERLAY, (WPARAM)(BOOL)(f), 0L))
253 #define capPreviewScale(hwnd, f)                   ((BOOL)AVICapSM(hwnd, WM_CAP_SET_SCALE, (WPARAM)(BOOL)f, 0L))
254 #define capGetStatus(hwnd, s, wSize)               ((BOOL)AVICapSM(hwnd, WM_CAP_GET_STATUS, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPSTATUS)(s)))
255 #define capSetScrollPos(hwnd, lpP)                 ((BOOL)AVICapSM(hwnd, WM_CAP_SET_SCROLL, (WPARAM)0, (LPARAM)(LPPOINT)(lpP)))
256
257 #define capGrabFrame(hwnd)                         ((BOOL)AVICapSM(hwnd, WM_CAP_GRAB_FRAME, (WPARAM)0, (LPARAM)0L))
258 #define capGrabFrameNoStop(hwnd)                   ((BOOL)AVICapSM(hwnd, WM_CAP_GRAB_FRAME_NOSTOP, (WPARAM)0, (LPARAM)0L))
259
260 #define capCaptureSequence(hwnd)                   ((BOOL)AVICapSM(hwnd, WM_CAP_SEQUENCE, (WPARAM)0, (LPARAM)0L))
261 #define capCaptureSequenceNoFile(hwnd)             ((BOOL)AVICapSM(hwnd, WM_CAP_SEQUENCE_NOFILE, (WPARAM)0, (LPARAM)0L))
262 #define capCaptureStop(hwnd)                       ((BOOL)AVICapSM(hwnd, WM_CAP_STOP, (WPARAM)0, (LPARAM)0L))
263 #define capCaptureAbort(hwnd)                      ((BOOL)AVICapSM(hwnd, WM_CAP_ABORT, (WPARAM)0, (LPARAM)0L))
264
265 #define capCaptureSingleFrameOpen(hwnd)            ((BOOL)AVICapSM(hwnd, WM_CAP_SINGLE_FRAME_OPEN, (WPARAM)0, (LPARAM)0L))
266 #define capCaptureSingleFrameClose(hwnd)           ((BOOL)AVICapSM(hwnd, WM_CAP_SINGLE_FRAME_CLOSE, (WPARAM)0, (LPARAM)0L))
267 #define capCaptureSingleFrame(hwnd)                ((BOOL)AVICapSM(hwnd, WM_CAP_SINGLE_FRAME, (WPARAM)0, (LPARAM)0L))
268
269 #define capCaptureGetSetup(hwnd, s, wSize)         ((BOOL)AVICapSM(hwnd, WM_CAP_GET_SEQUENCE_SETUP, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPTUREPARMS)(s)))
270 #define capCaptureSetSetup(hwnd, s, wSize)         ((BOOL)AVICapSM(hwnd, WM_CAP_SET_SEQUENCE_SETUP, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPCAPTUREPARMS)(s)))
271
272 #define capSetMCIDeviceName(hwnd, szName)          ((BOOL)AVICapSM(hwnd, WM_CAP_SET_MCI_DEVICE, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
273 #define capGetMCIDeviceName(hwnd, szName, wSize)   ((BOOL)AVICapSM(hwnd, WM_CAP_GET_MCI_DEVICE, (WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName)))
274
275 #define capPaletteOpen(hwnd, szName)               ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_OPEN, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
276 #define capPaletteSave(hwnd, szName)               ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_SAVE, 0, (LPARAM)(LPVOID)(LPTSTR)(szName)))
277 #define capPalettePaste(hwnd)                      ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_PASTE, (WPARAM) 0, (LPARAM)0L))
278 #define capPaletteAuto(hwnd, iFrames, iColors)     ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_AUTOCREATE, (WPARAM)(iFrames), (LPARAM)(DWORD)(iColors)))
279 #define capPaletteManual(hwnd, fGrab, iColors)     ((BOOL)AVICapSM(hwnd, WM_CAP_PAL_MANUALCREATE, (WPARAM)(fGrab), (LPARAM)(DWORD)(iColors)))
280
281 #define AVSTREAMMASTER_AUDIO            0 /* Audio master (VFW 1.0, 1.1) */
282 #define AVSTREAMMASTER_NONE             1 /* No master */
283
284
285 #endif
286