gst_pad_new_from_template: assertion - gstvaapidecode

tomw tomw at ubilix.com
Wed Feb 22 09:19:52 PST 2012


Hi, 

after sorting out some library issues and moving to 0.10.36 I finally 
got vaapi and ClutterGst work.
The performance gain is amazing, reducing the CPU load for a HD-Video from 20% down to 2%.
There is one issue however, which drives me nuts. The first video works fine, 
as soon as load a new uri to the pipeline I'm getting a bunch of errors:

(python:30911): GStreamer-CRITICAL **: gst_pad_new_from_template: assertion `GST_IS_PAD_TEMPLATE (templ)' failed
(python:30911): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed
(python:30911): GStreamer-CRITICAL **: gst_pad_set_getcaps_function: assertion `GST_IS_PAD (pad)' failed
(python:30911): GStreamer-CRITICAL **: gst_pad_set_setcaps_function: assertion `GST_IS_PAD (pad)' failed
(python:30911): GStreamer-CRITICAL **: gst_pad_set_chain_function: assertion `GST_IS_PAD (pad)' failed
(python:30911): GStreamer-CRITICAL **: gst_pad_set_event_function: assertion `GST_IS_PAD (pad)' failed
(python:30911): GStreamer-CRITICAL **: gst_pad_set_query_function: assertion `GST_IS_PAD (pad)' failed
(python:30911): GStreamer-CRITICAL **: gst_element_add_pad: assertion `GST_IS_PAD (pad)' failed

Tracing it points to the gstpad (if I'm reading it correctly). 
Any pointer on how to get that fixed?

Thanks,

tomw



libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/local/lib/dri/i965_drv_video.so
libva: va_openDriver() returns 0
[New Thread 0x7fffd3fff700 (LWP 31356)]
[New Thread 0x7fffd37fe700 (LWP 31357)]
[Thread 0x7fffd37fe700 (LWP 31357) exited]
[Thread 0x7fffe8afc700 (LWP 31352) exited]
[New Thread 0x7fffe8afc700 (LWP 31358)]

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

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffda4ad700 (LWP 31355)]
0x00007ffff5542888 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb) bt
#0  0x00007ffff5542888 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ffff5542c02 in g_log () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeddc22ca in gst_pad_new_from_template (templ=0x0, name=0x7fffdfbf6f1e "sink") at gstpad.c:561
#3  0x00007fffdfbf07c7 in gst_vaapidecode_init (decode=0xa67cd0, klass=<optimized out>) at gstvaapidecode.c:728
#4  0x00007ffff603aad3 in g_type_create_instance () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff601ad0c in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x00007ffff601d5f4 in g_object_newv () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007fffeddae1e9 in gst_element_factory_create (factory=0x1ca8a20, name=0x0) at gstelementfactory.c:388
#8  0x00007fffebba5b7d in connect_pad (chain=<optimized out>, factories=0x7fffe5067300, caps=0x1f48b40, pad=0x7fffd4003070, dpad=0x1f50290, src=0x1ef8d30, dbin=<optimized out>)
    at gstdecodebin2.c:1882
#9  analyze_new_pad (dbin=<optimized out>, src=<optimized out>, pad=0x7fffd4003070, caps=0x1f48b40, chain=<optimized out>) at gstdecodebin2.c:1630
#10 0x00007fffebba7156 in pad_added_cb (element=0x1ef8d30, pad=0x7fffd4003070, chain=0x1eaf1f0) at gstdecodebin2.c:2333
#11 0x00007fffebba7528 in caps_notify_cb (pad=0x7fffd4003070, unused=<optimized out>, chain=0x1eaf1f0) at gstdecodebin2.c:2447
#12 0x00007ffff6017804 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff602978a in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff6032e11 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff6032fb2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff601a727 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007fffedd92fc3 in gst_object_dispatch_properties_changed (object=0x7fffd4003070, n_pspecs=1, pspecs=0x7fffda4ac720) at gstobject.c:530
#18 0x00007ffff601cc80 in g_object_notify_by_pspec () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007fffeddc45eb in gst_pad_set_caps (pad=0x7fffd4003070, caps=0x1f48b40) at gstpad.c:2745
#20 0x00007fffecb2037b in gst_base_transform_setcaps (pad=0x1eab610, caps=<optimized out>) at gstbasetransform.c:1274
#21 0x00007fffeddc460f in gst_pad_set_caps (pad=0x1eab610, caps=0x1f48b40) at gstpad.c:2730
#22 0x00007fffeddc6077 in gst_pad_chain_data_unchecked (cache=0x7fffda4ac9a0, data=0xa65e60, is_buffer=1, pad=0x1eab610) at gstpad.c:4247
#23 gst_pad_push_data (pad=<optimized out>, is_buffer=1, data=0xa65e60, cache=<optimized out>) at gstpad.c:4506
#24 0x00007fffeddc9a66 in gst_pad_push (pad=0x1eab490, buffer=0xa65e60) at gstpad.c:4730
#25 0x00007fffecb0481e in gst_base_parse_push_frame (parse=0x7fffd5191000, frame=0x7fffd5191dd0) at gstbaseparse.c:1988
#26 0x00007fffecb05d12 in gst_base_parse_chain (pad=<optimized out>, buffer=0xa65e60) at gstbaseparse.c:2324
#27 0x00007fffda6be8de in gst_h264_parse_chain (pad=0x1eab310, buffer=0xa65e60) at gsth264parse.c:1928
#28 0x00007fffeddc6122 in gst_pad_chain_data_unchecked (cache=0x7fffda4acc90, data=0xa65e60, is_buffer=1, pad=0x1eab310) at gstpad.c:4271
#29 gst_pad_push_data (pad=<optimized out>, is_buffer=1, data=0xa65e60, cache=<optimized out>) at gstpad.c:4506
#30 0x00007fffeddc9a66 in gst_pad_push (pad=0x1eab190, buffer=0xa65e60) at gstpad.c:4730
#31 0x00007fffebfe1fb1 in gst_single_queue_push_one (object=0xa65e60, sq=0x7fffd403b6e0, mq=0x1eae610) at gstmultiqueue.c:1087
#32 gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1318
#33 0x00007fffeddf0a24 in gst_task_func (task=0x7fffe5087640) at gsttask.c:327
#34 0x00007ffff5561d08 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff555f7e6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff7bc7b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#37 0x00007ffff6a5a90d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#38 0x0000000000000000 in ?? ()

-- 
tomw <tomw at ubilix.com>



More information about the gstreamer-devel mailing list