[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