Troubles with GStreamer [UPDATED]

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Troubles with GStreamer [UPDATED]

Wes Miller
Administrator
This post was updated on .
I have a mixed bag of related problems all of which showed up together.  Can someone help me with my first problem so I can see if the others are real?

To start, I had a stable, working gstreamer and plugins on my Fedora 12 box.  I wrote and have been using a program that gst_parse_launch()-es two (separate threads) simple video recorder pipeline (mjpeg camera saved to matroska file and tee'd off to an appsink where I save off some of the metadata).  These pipe run 1 minute then are stopped, torn down (unrefed, etc), rebuilt and re-gst_parse_launched()-ed.  The only difference is a new output filename for each iteration. The location property of the filesink is set outside the gst_parse_launch().  And, FWIW, this is run in Qt and doesn't seem to need a g_main_loop to execute.  I reuse the same instance of gstreamer.

Last week I ran yum update and noticed that i got new gstreamer updates.  I also yum installed gst-ffmpeg and yum updated gst-rtsp.  I was going to start work on a new project where I needed rtsp streams.  I reran my existing project and that's where all my troubles started.

It runs through the first iteration with no problems.  On the second pass I get a bunch of GST_CRITICAL messages like these:
[^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]
UPDATE:  It looks like all these errors come from gst_parse_launchl() which returns the error message:
               "Could not link my-mux to my_sink"

the pipeline is "souphttpsrc name=my-src
                       ! multipartdemux name = my_demux
                       ! image/jpeg,width=640,height=480
                       ! tee name=t     t.
                     ! queue2 name=my_queue1
                       ! matroskamux name = my_mux
                       ! filesink  name=my_sink    t.
                     ! queue2 name=my_queue2
                       ! appsink name=my_appsink "

Hope this helps.

END  UPDATE
[vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv]




(<unknown>:7048): GStreamer-CRITICAL **: gst_pad_new_from_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed

(<unknown>:7048): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(<unknown>:7048): GStreamer-CRITICAL **: gst_pad_set_event_function: assertion `GST_IS_PAD (pad)' failed

(<unknown>:7048): GStreamer-CRITICAL **: gst_element_add_pad: assertion `GST_IS_PAD (pad)' failed

(<unknown>:7048): GStreamer-CRITICAL **: gst_object_ref: assertion `object != NULL' failed

(<unknown>:7048): GStreamer-CRITICAL **: gst_caps_can_intersect: assertion `GST_IS_CAPS (caps2)' failed

(<unknown>:7048): GStreamer-CRITICAL **: gst_pad_push_event: assertion `GST_IS_PAD (pad)' failed


I don't know how to trace a gst_parse_launch(0-ed stream so giving me that information may be a good starting point.

One other detail, not sure it'll be any help, I added a videorate element into my pipeline and it stopped working even before I got all those updates.  Relevant?  Cause?


Thanks,

Wes
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Stefan Sauer
On 18.06.2010 17:12, Wes Miller wrote:

> I have a mixed bag of related problems all of which showed up together.  Can
> someone help me with my first problem so I can see if the others are real?
>
> To start, I had a stable, working gstreamer and plugins on my Fedora 12 box.
> I wrote and have been using a program that gst_parse_launch()-es two
> (separate threads) simple video recorder pipeline (mjpeg camera saved to
> matroska file and tee'd off to an appsink where I save off some of the
> metadata).  These pipe run 1 minute then are stopped, torn down (unrefed,
> etc), rebuilt and re-gst_parse_launched()-ed.  The only difference is a new
> output filename for each iteration. The location property of the filesink is
> set outside the gst_parse_launch().  And, FWIW, this is run in Qt and
> doesn't seem to need a g_main_loop to execute.  I reuse the same instance of
> gstreamer.
>
> Last week I ran yum update and noticed that i got new gstreamer updates.  I
> also yum installed gst-ffmpeg and yum updated gst-rtsp.  I was going to
> start work on a new project where I needed rtsp streams.  I reran my
> existing project and that's where all my troubles started.
>
> It runs through the first iteration with no problems.  On the second pass I
> get a bunch of GST_CRITICAL messages like these:
>
> (<unknown>:7048): GStreamer-CRITICAL **: gst_pad_new_from_template:
> assertion `GST_IS_PAD_TEMPLATE (templ)' failed
>  

G_DEBUG="fatal_warnings" gdb --args ./your-app --your-args

and get a "backtrace" in gdb. It's also a good idea from time to time to
sanity check your installation (e.g. cehck if there are leftover plugins
etc. /usr/lib/gstreamer0.10/ having files that don't belong to a package)

Stefan

> (<unknown>:7048): GLib-GObject-CRITICAL **: g_object_unref: assertion
> `G_IS_OBJECT (object)' failed
>
> (<unknown>:7048): GStreamer-CRITICAL **: gst_pad_set_event_function:
> assertion `GST_IS_PAD (pad)' failed
>
> (<unknown>:7048): GStreamer-CRITICAL **: gst_element_add_pad: assertion
> `GST_IS_PAD (pad)' failed
>
> (<unknown>:7048): GStreamer-CRITICAL **: gst_object_ref: assertion `object
> != NULL' failed
>
> (<unknown>:7048): GStreamer-CRITICAL **: gst_caps_can_intersect: assertion
> `GST_IS_CAPS (caps2)' failed
>
> (<unknown>:7048): GStreamer-CRITICAL **: gst_pad_push_event: assertion
> `GST_IS_PAD (pad)' failed
>
>
> I don't know how to trace a gst_parse_launch(0-ed stream so giving me that
> information may be a good starting point.
>
> One other detail, not sure it'll be any help, I added a videorate element
> into my pipeline and it stopped working even before I got all those updates.
> Relevant?  Cause?
>
>
> Thanks,
>
> Wes
>
>  


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Wes Miller
Administrator
Stefan,

Here is the backtrace info:

Many thanks,

Wes


GStreamer-CRITICAL **: gst_pad_new_from_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed
aborting...
"INF: IVR Recorder 0 1001 - Deregistered from heart beat monitor."

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb71ffb70 (LWP 31652)]
0x00cbd424 in __kernel_vsyscall ()
Missing separate debuginfos, use: debuginfo-install GConf2-2.28.0-4.fc12.2.i686 ORBit2-2.14.17-3.fc12.i686 dbus-libs-1.2.16-9.fc12.i686 glib2-2.22.5-1.fc12.i686 glibc-2.11.2-1.i686 gnome-keyring-2.28.2-2.fc12.i686 gnutls-2.8.5-1.fc12.i686 gstreamer-0.10.29-1.fc12.i686 gstreamer-plugins-base-0.10.29-1.fc12.i686 gstreamer-plugins-good-0.10.23-1.fc12.i686 keyutils-libs-1.2-6.fc12.i686 krb5-libs-1.7.1-9.fc12.i686 libcap-ng-0.6.2-3.fc12.i686 libcom_err-1.41.9-7.fc12.i686 libgcc-4.4.3-4.fc12.i686 libgcrypt-1.4.4-8.fc12.i686 libgpg-error-1.6-4.i686 libproxy-0.2.3-12.fc12.i686 libselinux-2.0.90-5.fc12.i686 libsoup-2.28.2-1.fc12.i686 libstdc++-4.4.3-4.fc12.i686 libtasn1-2.3-1.fc12.i686 libxml2-2.7.6-2.fc12.i686 openssl-1.0.0a-1.fc12.i686 qt-4.6.2-20.fc12.i686 sqlite-3.6.20-1.fc12.i686 zlib-1.2.3-23.fc12.i686
(gdb) bt
#0  0x00cbd424 in __kernel_vsyscall ()
#1  0x0057ca81 in raise () from /lib/libc.so.6
#2  0x0057e34a in abort () from /lib/libc.so.6
#3  0x0077a316 in g_logv () from /lib/libglib-2.0.so.0
#4  0x0077a347 in g_log () from /lib/libglib-2.0.so.0
#5  0x0077a5ad in g_return_if_fail_warning () from /lib/libglib-2.0.so.0
#6  0x06c30fe4 in gst_pad_new_from_template ()
   from /usr/lib/libgstreamer-0.10.so.0
#7  0x00bda652 in ?? () from /usr/lib/gstreamer-0.10/libgstmatroska.so
#8  0x0084e4c5 in g_type_create_instance () from /lib/libgobject-2.0.so.0
#9  0x00832e69 in ?? () from /lib/libgobject-2.0.so.0
#10 0x00834292 in g_object_newv () from /lib/libgobject-2.0.so.0
#11 0x06c153c8 in gst_element_factory_create ()
   from /usr/lib/libgstreamer-0.10.so.0
#12 0x06c15d5b in gst_element_factory_make ()
   from /usr/lib/libgstreamer-0.10.so.0
#13 0x06c77065 in _gst_parse_yyparse () from /usr/lib/libgstreamer-0.10.so.0
#14 0x06c794f6 in _gst_parse_launch () from /usr/lib/libgstreamer-0.10.so.0
#15 0x06c6df52 in gst_parse_launch_full () from /usr/lib/libgstreamer-0.10.so.0
#16 0x0804f6d8 in IVRRecorder::BuildPipeline (this=0x819fb20)
    at ivrrecorder.cpp:168
#17 0x08050f8d in IVRRecorder::run (this=0x819fb20) at ivrrecorder.cpp:570
#18 0x00174cdf in ?? () from /usr/lib/libQtCore.so.4
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Stefan Sauer
Am 21.06.2010 19:00, schrieb Wes Miller:

>
> Stefan,
>
> Here is the backtrace info:
>
> Many thanks,
>
> Wes
>
>
> GStreamer-CRITICAL **: gst_pad_new_from_template: assertion
> `GST_IS_PAD_TEMPLATE (templ)' failed
> aborting...
> "INF: IVR Recorder 0 1001 - Deregistered from heart beat monitor."
>
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 0xb71ffb70 (LWP 31652)]
> 0x00cbd424 in __kernel_vsyscall ()
> Missing separate debuginfos, use: debuginfo-install
> GConf2-2.28.0-4.fc12.2.i686 ORBit2-2.14.17-3.fc12.i686
> dbus-libs-1.2.16-9.fc12.i686 glib2-2.22.5-1.fc12.i686 glibc-2.11.2-1.i686
> gnome-keyring-2.28.2-2.fc12.i686 gnutls-2.8.5-1.fc12.i686
> gstreamer-0.10.29-1.fc12.i686 gstreamer-plugins-base-0.10.29-1.fc12.i686
> gstreamer-plugins-good-0.10.23-1.fc12.i686 keyutils-libs-1.2-6.fc12.i686
> krb5-libs-1.7.1-9.fc12.i686 libcap-ng-0.6.2-3.fc12.i686
> libcom_err-1.41.9-7.fc12.i686 libgcc-4.4.3-4.fc12.i686
> libgcrypt-1.4.4-8.fc12.i686 libgpg-error-1.6-4.i686
> libproxy-0.2.3-12.fc12.i686 libselinux-2.0.90-5.fc12.i686
> libsoup-2.28.2-1.fc12.i686 libstdc++-4.4.3-4.fc12.i686
> libtasn1-2.3-1.fc12.i686 libxml2-2.7.6-2.fc12.i686
> openssl-1.0.0a-1.fc12.i686 qt-4.6.2-20.fc12.i686 sqlite-3.6.20-1.fc12.i686
> zlib-1.2.3-23.fc12.i686
> (gdb) bt
> #0  0x00cbd424 in __kernel_vsyscall ()
> #1  0x0057ca81 in raise () from /lib/libc.so.6
> #2  0x0057e34a in abort () from /lib/libc.so.6
> #3  0x0077a316 in g_logv () from /lib/libglib-2.0.so.0
> #4  0x0077a347 in g_log () from /lib/libglib-2.0.so.0
> #5  0x0077a5ad in g_return_if_fail_warning () from /lib/libglib-2.0.so.0
> #6  0x06c30fe4 in gst_pad_new_from_template ()
>    from /usr/lib/libgstreamer-0.10.so.0
> #7  0x00bda652 in ?? () from /usr/lib/gstreamer-0.10/libgstmatroska.so
> #8  0x0084e4c5 in g_type_create_instance () from /lib/libgobject-2.0.so.0
> #9  0x00832e69 in ?? () from /lib/libgobject-2.0.so.0
> #10 0x00834292 in g_object_newv () from /lib/libgobject-2.0.so.0
> #11 0x06c153c8 in gst_element_factory_create ()
>    from /usr/lib/libgstreamer-0.10.so.0
> #12 0x06c15d5b in gst_element_factory_make ()
>    from /usr/lib/libgstreamer-0.10.so.0
> #13 0x06c77065 in _gst_parse_yyparse () from /usr/lib/libgstreamer-0.10.so.0
> #14 0x06c794f6 in _gst_parse_launch () from /usr/lib/libgstreamer-0.10.so.0
> #15 0x06c6df52 in gst_parse_launch_full () from
> /usr/lib/libgstreamer-0.10.so.0
> #16 0x0804f6d8 in IVRRecorder::BuildPipeline (this=0x819fb20)
>     at ivrrecorder.cpp:168
> #17 0x08050f8d in IVRRecorder::run (this=0x819fb20) at ivrrecorder.cpp:570
> #18 0x00174cdf in ?? () from /usr/lib/libQtCore.so.4
>

You miss debug symbols, there is a hint about that above the backtrace.
Regarding the issue I'd suggest to complain to whoever packaged that version
that the matroska plugin is borked.

Stefan


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Wes Miller
Administrator
Backtrace with all the debug symbols.  Thanks for the tips.  I watchedc a LOT of paint dry yesterday as all those debug packages downloaded and my other machine applied 1136 updates.  

Oh, I also compil;ed and installed gst-plugins-good from source.  I did .configure with --prefix=/usr. Is that right?  mIt seems to want to use --prefix=/usr/local by default.

Wes

GStreamer-CRITICAL **: gst_pad_new_from_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed
aborting...

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb65ffb70 (LWP 3269)]
0x00af6424 in __kernel_vsyscall ()
(gdb)
(gdb)
(gdb)
(gdb) bt
#0  0x00af6424 in __kernel_vsyscall ()
#1  0x0057ca81 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0x0057e34a in abort () at abort.c:92
#3  0x0077a316 in IA__g_logv (log_domain=0x6c7ae50 "GStreamer",
    log_level=<value optimized out>, format=
    0x7cdd85 "%s: assertion `%s' failed", args1=
    0xb65fe6fc "Il\310\006/\371\307\006@FT") at gmessages.c:549
#4  0x0077a347 in IA__g_log (log_domain=0x6c7ae50 "GStreamer", log_level=
    G_LOG_LEVEL_CRITICAL, format=0x7cdd85 "%s: assertion `%s' failed")
    at gmessages.c:569
#5  0x0077a5ad in IA__g_return_if_fail_warning (log_domain=
    0x6c7ae50 "GStreamer", pretty_function=
    0x6c86c49 "gst_pad_new_from_template", expression=
    0x6c7f92f "GST_IS_PAD_TEMPLATE (templ)") at gmessages.c:584
#6  0x06c30fe4 in gst_pad_new_from_template (templ=0x0, name=0xa534f4 "src")
    at gstpad.c:531
#7  0x00a4e611 in gst_matroska_mux_init (mux=0xb661a750 [GstMatroskaMux],
    g_class=0xb6614100) at matroska-mux.c:330
#8  0x0084e4c5 in IA__g_type_create_instance (type=3059817896) at gtype.c:1674
#9  0x00832e69 in g_object_constructor (type=3059817896,
    n_construct_properties=1, construct_params=0xb5a1bb98) at gobject.c:1383
#10 0x00834292 in IA__g_object_newv (object_type=3059817896, n_parameters=0,
    parameters=0x0) at gobject.c:1252
---Type <return> to continue, or q <return> to quit---
#11 0x06c153c8 in gst_element_factory_create (factory=<value optimized out>,
    name=0x0) at gstelementfactory.c:375
#12 0x06c15d5b in gst_element_factory_make (factoryname=
    0xb5a1bb48 "matroskamux", name=0x0) at gstelementfactory.c:442
#13 0x06c77065 in _gst_parse_yyparse (scanner=0xb5a21898, graph=0xb65ff138)
    at ./grammar.y:658
#14 0x06c794f6 in _gst_parse_launch (str=
    0x8069350 "souphttpsrc name=my_src ! multipartdemux name=my_demux ! image/jpeg,width=640,height=480 ! tee name=t t. ! queue2 name=my_queue1 ! matroskamux name=my_mux ! filesink name=my_sink t. ! queue2 name=my_q"..., error=0xb65ff1d4,
    ctx=0x0, flags=GST_PARSE_FLAG_FATAL_ERRORS) at ./grammar.y:927
#15 0x06c6df52 in gst_parse_launch_full (pipeline_description=
    0x8069350 "souphttpsrc name=my_src ! multipartdemux name=my_demux ! image/jpeg,width=640,height=480 ! tee name=t t. ! queue2 name=my_queue1 ! matroskamux name=my_mux ! filesink name=my_sink t. ! queue2 name=my_q"..., context=0x0,
    flags=GST_PARSE_FLAG_FATAL_ERRORS, error=0xb65ff1d4) at gstparse.c:293
#16 0x0804f6d8 in IVRRecorder::BuildPipeline (this=0x81a0668)
    at ivrrecorder.cpp:171
#17 0x08050f8d in IVRRecorder::run (this=0x81a0668) at ivrrecorder.cpp:573
#18 0x00174cdf in QThreadPrivate::start (arg=0x81a0668)
    at thread/qthread_unix.cpp:248
#19 0x006fbab5 in start_thread (arg=0xb65ffb70) at pthread_create.c:297
#20 0x0062cf1e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
(gdb)
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Stefan Sauer
On 22.06.2010 14:33, Wes Miller wrote:
> #6  0x06c30fe4 in gst_pad_new_from_template (templ=0x0, name=0xa534f4 "src")
>     at gstpad.c:531
> #7  0x00a4e611 in gst_matroska_mux_init (mux=0xb661a750 [GstMatroskaMux],
>     g_class=0xb6614100) at matroska-mux.c:330
>  
this code has already changed in git. As I said, the package seems to be
broken...

Stefan

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Wes Miller
Administrator
Sorry, I thought you meant the fedora yum package was broken.

So, I'm trying to git the source uaing:  git clone git://anongit.freedesktop.org/gstreamer/gstreamer

I get a server timeout with no socket connected.  Is the repository down or has it moved?  Is there an alternate?

Wes
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Thiago Sousa Santos-2


On Tue, Jun 22, 2010 at 11:49 AM, Wes Miller <[hidden email]> wrote:

Sorry, I thought you meant the fedora yum package was broken.

So, I'm trying to git the source uaing:  git clone
git://anongit.freedesktop.org/gstreamer/gstreamer

I get a server timeout with no socket connected.  Is the repository down or
has it moved?  Is there an alternate?

It works for me.
 

Wes
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Troubles-with-GStreamer-UPDATED-tp2260262p2264238.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



--
Thiago Sousa Santos

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Wes Miller
Administrator
Sigh, whoda thunk the LAN admin would have that port closed?  Git's working now.  

Thanks,

Wes
Reply | Threaded
Open this post in threaded view
|

Re: Troubles with GStreamer

Stefan Sauer
In reply to this post by Wes Miller
Am 22.06.2010 17:49, schrieb Wes Miller:
>
> Sorry, I thought you meant the fedora yum package was broken.

Yes, I think its that particular yum package that contains a faulty version of
the plugin.

Stefan

>
> So, I'm trying to git the source uaing:  git clone
> git://anongit.freedesktop.org/gstreamer/gstreamer
>
> I get a server timeout with no socket connected.  Is the repository down or
> has it moved?  Is there an alternate?
>
> Wes


------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit.  See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel