After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 678892 - uridecodebin: differentiate between no URI handler found and URI not accepted by handler
uridecodebin: differentiate between no URI handler found and URI not accepted...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-06-26 15:00 UTC by Tim-Philipp Müller
Modified: 2013-04-21 17:33 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tim-Philipp Müller 2012-06-26 15:00:44 UTC
+++ This bug was initially created as a clone of Bug #645467 +++

If the $HOME/.gstreamer-0.10/dvb-channels.conf is in an unsuitable format for parse_channels_conf_from_file (), then the end result is a very confusing error message for users:

ERROR: from element /GstURIDecodeBin:uridecodebin0: No URI handler implemented for "dvb".
While gst-inspect dvbbasebin shows an URI handler:
  Supported URI protocols:
    dvb
(but many users who know gst-inspect may look into dvbsrc element instead like I did initially, which isn't a uri handler).

Hopefully it could propagate and present a better error message in this case.
Noticed this because a w_scan upgrade seemed to start generating a different format file now from old totem pre-gnome-dvb-daemon playing instructions. Nowadays need to pass -M for mplayer style for gstreamer to be happy about it.


Full debug log with *dvb*:5 follows:


$ GST_DEBUG=*dvb*:5 gst-launch-0.10 -v playbin2 uri=dvb://Kanal%202 
Setting pipeline to PAUSED ...
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "dvb://Kanal%202"
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0
0:00:00.619933789 28072      0x24160a0 DEBUG                 dvbsrc gstdvbsrc.c:881:gst_dvbsrc_plugin_init: binding text domain gst-plugins-bad-0.10 to locale dir /usr/local/share/locale
0:00:00.620216089 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:459:gst_dvbsrc_init:<GstDvbSrc@0x24c5b00> gst_dvbsrc_init
0:00:00.620232152 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:529:gst_dvbsrc_set_property:<dvbsrc0> Set Property: ARG_DVBSRC_POLARITY
0:00:00.621264692 28072      0x24160a0 DEBUG             dvbbasebin dvbbasebin.c:626:foreach_stream_build_filter: stream 0 usecount 1
0:00:00.621276285 28072      0x24160a0 DEBUG             dvbbasebin dvbbasebin.c:626:foreach_stream_build_filter: stream 1 usecount 1
0:00:00.621284317 28072      0x24160a0 DEBUG             dvbbasebin dvbbasebin.c:626:foreach_stream_build_filter: stream 17 usecount 1
0:00:00.621291860 28072      0x24160a0 DEBUG             dvbbasebin dvbbasebin.c:626:foreach_stream_build_filter: stream 16 usecount 1
0:00:00.621299333 28072      0x24160a0 DEBUG             dvbbasebin dvbbasebin.c:626:foreach_stream_build_filter: stream 20 usecount 1
0:00:00.621306946 28072      0x24160a0 DEBUG             dvbbasebin dvbbasebin.c:626:foreach_stream_build_filter: stream 18 usecount 1
0:00:00.621315117 28072      0x24160a0 INFO              dvbbasebin dvbbasebin.c:649:dvb_base_bin_rebuild_filter:<DvbBaseBin@0x24c6100> rebuilt filter 18:20:16:17:1:0
0:00:00.621325384 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:535:gst_dvbsrc_set_property:<dvbsrc0> Set Property: ARG_DVBSRC_PIDS
0:00:00.621335721 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:562:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 18

0:00:00.621343962 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:562:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 20

0:00:00.621351645 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:562:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 16

0:00:00.621359118 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:562:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 17

0:00:00.621367149 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:575:gst_dvbsrc_set_property:<dvbsrc0> checking if playing for setting pes filters
0:00:00.621378953 28072      0x24160a0 INFO                  dvbsrc gstdvbsrc.c:529:gst_dvbsrc_set_property:<dvbsrc0> Set Property: ARG_DVBSRC_POLARITY
0:00:00.621747927 28072      0x24160a0 DEBUG                 dvbsrc gstdvbsrc.c:846:gst_dvbsrc_finalize:<dvbsrc0> gst_dvbsrc_finalize
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstURIDecodeBin:uridecodebin0: No URI handler implemented for "dvb".
Additional debug info:
gsturidecodebin.c(1177): gen_source_element (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 1 Tim-Philipp Müller 2012-06-26 15:02:01 UTC
Can be done now that gst_element_from_uri() returns a GError
Comment 2 Tim-Philipp Müller 2013-04-21 17:33:59 UTC
commit 830926e47da5f59d84be171ef4c307a580a948a5
Author: Tim-Philipp Müller <tim@centricular.net>
Date:   Sun Apr 21 17:24:55 2013 +0100

    uridecodebin: don't report 'no uri handler found' if the URI was rejected by a source
    
    If a source element could be created for a URI, but all elements rejected
    the URI for some reason, propagate the error from the URI handler instead
    of reporting a 'no uri handler found for protocol xyz' error, which is
    confusing. Fixes error reporting with dvb:// URIs when the channel config
    file could not be found or not be parsed or the channel isn't listed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=678892


commit bd504e379b76b54e71ce22f2d09fb6ed8edaeca8
Author: Tim-Philipp Müller <tim@centricular.net>
Date:   Sun Apr 21 18:28:52 2013 +0100

    dvbbasebin: better error reporting
    
    https://bugzilla.gnome.org/show_bug.cgi?id=678892