On Friday 28 November 2003 02:33, Andreas Mohr wrote:
On Thu, Nov 27, 2003 at 06:04:29PM -0500, dim owner wrote:
Just for some basic info ... MPlayer fakes responces to system API on a per-codec-DLL basis, which means, for each new DLL, they add the necessary callbacks. I think this could eventually wind them into trouble if the dlls they want to use grew in the wrong way. But, the advantage, they don't have to process a video stream through a full wine, which gives them speed enough to make the DLLs useful.
Why speed? Maybe loading speed, but I doubt that it has anything to do with execution speed if you have a full Wine environment.
hmm... I had read (on MPlayer's dev-eng) that speed was the reason for implimenting a win32 dll loader and mapping the linux functions to the dll's calls... There is possibly some speed benefit; wine has a full loop of processes to control, and if you use a full wine implimentation, you need a dll loader .exe with IPC in the windoze environment, or I guess rather, alter the wine executable and create an IPc mechanism that the dll loader can interface to, no? (ie, which is faster, a wine exe plus a UNIX process, or 2 unix processes, one with a very lightweight wine-like translation?) With their method, the dll win32 wrapper acts as interfaces with individual calls (the dll is modified to this end), so it has the look-and-feel of an .so To use this (MPlayer-esque) method, one would build wrappers individually for each plugin, to link to the interfaces in the dll... (that's not their method, they share the win32 interface ... but this would ensure that 2 plugins' requirements aren't mutually exclusive). Gimp plugins are executable, BTW. Either way, it isn't a good dynamic solution. It's a mess, IMHO.
That brings up the second question I have ... I'm not a windows person. Is there some tool that can query a DLL, kinda like objdump?
Either tools/winedump/ or pedump (someone also ported it to Linux at some time).
Awesome, I'll dig right in. :) --r dorothy(a)oz:~> ls scarecrow tinman lion dorothy(a)oz:~> find . -name home There's no place like home.