Windows executable fails to load fsrtpconference and other plugins

Conrad Poelman cpfarstream at stellarscience.com
Wed Mar 27 00:28:29 PDT 2013


As you may know the Pidgin IM client uses gstreamer and farstream on Linux,
but that capability hasn't been implemented on Windows. The Pidgin IM
client uses a MinGW build system with some specialized build instructions
at https://developer.pidgin.im/wiki/BuildingWinPidgin. I'm attempting to
get gstreamer/farstream working in Pidgin on Windows.

After a lot of effort, I got things to compile and start up by:

   - Making some MinGW build tweaks to farstream itself, described at
   https://bugs.freedesktop.org/show_bug.cgi?id=62793
   - Downloading precompiled binaries for gstreamer 1.1.0.1, glib 2.32,
   GTK+ 2.24, etc. as described at
   http://pidgin.10357.n7.nabble.com/Video-Voice-on-Windows-progress-fails-to-load-fsrtpconference-plugin-td125410.html.
   (Note that I've since rebuilt libnice 0.1.4 from scratch just fine under
   MinGW using a pregenerated ./configure.)

With GST_DEBUG set to '*:9', as Pidgin starts up I can see that some
plugins are loaded just fine and others fail. It looks like:

   - *fsmsnconference*, *fsrtcpfilter and fsrtpconference fail to load*
   - *fsrawconference, fsvideoanyrate load just fine *

For "deployment" of the plugins I just copied the DLLs to
C:\Users\cp\.gstreamer-1.0, set GST_PLUGIN_PATH to point there, and copied
other dependent DLLs into the pidgin.exe directory. Using Dependency Walker
seems to show no missing dependencies. So I guess I wonder if anyone has
any thoughts on:

   - What kinds of things would cause loading a plugin to fail?
   - Can you suggest any extra debugging steps I might try?
   - Do you see a pattern in terms of which plugins load and which ones
   fail that might point me in the right direction?

I appreciate any help you can offer. Thanks!

-- Conrad


P.S. Here are the log messages generated when I start up:

*fsmsnconference failing to load*:
0:00:00.018001000  8912    1d58600 DEBUG           GST_REGISTRY
gstregistry.c:1324:gst_registry_scan_path_internal:<registry0> scanning
path C:\Users\cp\.gstreamer-1.0
0:00:00.019001000  8912    1d58600 LOG             GST_REGISTRY
gstregistry.c:1244:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsmsnconference.dll looks like a possible
module
0:00:00.019001000  8912    1d58600 DEBUG           GST_REGISTRY
gstregistry.c:1305:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsmsnconference.dll not yet in registry
0:00:00.019001000  8912    1d58600 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:702:gst_plugin_load_file: attempt to load plugin
"C:\Users\cp\.gstreamer-1.0\libfsmsnconference.dll"
0:00:00.023002000  8912    1d58600 WARN      GST_PLUGIN_LOADING
gstplugin.c:734:gst_plugin_load_file: module_open failed:
`C:\Users\cp\.gstreamer-1.0\libfsmsnconference.dll': The specified module
could not be found.

*fsrawconference loading fine*:
0:00:00.023002000  8912    1d58600 LOG             GST_REGISTRY
gstregistry.c:1244:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsrawconference.dll looks like a possible
module
0:00:00.023002000  8912    1d58600 DEBUG           GST_REGISTRY
gstregistry.c:1305:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsrawconference.dll not yet in registry
0:00:00.023002000  8912    1d58600 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:702:gst_plugin_load_file: attempt to load plugin
"C:\Users\cp\.gstreamer-1.0\libfsrawconference.dll"
0:00:00.024002000  8912    1d58600 TRACE        GST_REFCOUNTING
gstobject.c:214:gst_object_init:<GstObject at 01DA4228> 01DA4228 new
0:00:00.024002000  8912    1d58600 LOG       GST_PLUGIN_LOADING
gstplugin.c:803:gst_plugin_load_file: Plugin 01DA4228 for file
"C:\Users\cp\.gstreamer-1.0\libfsrawconference.dll" prepared, calling entry
function...
0:00:00.024002000  8912    1d58600 LOG       GST_PLUGIN_LOADING
gstplugin.c:810:gst_plugin_load_file: Plugin 01DA4228 for file
"C:\Users\cp\.gstreamer-1.0\libfsrawconference.dll" prepared, registering...
0:00:00.024002000  8912    1d58600 LOG       GST_PLUGIN_LOADING
gstplugin.c:504:gst_plugin_register_func: plugin
"C:\Users\cp\.gstreamer-1.0\libfsrawconference.dll" looks good
0:00:00.024002000  8912    1d58600 TRACE        GST_REFCOUNTING
gstobject.c:214:gst_object_init:<GstObject at 0418D140> 0418D140 new
0:00:00.024002000  8912    1d58600 LOG      GST_ELEMENT_FACTORY
gstelementfactory.c:240:gst_element_register:<fsrawconference> Created new
elementfactory for type FsRawConference
...

*fsrtcpfilter and fsrtpconference failing to load:*
0:00:00.029002000  8912    1d58600 LOG             GST_REGISTRY
gstregistry.c:1244:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsrtcpfilter.dll looks like a possible module
0:00:00.029002000  8912    1d58600 DEBUG           GST_REGISTRY
gstregistry.c:1305:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsrtcpfilter.dll not yet in registry
0:00:00.029002000  8912    1d58600 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:702:gst_plugin_load_file: attempt to load plugin
"C:\Users\cp\.gstreamer-1.0\libfsrtcpfilter.dll"
0:00:00.032002000  8912    1d58600 WARN      GST_PLUGIN_LOADING
gstplugin.c:734:gst_plugin_load_file: module_open failed:
`C:\Users\cp\.gstreamer-1.0\libfsrtcpfilter.dll': The specified module
could not be found.
0:00:00.033002000  8912    1d58600 LOG             GST_REGISTRY
gstregistry.c:1244:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsrtpconference.dll looks like a possible
module
0:00:00.033002000  8912    1d58600 DEBUG           GST_REGISTRY
gstregistry.c:1305:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsrtpconference.dll not yet in registry
0:00:00.033002000  8912    1d58600 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:702:gst_plugin_load_file: attempt to load plugin
"C:\Users\cp\.gstreamer-1.0\libfsrtpconference.dll"
0:00:00.035002000  8912    1d58600 WARN      GST_PLUGIN_LOADING
gstplugin.c:734:gst_plugin_load_file: module_open failed:
`C:\Users\cp\.gstreamer-1.0\libfsrtpconference.dll': The specified module
could not be found.

*fsvideoanyrate loading fine:*
0:00:00.035002000  8912    1d58600 LOG             GST_REGISTRY
gstregistry.c:1244:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsvideoanyrate.dll looks like a possible
module
0:00:00.035002000  8912    1d58600 DEBUG           GST_REGISTRY
gstregistry.c:1305:gst_registry_scan_path_level:<registry0> file
C:\Users\cp\.gstreamer-1.0\libfsvideoanyrate.dll not yet in registry
0:00:00.035002000  8912    1d58600 DEBUG     GST_PLUGIN_LOADING
gstplugin.c:702:gst_plugin_load_file: attempt to load plugin
"C:\Users\cp\.gstreamer-1.0\libfsvideoanyrate.dll"
0:00:00.036002000  8912    1d58600 TRACE        GST_REFCOUNTING
gstobject.c:214:gst_object_init:<GstObject at 01DA40B8> 01DA40B8 new
0:00:00.036002000  8912    1d58600 LOG       GST_PLUGIN_LOADING
gstplugin.c:803:gst_plugin_load_file: Plugin 01DA40B8 for file
"C:\Users\cp\.gstreamer-1.0\libfsvideoanyrate.dll" prepared, calling entry
function...
0:00:00.036002000  8912    1d58600 LOG       GST_PLUGIN_LOADING
gstplugin.c:810:gst_plugin_load_file: Plugin 01DA40B8 for file
"C:\Users\cp\.gstreamer-1.0\libfsvideoanyrate.dll" prepared, registering...
0:00:00.036002000  8912    1d58600 LOG       GST_PLUGIN_LOADING
gstplugin.c:504:gst_plugin_register_func: plugin
"C:\Users\cp\.gstreamer-1.0\libfsvideoanyrate.dll" looks good
0:00:00.036002000  8912    1d58600 TRACE        GST_REFCOUNTING
gstobject.c:214:gst_object_init:<GstObject at 0418D1D0> 0418D1D0 new
0:00:00.036002000  8912    1d58600 LOG      GST_ELEMENT_FACTORY
gstelementfactory.c:240:gst_element_register:<fsvideoanyrate> Created new
elementfactory for type GstVideoanyrate
...



<http://pidgin.10357.n7.nabble.com/Video-Voice-on-Windows-progress-fails-to-load-fsrtpconference-plugin-td125410.html>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/farstream-devel/attachments/20130327/8ad32d80/attachment.html>


More information about the Farstream-devel mailing list