annotate loader/wineacm.h @ 13249:a6642a4330fa

ensure that avi files have a valid header as soon as possible. without this, the header says 0x0 video size, which works with mplayer when the video size is stored in the codec data, but it does NOT work with other players or with codecs that don't store size (e.g. snow). actually i don't like having seeks in the muxer module, but i don't know any other way to implement this fix without major changes to mencoder. if you have a better fix, please reverse this and commit yours.
author rfelker
date Sun, 05 Sep 2004 16:51:15 +0000
parents 174e2a58b4cd
children 2c8cdb9123b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
1 #ifndef WINEACM_H
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
2 #define WINEACM_H
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3 /* -*- tab-width: 8; c-basic-offset: 4 -*- */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 /***********************************************************************
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6 * Wine specific - Win32
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7 */
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
8
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
9
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
10 #include "wine/msacmdrv.h"
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
11
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
12 #ifdef __cplusplus
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
13 extern "C" {
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
14 #endif /* defined(__cplusplus) */
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
15
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
16
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 typedef struct _WINE_ACMDRIVERID *PWINE_ACMDRIVERID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18 typedef struct _WINE_ACMDRIVER *PWINE_ACMDRIVER;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 typedef struct _WINE_ACMOBJ
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22 PWINE_ACMDRIVERID pACMDriverID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 } WINE_ACMOBJ, *PWINE_ACMOBJ;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 typedef struct _WINE_ACMDRIVER
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 WINE_ACMOBJ obj;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 HDRVR hDrvr;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 DRIVERPROC pfnDriverProc;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 PWINE_ACMDRIVER pNextACMDriver;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
31 int iUsage;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 } WINE_ACMDRIVER;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 typedef struct _WINE_ACMSTREAM
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 WINE_ACMOBJ obj;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 PWINE_ACMDRIVER pDrv;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 ACMDRVSTREAMINSTANCE drvInst;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 HACMDRIVER hAcmDriver;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 } WINE_ACMSTREAM, *PWINE_ACMSTREAM;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 typedef struct _WINE_ACMDRIVERID
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44 LPSTR pszFileName;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
45 WORD wFormatTag;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
46 HINSTANCE hInstModule; /* NULL if global */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
47 DWORD dwProcessID; /* ID of process which installed a local driver */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48 WIN_BOOL bEnabled;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49 PWINE_ACMDRIVER pACMDriverList;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
50 PWINE_ACMDRIVERID pNextACMDriverID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 PWINE_ACMDRIVERID pPrevACMDriverID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52 } WINE_ACMDRIVERID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 /* From internal.c */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
55 extern HANDLE MSACM_hHeap;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID;
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
58
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
59 PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName,
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
60 WORD wFormatTag,
2069
ce45cce7f7a5 sync with avifile
arpi
parents: 1
diff changeset
61 HINSTANCE hinstModule);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62 PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63 void MSACM_UnregisterAllDrivers(void);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65 PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
66 PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67
7386
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
68 #ifdef __cplusplus
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
69 } /* extern "C" */
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
70 #endif /* defined(__cplusplus) */
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
71
174e2a58b4cd avifile sync - 95% cosmetics 5% bug
arpi
parents: 2069
diff changeset
72 #endif /* WINEACM_H */