[MPlayer-dev-eng] state of realvideo?

Kees Cook mplayer at outflux.net
Mon May 20 17:23:58 CEST 2002


On Fri, May 17, 2002 at 10:37:19PM +0200, Arpi wrote:
> I would try to implement a dummy wrapper function set, and preload it.
> So, it could print in/out parameters of the library functions.
> Of course, first you have to assume it has many (10?) parameters, and then
> you'll see with multiple runs which parameters are not parameters...
> at leats i used this trick when tracing qtx codecs in qtplayer running in wine

How do you see which are or are not parameters?  Also, digging through the 
disassembly, it looks like it uses a _huge_ number of parameters.  It 
references things in more than 100 bytes back on the stack: push 
esp, pop ebp, *use* [ebp-180].

> codec_init(width,height,depth, other codec options, mayeb all this in a
>   struct)

If it's doing this, it's passing it _as_ a struct, rather than a pointer 
to a struct.  Really weird.

> and the sdk headers can give some hints on the API structure and data formats.

Yeah, I think I'm going to look their next to see if I can find anything 
that looks familiar.

> > Codecs/rv20.so.6.0 => Codecs/drv2.so.6.0 `RV20toYUV420HiveMessage'
> ???

It calls this right after the init.  (and then segfaults...)


Also, is there an easy way to figure out what the return variables are?  
And if I do get this working, there are some problems I'm not sure how to 
solve with a regular .o file.  For example, this code appears to be C++ 
compiled, and looks for a reference "__pure_virtual".  I had to make a 
separate .so that defined this before dlopen would quit complaining about 
it being missing.  Putting it in my .c file didn't seem to solve it, and 
I'm not sure why.

-- 
Kees Cook                                            @outflux.net



More information about the MPlayer-dev-eng mailing list