[gst-devel] gst directshow wrapper weirdness

Ali Sabil ali.sabil at tandberg.com
Wed Jun 13 22:48:22 CEST 2007


It doesn't seem to be the case, since gst_dshow_register_fakefilters is exported by libgstdshow, and libdshowsrcwrapper exports gst_dshowaudiosrc_get_type, gst_dshowvideosrc_get_type and gst_plugin_desc , as well as a lot of symbols like  TIME_FORMAT_BYTE, PIN_*, AMPROPSETID_Pin ...

Still weird ...

-----Original Message-----
From: Sébastien Moutte [mailto:sebastien at moutte.net] 
Sent: Wednesday, June 13, 2007 10:26 PM
To: Ali Sabil
Cc: gstreamer-devel at lists.sourceforge.net
Subject: Re: [gst-devel] gst directshow wrapper weirdness

well, this is really strange.
It looks like you built some source files of libdshow in libdshowsrcwrapper.
gst_dshow_register_fakefilters is called in plugin_init function of 
libdshowsrcwrapper but this function must be implemented and exported 
from libdshow.
Could you check if it is the case ?

Ali Sabil a écrit :
> It seems like when I use regserv32 the key get set to the correct value,
> but once I try to run gst-launch the key get reset to the wrong value :/
>
> On Mon, 2007-06-11 at 13:39 +0200, Sebastien Moutte wrote:
>   
>> It should point to libdshow-0.10.dll as the fake sink COM object is implemented in the library and not in the plugin.
>>
>> -----Original Message-----
>> From: Ali Sabil [mailto:ali.sabil at tandberg.com] 
>> Sent: lundi 11 juin 2007 12:26
>> To: Sébastien Moutte
>> Cc: gstreamer-devel at lists.sourceforge.net
>> Subject: Re: [gst-devel] gst directshow wrapper weirdness
>>
>> Hello again :)
>>
>> the key exists, and it points to libgstdshowsrcwrapper.dll
>>
>> Thanks
>>
>> --
>> Ali
>>
>> On Sun, 2007-06-10 at 23:42 +0200, Sébastien Moutte wrote:
>>     
>>> if you still have the same error code saying that it can't find the fake 
>>> sink's CLSID in the registry, you should search for 
>>> {6A780808-9725-4d0b-8695-A4DD8D210773} key in your registry to check if 
>>> the filter object registration was done correctly or not.
>>> Normally, you will find a key 
>>> HKEY_CLASSES_ROOT\CLSID\{6A780808-9725-4D0B-8695-A4DD8D210773} with the 
>>> path of DLL in as default value of InprocServer32 subkey.
>>> Sebastien
>>>
>>> Ali Sabil a écrit :
>>>       
>>>> Hello again,
>>>>
>>>> Now I finally managed to fix the stdcall symbol naming problem (the @x
>>>> that get appended), by making use of Aliasing (both symbols are
>>>> available now), now Regsvr32 succeeds, but I still get this error saying
>>>> that it failed at creating the FakeSink filter.
>>>>
>>>> Any help/idea/suggestion would be very welcome.
>>>>
>>>> Thanks
>>>>
>>>> --
>>>> Ali
>>>>
>>>> On Thu, 2007-06-07 at 23:29 +0200, Sébastien Moutte wrote:
>>>>   
>>>>         
>>>>> It could be an exportation problem, you should see DllRegisterServer in 
>>>>> the Dependency Walker and not DllRegisterServer at 0
>>>>> I'm using a .def to export functions, maybe mingw doesn't handle it 
>>>>> correctly ...
>>>>>
>>>>> Ali Sabil a écrit :
>>>>>     
>>>>>           
>>>>>> The actual error message from regsvr32 is "ligstdhow-0.10-0.dll was
>>>>>> loaded, but the DllRegisterServer entry point was not found".
>>>>>>
>>>>>> The weird thing is that the DllRegisterServer at 0 symbol is defined in
>>>>>> the .dll file (I checked using a tool called Dependency Walker)
>>>>>>
>>>>>> Any ideas about the problem ?
>>>>>>
>>>>>> --
>>>>>> Ali
>>>>>>
>>>>>> On Wed, 2007-06-06 at 18:13 +0200, Ali Sabil wrote:
>>>>>>   
>>>>>>       
>>>>>>             
>>>>>>> It seems like the filter doesn't get registered as it should be. I
>>>>>>> also tried to make DllRegister and DllUnregister dllexported and ran
>>>>>>> regsvr32 to register it, but it failed saying that the filter could
>>>>>>> not be registered.
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>> Btw, I had to apply some fixes, to get it to build, and I am building
>>>>>>> it using mingw32 on GNU/Linux, if you want I can make the compiled
>>>>>>> libgstdshow available so hat you can take a look at it.
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>> Thank you
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Ali
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>>                                    
>>>>>>> ______________________________________________________________________
>>>>>>> From:Sebastien Moutte [mailto:sebastien at moutte.net] 
>>>>>>> Sent: Wednesday, June 06, 2007 4:34 PM
>>>>>>> To: Ali Sabil; gstreamer-devel at lists.sourceforge.net
>>>>>>> Subject: RE: [gst-devel] gst directshow wrapper weirdness
>>>>>>>
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> It seems the DirectShow fake sink element is not registered on your
>>>>>>> computer.
>>>>>>>
>>>>>>> This filter is implemented inside libdshow-0.10.dll and normally
>>>>>>> dshowvideosrc and dshowaudiosrc are registering it automatically so
>>>>>>> you have probably some dependency problem or there was a problem
>>>>>>> during the registration.
>>>>>>>
>>>>>>> If you have installed DirectX SDK, you have probably graphedit.exe on your computer, you can use it to search for "DSHOW fake sink filter" in the DirectShow installed filters list.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Sebastien
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>> From:gstreamer-devel-bounces at lists.sourceforge.net
>>>>>>> [mailto:gstreamer-devel-bounces at lists.sourceforge.net] On Behalf Of
>>>>>>> Ali Sabil
>>>>>>> Sent: mardi 5 juin 2007 11:55
>>>>>>> To: gstreamer-devel at lists.sourceforge.net
>>>>>>> Subject: [gst-devel] gst directshow wrapper weirdness
>>>>>>>
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>> Hello all,
>>>>>>>
>>>>>>> After many days trying to cross compile the new directshow wrapper,
>>>>>>> and
>>>>>>> the audio and video source for windows using mingw32, I finally
>>>>>>> succeeded in building the .dll files, but now when I try to run it I
>>>>>>> get
>>>>>>> the following error :
>>>>>>>
>>>>>>>  $ gst-launch-0.10.exe dshowvideosrc ! ffmpegcolorspace !
>>>>>>> directdrawsink
>>>>>>> Setting pipeline to PAUSED ...
>>>>>>> 0:00:00.264301000  2056 003D42E0 ERROR        dshowvideosrc
>>>>>>> gstdshowvideosrc.c:602:gst_dshowvideosrc_start: Can't create an
>>>>>>> instance
>>>>>>> of our dshow fakesink filter (error=-2147221164)
>>>>>>> ERROR: Pipeline doesn't want to pause.
>>>>>>> Setting pipeline to NULL ...
>>>>>>> FREEING pipeline ...
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>> --
>>>>>>> Ali
>>>>>>>
>>>>>>>  
>>>>>>>
>>>>>>>
>>>>>>> -------------------------------------------------------------------------
>>>>>>> This SF.net email is sponsored by DB2 Express
>>>>>>> Download DB2 Express C - the FREE version of DB2 express and take
>>>>>>> control of your XML. No limits. Just data. Click to get it now.
>>>>>>> http://sourceforge.net/powerbar/db2/
>>>>>>> _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>>>>>     
>>>>>>>         
>>>>>>>               
>>>>>> -------------------------------------------------------------------------
>>>>>> This SF.net email is sponsored by DB2 Express
>>>>>> Download DB2 Express C - the FREE version of DB2 express and take
>>>>>> control of your XML. No limits. Just data. Click to get it now.
>>>>>> http://sourceforge.net/powerbar/db2/
>>>>>> _______________________________________________
>>>>>> gstreamer-devel mailing list
>>>>>> gstreamer-devel at lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>>>>   
>>>>>>       
>>>>>>             
>>>>   
>>>>         
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>   




More information about the gstreamer-devel mailing list