GNOME Bugzilla – Bug 730641
dvbbasebin: criticals/crash if tsparse is missing
Last modified: 2014-06-22 12:25:20 UTC
I’ve got an error on a simple pipeline: gst-launch-1.0 -vvv dvbbasebin frequency=12544000 program-numbers='17501' symbol-rate=22000 polarity='h' adapter=1 ! fakesink The message is: (gst-launch-1.0:3607): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed (gst-launch-1.0:3607): GStreamer-CRITICAL **: gst_ghost_pad_new: assertion 'GST_IS_PAD (target)' failed (gst-launch-1.0:3607): GStreamer-CRITICAL **: gst_element_add_pad: assertion 'GST_IS_PAD (pad)' failed (gst-launch-1.0:3607): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed 0:00:00.015438600 3607 0x83e550 ERROR GST_PIPELINE ./grammar.y:613:gst_parse_perform_link: dvbbasebin0 konnte nicht mit fakesink0 verknüpft werden WARNUNG: Fehlerhafte Leitung: dvbbasebin0 konnte nicht mit fakesink0 verknüpft werden I try to use GStreamer 1.3.2.1 for this (because of bug 709414). If I try to make a ‘gst-inspect-1.0 dvbbasebin’ I got this: (gst-inspect-1.0:3623): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed (gst-inspect-1.0:3623): GStreamer-CRITICAL **: gst_ghost_pad_new: assertion 'GST_IS_PAD (target)' failed (gst-inspect-1.0:3623): GStreamer-CRITICAL **: gst_element_add_pad: assertion 'GST_IS_PAD (pad)' failed Factory Details: Rank none (0) Long-name DVB bin Klass Source/Bin/Video Description Access descramble and split DVB streams Author Alessandro Decina <alessandro@nnva.org> Plugin Details: Name dvb Description DVB elements Filename /usr/local/lib/gstreamer-1.0/libgstdvb.so Version 1.3.2.1 …
Created attachment 277083 [details] [review] add missed element cast
Bernhard, can you test it and give a response? (In reply to comment #0) > I’ve got an error on a simple pipeline: > > gst-launch-1.0 -vvv dvbbasebin frequency=12544000 program-numbers='17501' > symbol-rate=22000 polarity='h' adapter=1 ! fakesink > please add the required property "delsys" to your pipeline.
I don't think those casts will fix these run-time criticals.
(In reply to comment #3) > I don't think those casts will fix these run-time criticals. Why not? I have tested it.
Hi Stefan, sorry, I've got the same result: gst-launch-1.0 dvbbasebin frequency=12544000 program-numbers='17501' symbol-rate=22000 polarity='h' adapter=1 delsys=5 ! fakesink (gst-launch-1.0:1776): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed (gst-launch-1.0:1776): GStreamer-CRITICAL **: gst_ghost_pad_new: assertion 'GST_IS_PAD (target)' failed (gst-launch-1.0:1776): GStreamer-CRITICAL **: gst_element_add_pad: assertion 'GST_IS_PAD (pad)' failed (gst-launch-1.0:1776): GStreamer-CRITICAL **: gst_element_get_request_pad: assertion 'GST_IS_ELEMENT (element)' failed 0:00:00.010387033 1776 0x19fe750 ERROR GST_PIPELINE ./grammar.y:613:gst_parse_perform_link: dvbbasebin0 konnte nicht mit fakesink0 verknüpft werden WARNUNG: Fehlerhafte Leitung: dvbbasebin0 konnte nicht mit fakesink0 verknüpft werden
Can you please start gst-launch-1.0 with --gst-debug=*:5 .
Created attachment 277091 [details] gst-launch-1.0 --gst-debug=*:5
>0:00:00.064265854 [332m 3253[00m 0x1fda830 [37mDEBUG [00m [00m GST_REGISTRY gstregistry.c:476:gst_registry_add_plugin:<registry0>[00m adding plugin 0x2097180 for filename "/usr/local/lib/gstreamer-1.0/libgstmpegtsdemux.so" >0:00:00.064275153 [332m 3253[00m 0x1fda830 [37mDEBUG [00m [00m GST_REGISTRY gstregistrychunks.c:857:_priv_gst_registry_chunks_load_plugin:[00m Added plugin 'libgstmpegtsdemux.so' plugin with 0 features from binary registry >0:00:00.064283354 [332m 3253[00m 0x1fda830 [37mDEBUG [00m [00m GST_REGISTRY gstregistrybinary.c:604:priv_gst_registry_binary_read_cache:[00m reading binary registry 245531(3bf1b)/281307 ?? 0 elements ?? (tsparse, tsdemux) >0:00:00.076713768 [332m 3253[00m 0x1fda830 [36mINFO [00m [00;01;37;41m GST_ELEMENT_FACTORY gstelementfactory.c:454:gst_element_factory_make:[00m no such element factory "tsparse"!
(In reply to comment #8) > >0:00:00.064265854 [332m 3253[00m 0x1fda830 [37mDEBUG [00m [00m GST_REGISTRY gstregistry.c:476:gst_registry_add_plugin:<registry0>[00m adding plugin 0x2097180 for filename "/usr/local/lib/gstreamer-1.0/libgstmpegtsdemux.so" > >0:00:00.064275153 [332m 3253[00m 0x1fda830 [37mDEBUG [00m [00m GST_REGISTRY gstregistrychunks.c:857:_priv_gst_registry_chunks_load_plugin:[00m Added plugin 'libgstmpegtsdemux.so' plugin with 0 features from binary registry > >0:00:00.064283354 [332m 3253[00m 0x1fda830 [37mDEBUG [00m [00m GST_REGISTRY gstregistrybinary.c:604:priv_gst_registry_binary_read_cache:[00m reading binary registry 245531(3bf1b)/281307 > > ?? 0 elements ?? (tsparse, tsdemux) > > >0:00:00.076713768 [332m 3253[00m 0x1fda830 [36mINFO [00m [00;01;37;41m GST_ELEMENT_FACTORY gstelementfactory.c:454:gst_element_factory_make:[00m no such element factory "tsparse"! its not dvbbasebin!
Is there a fault in libgstmpegtsdemux.so? This lib is available in /usr/local/lib/gstreamer-1.0/! If I make a gst-inspect with tsparse (as well with tsdemux -> same lib) I get a 'No element or plugin >>tsparse<<'
Looks like you have a build issue. You should get this: $ gst-inspect-1.0 mpegtsdemux Plugin Details: Name mpegtsdemux Description MPEG TS demuxer ... tsdemux: MPEG transport stream demuxer tsparse: MPEG transport stream parser 2 features: +-- 2 elements
I had removed GStreamer 1.2.x with purge before installing 1.3.x, but now, after new installation of OS (without GStreamer 1.2.x), it works. I'm not shure, why other plugins works and mpegtsdemux not (build issue?) but now it works fine for me.
dvbbasebin shouldn't crash just because tsparse isn't available. Fixed in git master: commit ef143252d07e7e3ed01b66e8c0fb10dfaff7ee9a Author: Tim-Philipp Müller <tim@centricular.com> Date: Sun May 25 13:05:49 2014 +0100 dvbbasebin: better error handling in case tsparse is missing https://bugzilla.gnome.org/show_bug.cgi?id=730641