ReactOS 0.4.17-dev-806-gffa4164
private_mciavi.h
Go to the documentation of this file.
1/*
2 * Digital video MCI Wine Driver
3 *
4 * Copyright 1999, 2000 Eric POUECH
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#ifndef __WINE_PRIVATE_MCIAVI_H
22#define __WINE_PRIVATE_MCIAVI_H
23
24#include <stdarg.h>
25#include "windef.h"
26#include "winbase.h"
27#include "wingdi.h"
28#include "winuser.h"
29#include "mmddk.h"
30#include "digitalv.h"
31#include "vfw.h"
32#include "wownt32.h"
33#include "mciavi.h"
34
35struct MMIOPos {
38};
39
40typedef struct {
42 int nUseCount; /* Incremented for each shared open */
43 BOOL fShareable; /* TRUE if first open was shareable */
44 WORD wCommandTable; /* custom MCI command table */
45 DWORD dwStatus; /* One of MCI_MODE_XXX */
47 DWORD dwMciTimeFormat; /* current time format */
48 DWORD dwSet; /* what's turned on: video & audio l&r */
49 /* information on the loaded AVI file */
50 HMMIO hFile; /* mmio file handle open as Element */
51 DWORD video_stream_n, audio_stream_n; /* stream #s */
59 /* computed data from the file */
60 DWORD dwPlayableVideoFrames; /* max number of frames to be played. Takes care of truncated files and audio skew */
62 /* data for the AVI decompressor */
63 HIC hic;
68 /* data for playing the audio part */
70 HANDLE hEvent; /* for synchronization */
71 LONG dwEventCount; /* for synchronization */
72 /* data for play back */
73 HWND hWnd, hWndPaint;
74 DWORD dwCachedFrame; /* buffered frame */
75 DWORD dwCurrVideoFrame; /* video frame to display and current position */
76 DWORD dwToVideoFrame; /* play to */
77 DWORD dwCurrAudioBlock; /* current audio block being played */
79 struct
80 {
83 } mci_break;
84 /* data for the background mechanism */
87 /* data for presentation */
90
92
93/* info.c */
99
100/* mmoutput.c */
102DWORD MCIAVI_OpenAudio(WINE_MCIAVI* wma, unsigned* nHdr, LPWAVEHDR* pWaveHdr);
104void MCIAVI_PlayAudioBlocks(WINE_MCIAVI* wma, unsigned nHdr, LPWAVEHDR waveHdr);
106
107/* mciavi.c */
110
111/* wnd.c */
118
119#endif /* __WINE_PRIVATE_MCIAVI_H */
static HDC hDC
Definition: 3dtext.c:33
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLfloat * val
Definition: glext.h:7180
unsigned int UINT
Definition: sysinfo.c:13
UINT MCIDEVICEID
Definition: mmsystem.h:961
static HBITMAP
Definition: button.c:44
static HDC
Definition: imagelist.c:88
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
long LONG
Definition: pedump.c:60
void MCIAVI_PlayAudioBlocks(WINE_MCIAVI *wma, unsigned nHdr, LPWAVEHDR waveHdr)
Definition: mmoutput.c:575
BOOL MCIAVI_RegisterClass(void)
Definition: wnd.c:105
DWORD MCIAVI_mciWindow(UINT wDevID, DWORD dwFlags, LPMCI_DGV_WINDOW_PARMSW lpParms)
Definition: wnd.c:286
HINSTANCE MCIAVI_hInstance
Definition: mciavi.c:52
DWORD MCIAVI_OpenAudio(WINE_MCIAVI *wma, unsigned *nHdr, LPWAVEHDR *pWaveHdr)
Definition: mmoutput.c:526
BOOL MCIAVI_CreateWindow(WINE_MCIAVI *wma, DWORD dwFlags, LPMCI_DGV_OPEN_PARMSW lpOpenParms)
Definition: wnd.c:124
DWORD MCIAVI_mciStatus(UINT wDevID, DWORD dwFlags, LPMCI_DGV_STATUS_PARMSW lpParms)
Definition: info.c:360
BOOL MCIAVI_UnregisterClass(void)
Definition: wnd.c:100
DWORD MCIAVI_ConvertTimeFormatToFrame(WINE_MCIAVI *wma, DWORD val)
Definition: info.c:52
DWORD MCIAVI_mciGetDevCaps(UINT wDevID, DWORD dwFlags, LPMCI_GETDEVCAPS_PARMS lpParms)
Definition: info.c:73
DWORD MCIAVI_mciWhere(UINT wDevID, DWORD dwFlags, LPMCI_DGV_RECT_PARMS lpParms)
Definition: wnd.c:218
double MCIAVI_PaintFrame(WINE_MCIAVI *wma, HDC hDC)
Definition: mmoutput.c:604
BOOL MCIAVI_GetInfo(WINE_MCIAVI *wma)
Definition: mmoutput.c:240
DWORD MCIAVI_mciSet(UINT wDevID, DWORD dwFlags, LPMCI_DGV_SET_PARMS lpParms)
Definition: info.c:224
DWORD MCIAVI_mciPut(UINT wDevID, DWORD dwFlags, LPMCI_DGV_PUT_PARMS lpParms)
Definition: wnd.c:162
DWORD MCIAVI_mciClose(UINT, DWORD, LPMCI_GENERIC_PARMS)
Definition: mciavi.c:305
DWORD MCIAVI_mciInfo(UINT wDevID, DWORD dwFlags, LPMCI_DGV_INFO_PARMSW lpParms)
Definition: info.c:188
WINE_MCIAVI * MCIAVI_mciGetOpenDev(UINT wDevID)
Definition: mciavi.c:156
BOOL MCIAVI_OpenVideo(WINE_MCIAVI *wma)
Definition: mmoutput.c:419
DWORD dwSize
DWORD dwOffset
DWORD dwToVideoFrame
MCIDEVICEID wDevID
HANDLE hStopEvent
LPWAVEFORMATEX lpWaveFormat
DWORD audio_stream_n
DWORD dwCurrAudioBlock
LPBITMAPINFOHEADER inbih
CRITICAL_SECTION cs
DWORD dwMciTimeFormat
DWORD dwCurrVideoFrame
LPWSTR lpFileName
HBITMAP hbmFrame
DWORD dwCachedFrame
LPVOID outdata
LPBITMAPINFOHEADER outbih
AVIStreamHeader ash_audio
struct MMIOPos * lpVideoIndex
WORD wCommandTable
DWORD dwPlayableVideoFrames
MCI_BREAK_PARMS parms
struct MMIOPos * lpAudioIndex
DWORD dwPlayableAudioBlocks
HDRAWDIB hdd
AVIStreamHeader ash_video
MainAVIHeader mah
uint16_t * LPWSTR
Definition: typedefs.h:56