[MPlayer-dev-eng] [PATCH] load dlls always from WIN32_PATH

Sascha Sommer saschasommer at freenet.de
Tue May 27 10:29:20 CEST 2003


> Sascha Sommer writes:
>  > > Sascha Sommer wrote:
>  > > > This patch changes the remaining LoadLibrarys() to load
>  > > > dlls from WIN32_PATH.
>  > > > While this was already the case for acm and vfw codecs it wasn't
for
>  > > > quicktime, dshow and dmo codecs.
>  > > > I hope that this won't break anything for Linux.
>  > >
>  > > It breaks Cygwin for me, though:
>  > >
>  > >
==========================================================================
>  > > Opening audio decoder: [qtaudio] QuickTime Audio Decoder
>  > > win32 libquicktime loader (c) Sascha Sommer
>  > > failed loading dll
>  > > ADecoder preinit failed :(
>  > > ADecoder init failed :(
>  > > get_path('codecs.conf') -> '/home/Administrator/.mplayer/codecs.conf'
>  > > *** Try to upgrade /home/Administrator/.mplayer/codecs.conf from
>  > > etc/codecs.conf
>  > >
>  > > *** If it still does not work, read DOCS/codecs.html!
>  > > Cannot find codec for audio format 0x324D4451.
>  > >
==========================================================================
>  > > Trying to force video codec driver family qtvideo ...
>  > > Opening video decoder: [qtvideo] Quicktime Video decoder
>  > > invalid qt DLL!
>  > > VDecoder init failed :(
>  > > Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
>  > > INFO: libavcodec init OK!
>  > > Selected video codec: [ffsvq3] vfm:ffmpeg (FFmpeg SVQ3)
>  > >
==========================================================================
>  > >
>  > > After the changes to ad_qtaudio.c and vd_qtvideo.c my QT DLLs fail to
>  > > load.  It works without the patch.
>  > >
>  >
>  > Yes, QTMLClient.dll has to be in in your codecs path.
>  > Btw. did it load any codecs from there before? (not real, they should
have
>  > worked)
>  > It is also necessary to have the *.qtx files in windows/system, just
like
>  > any dll that gets loaded from the dlls itself.
>
> I have the QT DLLs in /usr/lib/codecs/ _and_ in C:\Winnt\system32\.
>

I now made a few tests with the attached tool and...
dunno what to do.
It will load the dll only if the path is
c:/cygwin/usr/local/lib/win32/qtmlClient.dll
If you do not have the dll there it won't load it from windows/system
It would if the path is only qtmlClient.dll. Therefore I think we have to
discuss this again.
Imo libs belong to /usr/lib or /usr/local/lib on linux and to windows/system
on windows.
We can of course have a different location for the real ones, but
acm,vfw,dmo,dshow and quicktime
dlls belong to windows/system, where they get installed to by their owner
applications.
Once we really make a package we can make an installer that checks if
qtmlClient.dll etc. is present
and if not put it to windows/system.
What is your opinion on this?

Sascha
-------------- next part --------------
A non-text attachment was scrubbed...
Name: loadlibrary.c
Type: application/octet-stream
Size: 427 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20030527/26e1553c/attachment.obj>


More information about the MPlayer-dev-eng mailing list