Mercurial > mplayer.hg
view loader/dshow/DS_VideoDecoder.h @ 35840:bd190ad6b204
Avoid calling FreeLibrary() twice.
FreeLibrary() decreases a per-process reference/usage counter. This counter
is set to 1 when a library is loaded at startup and increased with each
LoadLibrary() call. Calling FreeLibrary() twice could unload the library
(that is loaded at startup) and break code that calls its functions directly.
In MPlayer this seems to happen with fontconfig package.
author | iive |
---|---|
date | Sat, 09 Mar 2013 16:58:26 +0000 |
parents | 837cd9762b4e |
children |
line wrap: on
line source
#ifndef MPLAYER_DS_VIDEODECODER_H #define MPLAYER_DS_VIDEODECODER_H #include "loader/com.h" #include "loader/wine/vfw.h" typedef struct DS_VideoDecoder DS_VideoDecoder; int DS_VideoDecoder_GetCapabilities(DS_VideoDecoder *this); DS_VideoDecoder * DS_VideoDecoder_Open(char* dllname, GUID* guid, BITMAPINFOHEADER * format, int flip, int maxauto); void DS_VideoDecoder_Destroy(DS_VideoDecoder *this); void DS_VideoDecoder_StartInternal(DS_VideoDecoder *this); void DS_VideoDecoder_StopInternal(DS_VideoDecoder *this); int DS_VideoDecoder_DecodeInternal(DS_VideoDecoder *this, const void* src, int size, int is_keyframe, char* pImage); /* * bits == 0 - leave unchanged */ //int SetDestFmt(DS_VideoDecoder * this, int bits = 24, fourcc_t csp = 0); int DS_VideoDecoder_SetDestFmt(DS_VideoDecoder *this, int bits, unsigned int csp); int DS_VideoDecoder_SetDirection(DS_VideoDecoder *this, int d); int DS_VideoDecoder_GetValue(DS_VideoDecoder *this, const char* name, int* value); int DS_VideoDecoder_SetValue(DS_VideoDecoder *this, const char* name, int value); int DS_SetAttr_DivX(char* attribute, int value); #endif /* MPLAYER_DS_VIDEODECODER_H */