<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Hello,<br>
I am trying to build an element that is a video transformer. It will
transform in a way that depends on downstream<br>
elements (external dependencies). The sink pad has voxelVideo as caps
and the two src pads have video/x-raw-rgb and video/x-raw-short
respectively. The video/x-raw-short is just a 16bit/pixel 1 channel
video used for a disparity map.<br>
<br>
<br>
When I try to get negotiated caps in the chain function, this fails.<br>
<br>
Code:<br>
-----<br>
<small><font face="Courier New, Courier, monospace">static
GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GST_PAD_SINK,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GST_PAD_ALWAYS,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; GST_STATIC_CAPS ("videoVoxel/x-raw-gray, "<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; "width = (int) [ 16, 4096 ], "<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "height = (int) [ 16, 4096 ], "<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "voxelDepth = (int) [ 1, 4096 ], "<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "framerate = (fraction) [ 0/1,
2147483647/1 ]"));<br>
<br>
<br>
static GstStaticPadTemplate src_factory_rgb =
GST_STATIC_PAD_TEMPLATE("src_rgb",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GST_PAD_SRC,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GST_PAD_REQUEST,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; GST_STATIC_CAPS ("video/x-raw-rgb, "<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; "width = (int) [ 16, 4096 ], "<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "bpp = (int) 24, "<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "height = (int) [ 16, 4096 ], "<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "framerate = (fraction) [ 0/1,
2147483647/1 ]"));<br>
<br>
static GstStaticPadTemplate src_factory_short =
GST_STATIC_PAD_TEMPLATE("src_short",<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GST_PAD_SRC,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GST_PAD_REQUEST,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; GST_STATIC_CAPS ("video/x-raw-short, "<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; "width = (int) [ 16, 4096 ], "<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; "bpp = (int) 16, "<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "height = (int) [ 16, 4096 ], "<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "framerate = (fraction) [ 0/1,
2147483647/1 ]"));<br>
-----<br>
<br>
/* initialize the plugin's class */<br>
static void<br>
gst_tidvoxelrend_class_init (GsttidvoxelrendClass * klass) {<br>
...<br>
&nbsp;&nbsp; gstelement_class-&gt;request_new_pad = gst_vrender_request_new_pad;<br>
....<br>
}<br>
---------<br>
static void gst_tidvoxelrend_base_init (gpointer gclass)<br>
{<br>
...<br>
<br>
&nbsp;&nbsp; gst_element_class_add_pad_template(element_class,
gst_static_pad_template_get (&amp;sink_factory));<br>
&nbsp;&nbsp;&nbsp; gst_element_class_add_pad_template(element_class,
gst_static_pad_template_get (&amp;src_factory_rgb));<br>
&nbsp;&nbsp;&nbsp; gst_element_class_add_pad_template(element_class,
gst_static_pad_template_get (&amp;src_factory_short));<br>
&nbsp;&nbsp;&nbsp; gst_element_class_set_details(element_class, &amp;element_details);<br>
...<br>
<br>
}<br>
------------<br>
static GstPad *<br>
gst_vrender_request_new_pad (GstElement * element,<br>
&nbsp;&nbsp;&nbsp; GstPadTemplate * templ, const gchar * req_name)<br>
{<br>
&nbsp;&nbsp;&nbsp; Gsttidvoxelrend *vrender = GST_TIDVOXELREND (element);<br>
&nbsp;&nbsp;&nbsp; GstElementClass *klass = GST_ELEMENT_GET_CLASS (element);<br>
&nbsp;&nbsp;&nbsp; GstPad *pad;<br>
<br>
&nbsp;&nbsp;&nbsp; GST_DEBUG("RENDER :::::::::: new pad");<br>
<br>
&nbsp;&nbsp;&nbsp; g_return_val_if_fail (templ != NULL, NULL);<br>
<br>
&nbsp;&nbsp;&nbsp; if (templ-&gt;direction != GST_PAD_SRC) {<br>
&nbsp;&nbsp;&nbsp; GST_WARNING_OBJECT (vrender, "request pad is not a SRC pad");<br>
&nbsp;&nbsp;&nbsp; return NULL;<br>
&nbsp;&nbsp;&nbsp; }<br>
<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; if (templ == gst_element_class_get_pad_template (klass, "src_rgb"))
{<br>
&nbsp;&nbsp;&nbsp; if (vrender-&gt;srcpad_rgb)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return NULL;<br>
<br>
&nbsp;&nbsp;&nbsp; vrender-&gt;srcpad_rgb = gst_pad_new_from_template (templ,
"src_rgb");<br>
<br>
&nbsp;&nbsp;&nbsp; gst_pad_set_setcaps_function (vrender-&gt;srcpad_rgb,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_DEBUG_FUNCPTR
(gst_tidvoxelrend_set_caps_rgb));<br>
<br>
&nbsp;&nbsp;&nbsp; pad = vrender-&gt;srcpad_rgb;<br>
<br>
&nbsp;&nbsp;&nbsp; } else if (templ == gst_element_class_get_pad_template (klass,
"src_short")) {<br>
&nbsp;&nbsp;&nbsp; if (vrender-&gt;srcpad_short)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return NULL;<br>
<br>
&nbsp;&nbsp;&nbsp; vrender-&gt;srcpad_short = gst_pad_new_from_template (templ,
"src_short");<br>
<br>
&nbsp;&nbsp;&nbsp; gst_pad_set_setcaps_function (vrender-&gt;srcpad_short,<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_DEBUG_FUNCPTR
(gst_tidvoxelrend_set_caps_short));<br>
<br>
&nbsp;&nbsp;&nbsp; pad = vrender-&gt;srcpad_short;<br>
<br>
&nbsp;&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp; g_return_val_if_reached (NULL);<br>
&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp; gst_element_add_pad (element, pad);<br>
&nbsp;&nbsp;&nbsp; return pad;<br>
}<br>
-----<br>
static void gst_tidvoxelrend_init(Gsttidvoxelrend * filter,
GsttidvoxelrendClass * gclass)<br>
{<br>
&nbsp; GstElementClass *klass = GST_ELEMENT_GET_CLASS (filter);<br>
<br>
&nbsp; GST_DEBUG("In gst_tidvoxelrend_init");<br>
<br>
&nbsp; goodtimestamp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = GOODTIMESTAMP;<br>
&nbsp; goodduration&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = GOODDURATION;<br>
&nbsp; gst_tidvoxelrend_pad_id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = GST_TIDVOXELREND_PAD_ID;<br>
<br>
<br>
&nbsp; /* Src pad config */<br>
&nbsp; filter-&gt;sinkpad = gst_pad_new_from_template
(gst_element_class_get_pad_template (klass, "sink"), "sink");<br>
<br>
&nbsp; gst_element_add_pad (GST_ELEMENT (filter), filter-&gt;sinkpad);<br>
&nbsp; gst_pad_set_chain_function (filter-&gt;sinkpad,
gst_tidvoxelrend_chain);<br>
....<br>
}<br>
---------------<br>
static GstFlowReturn gst_tidvoxelrend_chain (GstPad * pad, GstBuffer *
buf)<br>
{<br>
&nbsp; GstCaps *debugcaps = NULL;<br>
&nbsp; GstStructure *structure;<br>
&nbsp; GList *pads;<br>
&nbsp; GstBuffer *outbuf = NULL;<br>
&nbsp; size_t outsize = 0;<br>
&nbsp; int rgb = 0;<br>
&nbsp; Gsttidvoxelrend *vrender = (Gsttidvoxelrend *) gst_pad_get_parent
(pad);<br>
<br>
<br>
<br>
&nbsp; pads = GST_ELEMENT_CAST (vrender)-&gt;srcpads;<br>
<br>
<br>
&nbsp; while (pads) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GstPad *pad;<br>
<br>
&nbsp;&nbsp;&nbsp; pad = GST_PAD_CAST (pads-&gt;data);<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_DEBUG("RENDER :::::::::: pad name = %s", GST_PAD_NAME(pad));<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* We get the already negotiated caps to reapply them on the src
pad */<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; debugcaps = gst_pad_get_negotiated_caps(pad);<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_DEBUG("RENDER :::::::::: after get_negotiated_caps");<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* Get output buffer size */<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; structure = gst_caps_get_structure (debugcaps, 0);<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_DEBUG("RENDER :::::::::: after caps_get_structure");<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (strstr (GST_PAD_NAME(pad), "src_rgb")) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outsize = vrender-&gt;out_width * vrender-&gt;out_height * 3;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rgb = 1;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outsize = vrender-&gt;out_width * vrender-&gt;out_height * 2;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rgb = 0;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( gst_pad_alloc_buffer_and_set_caps (pad,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_BUFFER_OFFSET_NONE,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; outsize,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; debugcaps,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;outbuf) !=
GST_FLOW_OK )<br>
<br>
................<br>
<br>
}<br>
----------------<br>
<br>
</font><br>
<font face="Courier New, Courier, monospace"><br>
</font></small>When I try to run this element with one fakesink
afterwards:<br>
<br>
<small><font face="Courier New, Courier, monospace">gstlaunch
someplugins !&nbsp; tidvoxelrend&nbsp; name=rend rend. ! fakesink dump=true<br>
<br>
</font></small>I get:<br>
<br>
<br>
<small><font face="Courier New, Courier, monospace">0:00:01.427001861
25832 0x7fd6b0002f00 DEBUG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tidvoxelrend
voxelRenderer/gsttidvoxelrend.c:606:gst_tidvoxelrend_chain: RENDER
:::::::::: pad name = src_rgb<br>
0:00:01.427033240 25832 0x7fd6b0002f00 DEBUG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tidvoxelrend
voxelRenderer/gsttidvoxelrend.c:611:gst_tidvoxelrend_chain: RENDER
:::::::::: after get_negotiated_caps<br>
<br>
(gst-launch-0.10:25832): GStreamer-CRITICAL **: gst_caps_get_structure:
assertion `GST_IS_CAPS (caps)' failed<br>
0:00:01.427112209 25832 0x7fd6b0002f00 DEBUG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tidvoxelrend
voxelRenderer/gsttidvoxelrend.c:617:gst_tidvoxelrend_chain: RENDER
:::::::::: after caps_get_structure<br>
<br>
<br>
<br>
</font></small>What could be wrong here, please?<br>
<br>
<br>
Thanks in advance,<br>
<br>
<br>
Mattias<br>
<small><font face="Courier New, Courier, monospace"><br>
<br>
<br>
</font></small>
<pre class="moz-signature" cols="72">-- 
 Mattias Frank Barthel      
 V&iacute;a Augusta 177 08021 Barcelona (Spain)
 Video &amp; Multimedia technologies
 TELEF&Oacute;NICA R&amp;D
 T. 0034-93-365-3309
</pre>
</body>
</html>