Hi all,<div><br></div><div>I&#39;m new to gstreamer, and it looks like a wonderful alternative to &quot;raw&quot; calls to Xlib, OpenGL, SDL, etc.  But, I&#39;m having a heckuva time getting it to work.</div><div><br></div>
<div>My goal:  eventually, I&#39;d like to composite video and stills, all inside a PNG image &quot;stencil&quot; with an alpha channel that have a transparent window in the middle.  For now, my baby-steps goal is just to display the PNG image.</div>
<div><br></div><div>My environment:  Ubuntu Studio, 10.04, writing C++ code.  Initially, I figured I&#39;d concoct a gst-launch command, and if I can get that to do everything I need, then I&#39;ll &quot;convert&quot; it to C++ code for the final product.  I want to stay LGPL if at all possible.</div>
<div><br></div><div>Rambling paragraph you can skip:  I know a big part of my problem is my ignorance of the finer details of decoding, demuxing, etc., etc.  :) but for now, as I say, I just want to get gst-launch to display at PNG file.  From looking all over the web, my best bet is to use something called imagefreeze.  I found that I needed to build gstreamer from source to get that, &#39;cause 0.10.21 that Ubuntu has packaged doesn&#39;t have it.  Got over that hurdle.</div>
<div><br></div><div>My problem:  from what I can tell, I need to type something like this:</div><div><br></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div>gst-launch -v filesrc location=overlay.png ! pngdec ! imagefreeze ! autovideosink</div>
</blockquote><div><br></div><div>But when I do, I get this:</div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><br></div><div>Setting pipeline to PAUSED ...</div>
<div>Pipeline is PREROLLING ...</div><div>/GstPipeline:pipeline0/GstPngDec:pngdec0.GstPad:src: caps = video/x-raw-rgb, width=(int)1024, height=(int)768, bpp=(int)32, framerate=(fraction)0/1, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255</div>
<div><b>ERROR: from element /GstPipeline:pipeline0/GstPngDec:pngdec0: Internal data stream error.</b></div><div>Additional debug info:</div><div>gstpngdec.c(550): gst_pngdec_task (): /GstPipeline:pipeline0/GstPngDec:pngdec0:</div>
<div>stream stopped, reason not-negotiated</div><div>ERROR: pipeline doesn&#39;t want to preroll.</div><div>Setting pipeline to NULL ...</div><div>/GstPipeline:pipeline0/GstPngDec:pngdec0.GstPad:src: caps = NULL</div><div>
Freeing pipeline ...</div></div></blockquote><div><br></div><div>My question(s):  What am I doing wrong?  And, any hints on how to get the movie to play inside the PNG stencil?  How about a still image?  If I am not pushing my luck with too many questions, how could I make the still image fade in from black and fade out to black, after displaying for a couple seconds?  Should I just go back to Xlib, OpenGL, etc??  :)<br>
<br>I&#39;ve tried swapping out autovideosink with all the other options that, in my ignorance, are equivalent.  I&#39;ve tried throwing in elements that seem like they might be needed, like alphacolor and ffmpegcolorspace, but nothing works.</div>
<div><br></div><div>Thanks all, in advance, for any ideas,</div><div><br></div><div>Bill.</div>