GLib-CRITICAL **: nn:nn:nn.nnn: g_uri_get_scheme: assertion 'uri != NULL' faile

Ubuntu 24.04

What ever url i try to stream (via parole or radiotray-ng) gstreamer gives me this error:

GLib-CRITICAL **: xx:xx:xx.433: g_uri_get_scheme: assertion ‘uri != NULL’ failed

How to fix?

run first from command line
gst-launch-1.0 playbin3 uri=your_uri
to see if your uri works. Also show your uri here.

Plz see:

bash> ~   $ gst-launch-1.0 playbin3 uri=https://icecast.vrtcdn.be/stubru-high.mp3
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.117: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.117: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.117: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.117: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.118: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.118: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.118: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:300009): GLib-CRITICAL **: 10:28:09.118: g_uri_to_string: assertion 'uri != NULL' failed
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstSoupHTTPSrc:souphttpsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstSoupHTTPSrc:souphttpsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0: Stream doesn't contain enough data.
Additional debug info:
../plugins/elements/gsttypefindelement.c(1012): gst_type_find_element_chain_do_typefinding (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0:
Can't typefind stream
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...

Can you try:
gst-launch-1.0 urisourcebin uri=https://icecast.vrtcdn.be/stubru-high.mp3 ! decodebin3 ! audioconvert ! autoaudiosink

Pretty much the same result:

bash > ~   $ gst-launch-1.0 urisourcebin uri=https://icecast.vrtcdn.be/stubru-high.mp3 ! decodebin3 ! audioconvert ! autoaudiosink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:309442): GLib-CRITICAL **: 11:14:14.688: g_uri_to_string: assertion 'uri != NULL' failed
ERROR: from element /GstPipeline:pipeline0/GstURISourceBin:urisourcebin0/GstSoupHTTPSrc:souphttpsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline0/GstURISourceBin:urisourcebin0/GstSoupHTTPSrc:souphttpsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0: Stream doesn't contain enough data.
Additional debug info:
../plugins/elements/gsttypefindelement.c(1012): gst_type_find_element_chain_do_typefinding (): /GstPipeline:pipeline0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0:
Can't typefind stream
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...

I tested the following pipeline on Linux and it works.
gst-launch-1.0 souphttpsrc location=https://icecast.vrtcdn.be/stubru-high.mp3 ! decodebin ! audioconvert ! autoaudiosink

Hmm, stil the same. Do i miss any dependencies or other?

$ gst-launch-1.0 souphttpsrc location=https://icecast.vrtcdn.be/stubru-high.mp3 ! decodebin ! audioconvert ! autoaudiosink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.998: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.998: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.999: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.999: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.999: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.999: g_uri_get_scheme: assertion 'uri != NULL' failed

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.999: g_str_has_prefix: assertion 'str != NULL' failed

(gst-launch-1.0:369533): GLib-CRITICAL **: 10:32:22.999: g_uri_to_string: assertion 'uri != NULL' failed
ERROR: from element /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3177): gst_base_src_loop (): /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: Stream doesn't contain enough data.
Additional debug info:
../plugins/elements/gsttypefindelement.c(1012): gst_type_find_element_chain_do_typefinding (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind:
Can't typefind stream
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...

My guess would be that you have an invalid proxy configuration.

Can you run with

  1. GST_DEBUG=6 and attach the whole log here
  2. G_DEBUG=fatal_warnings in a debugger and get a backtrace of the first critical warning (after installing all relevant debug symbols)

Hi,

thank you for your remarks.

Attached the output, it contains these bash-color escapes, that make it difficult to read…

logfile is 8MB, not sure how to upload to here....

Here is the logfile:

https://www.mediafire.com/file/9uzkjfkpsu9mv24/gstreamer-20250409.log/file

Updated the link

That doesn’t work: “The URL doesn’t have the correct format.”