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