41 TRACE(
"ash.fccHandler=0, no handler specified\n");
61 WARN(
"Can't find 'strf' chunk\n");
65 WARN(
"Size of strf chunk (%d) < audio format struct\n", mmckInfo.
cksize);
70 WARN(
"Can't alloc WaveFormat\n");
119 WARN(
"Can't find 'strf' chunk\n");
125 WARN(
"Can't alloc input BIH\n");
170 WARN(
"wrongly encoded stream #\n");
174 stream_n = (
p[0] <=
'9') ? (
p[0] -
'0') : (
tolower(
p[0]) -
'a' + 10);
176 stream_n |= (
p[1] <=
'9') ? (
p[1] -
'0') : (
tolower(
p[1]) -
'a' + 10);
200 TRACE(
"data belongs to another video stream #%d\n", stream_n);
204 TRACE(
"Adding video frame[%d]: %d bytes\n",
214 WARN(
"Too many video frames\n");
220 TRACE(
"data belongs to another audio stream #%d\n", stream_n);
224 TRACE(
"Adding audio frame[%d]: %d bytes\n",
235 if (!newindex)
return FALSE;
245 WARN(
"Wave chunk without wave format... discarding\n");
266 WARN(
"Can't find 'RIFF' chunk\n");
271 WARN(
"Can't find 'AVI ' chunk\n");
277 WARN(
"Can't find 'hdrl' list\n");
283 WARN(
"Can't find 'avih' chunk\n");
302 TRACE(
"Start of streams\n");
306 for (stream_n = 0; stream_n < wma->
mah.
dwStreams; stream_n++)
317 WARN(
"Can't find 'strh' chunk\n");
323 TRACE(
"Stream #%d fccType %4.4s\n", stream_n, (
LPSTR)&strh.fccType);
327 TRACE(
"found video stream\n");
329 WARN(
"ignoring another video stream\n");
342 TRACE(
"found audio stream\n");
344 WARN(
"ignoring another audio stream\n");
356 TRACE(
"Unsupported stream type %4.4s\n", (
LPSTR)&strh.fccType);
361 TRACE(
"End of streams\n");
369 WARN(
"Can't find 'movi' list\n");
377 WARN(
"Can't alloc video index array\n");
402 WARN(
"AVI header says %d frames, we found %d video frames, reducing playable frames\n",
419 WARN(
"Can't alloc input buffer\n");
450 WARN(
"Can't locate codec for the file\n");
458 WARN(
"Can't alloc output BIH\n");
462 WARN(
"Can't open decompressor\n");
480 WARN(
"Can't alloc output buffer\n");
486 WARN(
"Can't begin decompression\n");
515 TRACE(
"Returning waveHdr=%lx\n", dwParam1);
519 ERR(
"Unknown uMsg=%d\n", uMsg);
534 TRACE(
"Can't open low level audio device %d\n", dwRet);
547 TRACE(
"Can't alloc wave headers\n");
552 for (
i = 0;
i < *nHdr;
i++) {
554 waveHdr[
i].
lpData = (
char*)waveHdr +
564 FIXME(
"Should recompute dwCurrAudioBlock, except unsynchronized sound & video\n");
629 WARN(
"Decompression error\n");
641 pBitmapData = wma->
indata;
int WINAPI StretchDIBits(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ const VOID *, _In_ const BITMAPINFO *, _In_ UINT, _In_ DWORD)
#define cktypeDIBcompressed
#define listtypeSTREAMHEADER
struct tagBITMAPINFO * LPBITMAPINFO
HDC WINAPI GetDC(_In_opt_ HWND)
LRESULT VFWAPI ICSendMessage(HIC hic, UINT msg, DWORD_PTR lParam1, DWORD_PTR lParam2)
#define listtypeAVIHEADER
struct tagBITMAPINFOHEADER BITMAPINFOHEADER
MMRESULT WINAPI mmioAscend(HMMIO hmmio, LPMMCKINFO lpck, UINT uFlags)
LPWAVEFORMATEX lpWaveFormat
static BOOL MCIAVI_AddFrame(WINE_MCIAVI *wma, LPMMCKINFO mmck, struct AviListBuild *alb)
AVIStreamHeader ash_audio
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
DWORD dwPlayableAudioBlocks
LONG WINAPI mmioSeek(HMMIO hmmio, LONG lOffset, INT iOrigin)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
UINT WINAPI waveOutPrepareHeader(HWAVEOUT hWaveOut, WAVEHDR *lpWaveOutHdr, UINT uSize)
static void CALLBACK MCIAVI_waveCallback(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
DWORD VFWAPIV ICDecompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiFormat, LPVOID lpData, LPBITMAPINFOHEADER lpbi, LPVOID lpBits)
#define TWOCCFromFOURCC(fcc)
VOID CALLBACK_FUNCTION(__in PVOID CallbackContext, __in_opt PVOID Argument1, __in_opt PVOID Argument2)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
AVIStreamHeader ash_video
BOOL MCIAVI_GetInfo(WINE_MCIAVI *wma)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define ICMODE_DECOMPRESS
#define listtypeAVIRECORD
UINT WINAPI waveOutWrite(HWAVEOUT hWaveOut, LPWAVEHDR lpWaveOutHdr, UINT uSize)
WINE_DEFAULT_DEBUG_CHANNEL(mciavi)
#define InterlockedDecrement
LPBITMAPINFOHEADER outbih
#define mmioFOURCC(c0, c1, c2, c3)
DWORD dwSuggestedBufferSize
#define ICM_DECOMPRESS_BEGIN
HIC VFWAPI ICGetDisplayFormat(HIC hic, BITMAPINFOHEADER *in, BITMAPINFOHEADER *out, int depth, int width, int height)
struct MMIOPos * lpVideoIndex
WINE_MCIAVI * MCIAVI_mciGetOpenDev(UINT wDevID)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL MCIAVI_OpenVideo(WINE_MCIAVI *wma)
#define InterlockedIncrement
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define MCI_MODE_NOT_READY
MMRESULT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID, LPCWAVEFORMATEX lpFormat, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD dwFlags)
MMRESULT WINAPI mmioDescend(HMMIO hmmio, LPMMCKINFO lpck, const MMCKINFO *lpckParent, UINT uFlags)
BOOL WINAPI DECLSPEC_HOTPATCH ResetEvent(IN HANDLE hEvent)
HIC VFWAPI ICLocate(DWORD type, DWORD handler, BITMAPINFOHEADER *in, BITMAPINFOHEADER *out, WORD mode)
DWORD dwPlayableVideoFrames
#define MCIERR_DEVICE_OPEN
struct MMIOPos * lpAudioIndex
DWORD dwPaddingGranularity
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void MCIAVI_PlayAudioBlocks(WINE_MCIAVI *wma, unsigned nHdr, LPWAVEHDR waveHdr)
double MCIAVI_PaintFrame(WINE_MCIAVI *wma, HDC hDC)
static BOOL MCIAVI_GetInfoAudio(WINE_MCIAVI *wma, const MMCKINFO *mmckList, MMCKINFO *mmckStream)
LONG WINAPI mmioRead(HMMIO hmmio, HPSTR pch, LONG cch)
static BOOL MCIAVI_GetInfoVideo(WINE_MCIAVI *wma, const MMCKINFO *mmckList, MMCKINFO *mmckStream)
DWORD MCIAVI_OpenAudio(WINE_MCIAVI *wma, unsigned *nHdr, LPWAVEHDR *pWaveHdr)