Deploying libsoup on macOS with gstreamer 1.20

Jonas Kvinge jonaski at opensuse.org
Sat Mar 12 12:56:17 UTC 2022


Hi

I can't get libsoup to work on macOS after upgrading to gstreamer 1.20. 
I get it to work on Windows using libsoup 2.74.2 (with libsoup 3 
playback progress stops around the end of each track).
I build all libraries including gstreamer myself.

I notice that libgstsoup is no longer dynamically linked to libsoup, but 
instead loaded at runtime. libsoup-2.4.1.dylib is deployed in the 
Frameworks directory.

I see no errors logged on startup related to libsoup, even when setting 
GST_DEBUG to 4. I have tried patching the latest changes to 
gstsouploader.c too.

The following environment variables are set before gst_init:

GIO_EXTRA_MODULES=/Applications/strawberry.app/Contents/MacOS/../PlugIns/gio-modules
GST_PLUGIN_SCANNER=/Applications/strawberry.app/Contents/MacOS/../PlugIns/gst-plugin-scanner
GST_PLUGIN_PATH=/Applications/strawberry.app/Contents/MacOS/../PlugIns/gstreamer
GST_PLUGIN_SYSTEM_PATH=/Applications/strawberry.app/Contents/MacOS/../PlugIns/gstreamer

I have checked that libgstsoup.dylib exists in the gstreamer plugin 
directory, and all dependencies also exist.

libsoup-2.4.1.dylib exists in 
/Applications/strawberry.app/Contents/Frameworks/, copying it into the 
plugin directory does not work either.

otool -L 
/Applications/strawberry.app/Contents/PlugIns/gstreamer/libgstsoup.dylib

/Applications/strawberry.app/Contents/PlugIns/gstreamer/libgstsoup.dylib:
  /Users/jonas/build/strawberry-macos-dependencies/usr/lib/gstreamer-1.0/libgstsoup.dylib (compatibility version 0.0.0, current version 0.0.0)
     @loader_path/../../Frameworks/libgstreamer-1.0.0.dylib 
(compatibility version 2001.0.0, current version 2001.0.0)
     @loader_path/../../Frameworks/libgobject-2.0.0.dylib (compatibility 
version 7104.0.0, current version 7104.0.0)
     @loader_path/../../Frameworks/libglib-2.0.0.dylib (compatibility 
version 7104.0.0, current version 7104.0.0)
     @loader_path/../../Frameworks/libintl.8.dylib (compatibility 
version 11.0.0, current version 11.0.0)
     @loader_path/../../Frameworks/libgstbase-1.0.0.dylib (compatibility 
version 2001.0.0, current version 2001.0.0)
     @loader_path/../../Frameworks/libgsttag-1.0.0.dylib (compatibility 
version 2001.0.0, current version 2001.0.0)
     @loader_path/../../Frameworks/libgmodule-2.0.0.dylib (compatibility 
version 7104.0.0, current version 7104.0.0)
     @loader_path/../../Frameworks/libgio-2.0.0.dylib (compatibility 
version 7104.0.0, current version 7104.0.0)
     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1292.100.5)

otool -L 
/Applications/strawberry.app/Contents/Frameworks/libsoup-2.4.1.dylib

/Applications/strawberry.app/Contents/Frameworks/libsoup-2.4.1.dylib:
  /Users/jonas/build/strawberry-macos-dependencies/usr/lib/libsoup-2.4.1.dylib (compatibility version 13.0.0, current version 13.2.0)
     @loader_path/libglib-2.0.0.dylib (compatibility version 7104.0.0, 
current version 7104.0.0)
     @loader_path/libintl.8.dylib (compatibility version 11.0.0, current 
version 11.0.0)
     @loader_path/libgmodule-2.0.0.dylib (compatibility version 
7104.0.0, current version 7104.0.0)
     @loader_path/libgobject-2.0.0.dylib (compatibility version 
7104.0.0, current version 7104.0.0)
     @loader_path/libgio-2.0.0.dylib (compatibility version 7104.0.0, 
current version 7104.0.0)
     @loader_path/libxml2.2.dylib (compatibility version 12.0.0, current 
version 12.13.0)
     @loader_path/libsqlite3.0.dylib (compatibility version 9.0.0, 
current version 9.6.0)
     @loader_path/libpsl.5.dylib (compatibility version 9.0.0, current 
version 9.3.0)
     @loader_path/libbrotlidec.dylib (compatibility version 1.0.0, 
current version 1.0.9)
     @loader_path/libz.1.dylib (compatibility version 1.0.0, current 
version 1.2.11)
     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current 
version 1292.100.5)


Acutal error:

0:00:05.978931000 69196 0x7f90366ff8c0 WARN uridecodebin 
gsturidecodebin.c:1466:gen_source_element:<uridecodebin0> error: No URI 
handler implemented for "http".
04:48:02.721 ERROR GstEnginePipeline:1144 ErrorMessageReceived ID: 1 
Domain: 1834 Code: 12 Error: "No URI handler implemented for \"http\"."
04:48:02.722 ERROR GstEnginePipeline:1145 ErrorMessageReceived ID: 1 
Domain: 1834 Code: 12 Debug: 
"../gst-plugins-base-1.20.0/gst/playback/gsturidecodebin.c(1466): 
gen_source_element (): 
/GstPlayBin:pipeline-1-pipeline/GstURIDecodeBin:uridecodebin0"
04:48:02.722 ERROR GstEnginePipeline:1144 ErrorMessageReceived ID: 1 
Domain: 1834 Code: 12 Error: "No URI handler implemented for \"http\"."
04:48:02.722 ERROR GstEnginePipeline:1145 ErrorMessageReceived ID: 1 
Domain: 1834 Code: 12 Debug: 
"../gst-plugins-base-1.20.0/gst/playback/gsturidecodebin.c(1466): 
gen_source_element (): 
/GstPlayBin:pipeline-1-pipeline/GstURIDecodeBin:uridecodebin0"
04:48:02.750 ERROR GstEngine:545                    GStreamer error: 
1834 12 "No URI handler implemented for \"http\"."

Jonas




More information about the gstreamer-devel mailing list