ReactOS  0.4.14-dev-52-g6116262
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 
35 struct MMIOPos {
38 };
39 
40 typedef 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 */
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 } WINE_MCIAVI;
88 
90 
91 /* info.c */
97 
98 /* mmoutput.c */
100 DWORD MCIAVI_OpenAudio(WINE_MCIAVI* wma, unsigned* nHdr, LPWAVEHDR* pWaveHdr) DECLSPEC_HIDDEN;
102 void MCIAVI_PlayAudioBlocks(WINE_MCIAVI* wma, unsigned nHdr, LPWAVEHDR waveHdr) DECLSPEC_HIDDEN;
104 
105 /* mciavi.c */
108 
109 /* wnd.c */
116 
117 #endif /* __WINE_PRIVATE_MCIAVI_H */
BOOL MCIAVI_GetInfo(WINE_MCIAVI *wma) DECLSPEC_HIDDEN
Definition: mmoutput.c:255
BOOL MCIAVI_UnregisterClass(void) DECLSPEC_HIDDEN
Definition: wnd.c:88
DWORD MCIAVI_mciInfo(UINT wDevID, DWORD dwFlags, LPMCI_DGV_INFO_PARMSW lpParms) DECLSPEC_HIDDEN
Definition: info.c:189
DWORD MCIAVI_mciSet(UINT wDevID, DWORD dwFlags, LPMCI_DGV_SET_PARMS lpParms) DECLSPEC_HIDDEN
Definition: info.c:228
DWORD MCIAVI_mciWindow(UINT wDevID, DWORD dwFlags, LPMCI_DGV_WINDOW_PARMSW lpParms) DECLSPEC_HIDDEN
Definition: wnd.c:277
LPWAVEFORMATEX lpWaveFormat
static HDC
Definition: imagelist.c:92
double MCIAVI_PaintFrame(WINE_MCIAVI *wma, HDC hDC) DECLSPEC_HIDDEN
Definition: mmoutput.c:604
HWND hWnd
Definition: settings.c:17
DWORD MCIAVI_ConvertTimeFormatToFrame(WINE_MCIAVI *wma, DWORD val) DECLSPEC_HIDDEN
Definition: info.c:53
AVIStreamHeader ash_audio
void MCIAVI_PlayAudioBlocks(WINE_MCIAVI *wma, unsigned nHdr, LPWAVEHDR waveHdr) DECLSPEC_HIDDEN
Definition: mmoutput.c:575
DWORD MCIAVI_mciStatus(UINT wDevID, DWORD dwFlags, LPMCI_DGV_STATUS_PARMSW lpParms) DECLSPEC_HIDDEN
Definition: info.c:364
DWORD dwPlayableAudioBlocks
DWORD MCIAVI_mciPut(UINT wDevID, DWORD dwFlags, LPMCI_DGV_PUT_PARMS lpParms) DECLSPEC_HIDDEN
Definition: wnd.c:153
DWORD MCIAVI_mciWhere(UINT wDevID, DWORD dwFlags, LPMCI_DGV_RECT_PARMS lpParms) DECLSPEC_HIDDEN
Definition: wnd.c:209
WINE_MCIAVI * MCIAVI_mciGetOpenDev(UINT wDevID) DECLSPEC_HIDDEN
Definition: mciavi.c:158
DWORD MCIAVI_OpenAudio(WINE_MCIAVI *wma, unsigned *nHdr, LPWAVEHDR *pWaveHdr) DECLSPEC_HIDDEN
Definition: mmoutput.c:525
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
AVIStreamHeader ash_video
DWORD dwCachedFrame
DWORD dwToVideoFrame
HANDLE hStopEvent
DWORD dwOffset
GLuint GLfloat * val
Definition: glext.h:7180
HBITMAP hbmFrame
WORD wCommandTable
LPVOID outdata
DWORD dwCurrVideoFrame
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD MCIAVI_mciGetDevCaps(UINT wDevID, DWORD dwFlags, LPMCI_GETDEVCAPS_PARMS lpParms) DECLSPEC_HIDDEN
Definition: info.c:74
LPBITMAPINFOHEADER outbih
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
MCI_BREAK_PARMS parms
DWORD dwCurrAudioBlock
MainAVIHeader mah
DWORD dwSize
struct MMIOPos * lpVideoIndex
static HDC hDC
Definition: 3dtext.c:33
MCIDEVICEID wDevID
HINSTANCE MCIAVI_hInstance DECLSPEC_HIDDEN
LPBITMAPINFOHEADER inbih
HINSTANCE MCIAVI_hInstance
Definition: mciavi.c:53
unsigned int UINT
Definition: ndis.h:50
UINT MCIDEVICEID
Definition: mmsystem.h:959
CRITICAL_SECTION cs
DWORD dwPlayableVideoFrames
DWORD MCIAVI_mciClose(UINT, DWORD, LPMCI_GENERIC_PARMS) DECLSPEC_HIDDEN
Definition: mciavi.c:306
struct MMIOPos * lpAudioIndex
DWORD video_stream_n
BOOL MCIAVI_OpenVideo(WINE_MCIAVI *wma) DECLSPEC_HIDDEN
Definition: mmoutput.c:426
static char * dest
Definition: rtl.c:135
static HBITMAP
Definition: button.c:44
DWORD dwMciTimeFormat
LPWSTR lpFileName
WCHAR * LPWSTR
Definition: xmlstorage.h:184
BOOL MCIAVI_CreateWindow(WINE_MCIAVI *wma, DWORD dwFlags, LPMCI_DGV_OPEN_PARMSW lpOpenParms) DECLSPEC_HIDDEN
Definition: wnd.c:112
BOOL MCIAVI_RegisterClass(void) DECLSPEC_HIDDEN
Definition: wnd.c:93