<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all,<br><br>I am an absolute beginner to gstreamer; I want to write a transform filter. For this I took as an example the edgetv filter and modified it. The code is exactly the same, except canging the name of the plugin and functions/structures to reflect the new name, but the rest of the code is unchanged. It's based on GstVideoFilter. When I test the plugin I get the following error:<br><br>$gst-launch -v videotestsrc ! gimpcartoon ! ffmpegcolorspace ! autovideosink<br><br>** (gst-launch-0.10:15527): WARNING **: !!!!!!!!!!!gst_gimp_cartoon_base_init<br><br><br>** (gst-launch-0.10:15527): WARNING **: !!!!!!!!!!!gst_gimp_cartoon_class_init<br><br>Setting pipeline to PAUSED ...<br><br>** (gst-launch-0.10:15527): WARNING **: !!!!!!!!!!!gst_gimp_cartoon_start<br><br>/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw-rgb,
 bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1<br>Pipeline is PREROLLING ...<br><br>** (gst-launch-0.10:15527): WARNING **: !!!!!!!!!!!gst_gimp_cartoon_set_caps<br><br>/GstPipeline:pipeline0/GstGimpCartoon:gimpcartoon0.GstPad:src: caps = video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1<br>/GstPipeline:pipeline0/GstGimpCartoon:gimpcartoon0.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1<br><br>** (gst-launch-0.10:15527): WARNING **: gimpcartoon0: could not get in_size<br>ERROR: from element
 /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data flow error.<br>Additional debug info:<br>gstbasesrc.c(2330): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:<br>streaming task paused, reason error (-5)<br>ERROR: pipeline doesn't want to preroll.<br>Setting pipeline to NULL ...<br>/GstPipeline:pipeline0/GstGimpCartoon:gimpcartoon0.GstPad:src: caps = NULL<br>/GstPipeline:pipeline0/GstGimpCartoon:gimpcartoon0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = NULL<br>FREEING pipeline ...<br><br>** (gst-launch-0.10:15527): WARNING **: !!!!!!!!!!!gst_gimp_cartoon_finalize<br><br>After setting GST_DEBUG I got more info:<br><br>** (gst-launch-0.10:15523): WARNING **: !!!!!!!!!!!gst_gimp_cartoon_set_caps<br><br>/GstPipeline:pipeline0/GstGimpCartoon:gimpcartoon0.GstPad:src: caps = video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)65280,
 green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1<br>/GstPipeline:pipeline0/GstGimpCartoon:gimpcartoon0.GstPad:sink: caps = video/x-raw-rgb, bpp=(int)32, endianness=(int)4321, depth=(int)24, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)320, height=(int)240, framerate=(fraction)30/1<br><br>** (gst-launch-0.10:15523): WARNING **: gimpcartoon0: could not get in_size<br>0:00:00.273914500 15523&nbsp; 0x9953f20 ERROR &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; basetransform gstbasetransform.c:1383:gst_base_transform_prepare_output_buffer:&lt;gimpcartoon0&gt; unknown output size<br>0:00:00.274001592 15523&nbsp; 0x9953f20 WARN  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; basetransform gstbasetransform.c:1925:gst_base_transform_handle_buffer:&lt;gimpcartoon0&gt; could not get buffer from pool:
 error<br>0:00:00.274025967 15523&nbsp; 0x9953f20 INFO  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; basesrc gstbasesrc.c:2278:gst_base_src_loop:&lt;videotestsrc0&gt; pausing after gst_pad_push() = error<br>0:00:00.274063891 15523&nbsp; 0x9953f20 WARN  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; basesrc gstbasesrc.c:2330:gst_base_src_loop:&lt;videotestsrc0&gt; error: Internal data flow error.<br>0:00:00.274084354 15523&nbsp; 0x9953f20 WARN  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; basesrc gstbasesrc.c:2330:gst_base_src_loop:&lt;videotestsrc0&gt; error: streaming task paused, reason error (-5)<br>0:00:00.274114735 15523&nbsp; 0x9953f20 INFO  &nbsp;&nbsp;&nbsp; GST_ERROR_SYSTEM
 gstelement.c:1675:gst_element_message_full:&lt;videotestsrc0&gt; posting message: Internal data flow error.<br>0:00:00.274165859 15523&nbsp; 0x9953f20 INFO  &nbsp;&nbsp;&nbsp; GST_ERROR_SYSTEM gstelement.c:1698:gst_element_message_full:&lt;videotestsrc0&gt; posted error message: Internal data flow error.<br>ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data flow error.<br>0:00:00.274342697 15523&nbsp; 0x9953f20 INFO  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_STATES gstbin.c:2738:bin_handle_async_done:&lt;autovideosink0&gt; committing state from READY to PAUSED, old pending PAUSED<br>0:00:00.274367002 15523&nbsp; 0x9953f20 INFO  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_STATES gstbin.c:2753:bin_handle_async_done:&lt;autovideosink0&gt; completed state change,
 pending VOID<br>0:00:00.274396894 15523&nbsp; 0x9953f20 INFO  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_STATES gstbin.c:2738:bin_handle_async_done:&lt;pipeline0&gt; committing state from READY to PAUSED, old pending PAUSED<br>0:00:00.274420570 15523&nbsp; 0x9953f20 INFO  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GST_STATES gstbin.c:2753:bin_handle_async_done:&lt;pipeline0&gt; completed state change, pending VOID<br>ERROR: pipeline doesn't want to preroll.<br><br>What is strange is that other than refactoring edgetv and adding some warnings my filter looks exactly like edgetv that works ok... Is there some configure.ac/Makefile.am magic I did not enchant ?<br><br>I am stuck on this, help :D<br><br>Thanks<br><br></td></tr></table><br>