GNOME Bugzilla – Bug 783778
Missing souphttpsrc plugin on Windows
Last modified: 2017-07-21 13:28:03 UTC
I installed "gstreamer-1.0-x86-1.12.0.msi" on Win10. Then: C:\>gst-inspect-1.0 --version gst-inspect-1.0 version 1.12.0 GStreamer 1.12.0 Unknown package origin C:\>gst-inspect-1.0 souphttpsrc No such element or plugin 'souphttpsrc' If I search "libgstsouphttpsrc.dll" in gstreamer directory with Explorer the file cannot be found. I get the same issue on Win7 and Win10 and also with the 64-Bit version of GStreamer (gstreamer-1.0-x86_64-1.12.0.msi).
As yesterday the binaries for 1.12.1 were released, I tested this new version. Now the installer works correctly on Win7, but not on Win10. On Win7 all works fine and I noticed that the name of the plugin file were changed from "libgstsouphttpsrc.dll" on 1.10.x to "libgstsoup.dll" on 1.12.x On Win7 now I get this result: C:\>gst-inspect-1.0 souphttpsrc Factory Details: Rank primary (256) Long-name HTTP client source Klass Source/Network Description Receive data as a client over the network via HTTP using SOUP Author Wouter Cloetens <wouter@mind.be> Plugin Details: Name soup Description libsoup HTTP client src/sink Filename c:\gstreamer\1.0\x86\lib\gstreamer-1.0\libgstsoup.dll Version 1.12.1 License LGPL Source module gst-plugins-good Source release date 2017-06-20 Binary package GStreamer Good Plug-ins source release Origin URL Unknown package origin ... C:\>gst-inspect-1.0 soup Plugin Details: Name soup Description libsoup HTTP client src/sink Filename c:\gstreamer\1.0\x86\lib\gstreamer-1.0\libgstsoup.dll Version 1.12.1 License LGPL Source module gst-plugins-good Source release date 2017-06-20 Binary package GStreamer Good Plug-ins source release Origin URL Unknown package origin souphttpsrc: HTTP client source souphttpclientsink: HTTP client sink 2 features: +-- 2 elements On Win10 I get these errors: C:\>gst-inspect-1.0 souphttpsrc No such element or plugin 'souphttpsrc' C:\>gst-inspect-1.0 souphttpclientsink No such element or plugin 'souphttpclientsink' I checked the plugin file "libgstsoup.dll" with Explorer and it's installed correctly in the plugin directory but when I check it with gst-inspect it has "0 features": C:\>gst-inspect-1.0 soup Plugin Details: Name soup Description libsoup HTTP client src/sink Filename c:\gstreamer\1.0\x86\lib\gstreamer-1.0\libgstsoup.dll Version 1.12.1 License LGPL Source module gst-plugins-good Source release date 2017-06-20 Binary package GStreamer Good Plug-ins source release Origin URL Unknown package origin 0 features: While the following pipeline works fine on Win7 it fails on Win10 C:\>gst-launch-1.0 playbin uri=http://192.168.0.242/mjpg/video.mjpg Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. Missing element: HTTP protocol source ERROR: from element /GstURIDecodeBin:uridecodebin0: No URI handler implemented for "http". Additional debug info: gsturidecodebin.c(1419): gen_source_element (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 Setting pipeline to NULL ... Freeing pipeline ...
I installed the 1.12.1 msi here, and I can see souphttpsrc fine on my Win10 machine. I don't know what's wrong for you. Can you please try running gst-inspect-1.0 on the libgstsoup.dll directly? (from the GStreamer bin/ directory:) gst-inspect-1.0 ..\lib\gstreamer-1.0\libgstsoup.dll You might also try deleting your registry cache from %LOCALAPPDATA%\Microsoft\Windows\INetCache\gstreamer-1.0\registry.x86_64.bin
On last friday I uninstalled the 1.12.1 and installed the 1.10.4 again because I need the soup plugin. So today I uninstalled the 1.10.4 and installed the 1.12.1 again. Then: C:\>gst-inspect-1.0 soup Plugin Details: Name soup Description libsoup HTTP client src/sink Filename c:\gstreamer\1.0\x86\lib\gstreamer-1.0\libgstsoup.dll Version 1.12.1 License LGPL Source module gst-plugins-good Source release date 2017-06-20 Binary package GStreamer Good Plug-ins source release Origin URL Unknown package origin 0 features: Then I checked the plugin file directly: C:\>cd gstreamer\1.0\x86\bin C:\gstreamer\1.0\x86\bin>gst-inspect-1.0 ..\lib\gstreamer-1.0\libgstsoup.dll WARNING: no real random source present! Plugin Details: Name soup Description libsoup HTTP client src/sink Filename C:\gstreamer\1.0\x86\lib\gstreamer-1.0\libgstsoup.dll Version 1.12.1 License LGPL Source module gst-plugins-good Source release date 2017-06-20 Binary package GStreamer Good Plug-ins source release Origin URL Unknown package origin souphttpsrc: HTTP client source souphttpclientsink: HTTP client sink 2 features: +-- 2 elements Ok, the soup plugin is working. Then I tried the "normal check" again and it also works now: C:\gstreamer\1.0\x86\bin>cd\ C:\>gst-inspect-1.0 soup WARNING: no real random source present! Plugin Details: Name soup Description libsoup HTTP client src/sink Filename c:\gstreamer\1.0\x86\lib\gstreamer-1.0\libgstsoup.dll Version 1.12.1 License LGPL Source module gst-plugins-good Source release date 2017-06-20 Binary package GStreamer Good Plug-ins source release Origin URL Unknown package origin souphttpsrc: HTTP client source souphttpclientsink: HTTP client sink 2 features: +-- 2 elements So it seems that this issue is only a problem with the registry cache. To be sure, I deleted the cache file also. Some additional info: I tested on 3 PC's with Win10. Two of them had installed 1.10.4 before and were updated to 1.12.1 (first uninstalled the old and then installed the new). On both the issue appeared as described above. Only the 3rd PC which never had seen any GStreamer installation works out of the box. So on my machines the issue appears anly when updating from an older version. However now it's working fine and that's most important. Thank you very much for your support. Hey guys, you are doing a great job. GStreamer is the best multimedia framework, I've ever seen. Keep it up.
Today I updated my machines from 1.12.1. to 1.12.2 and the issue didn't appear anymore. So the bug seems to be fixed now.
Ok, thanks for letting us know. I wonder if this 'plugin shows up but with 0 features' is due to a bug in the registry, I vaguely remember something like that happening when plugins get renamed.