From: James Courtier-D. <Ja...@su...> - 2002-03-05 20:18:15
|
I have these problems all fixed in my version of the tree. I just need a different method for getting video_out id. The get_info call fails in the way you describe, which I why I said it was the wrong way to do it in my last email. Cheers James > -----Original Message----- > From: xin...@li... > [mailto:xin...@li...]On Behalf Of Michael > Roitzsch > Sent: 05 March 2002 11:47 > To: xin...@li... > Subject: [xine-devel] two possible problems > > > Hi all, > > I looked a little into current cvs because I want to get the dxr3 back > working. I noticed two possible bugs: > > 1. In video_out.c, line 486, an image structure is modified without > prior locking. I do not know whether this is intended, but if not, the > attached patch fixes it. > > 2. The video out plugin libraries are loaded with RTLD_GLOBAL set. I am > absolutely no linker expert, but I noticed something very strange: The > video out plugins are loaded in load_plugins.c one after another and > everytime, we ask them for their name and compare this to the one we > want. With the dxr3, the following happens: XShm gets loaded first, but > it returns the wrong name. Next dxr3 gets loaded, name is correct, so > we init it. But later in xine startup, the dxr3 decoder checks the > presence of the dxr3 video out by reading > xine->video_driver->get_info()->id. And somehow, this sometimes says > XShm, although the dxr3 video out was correctly loaded. > I guess this is because we load the stuff with RTLD_GLOBAL and the > get_video_out_plugin_info functions of dxr3 and XShm get mixed because > they have equal names. > Could some linker expert please comment on this? > > Michael Roitzsch > |