I&#39;ve managed to get passed the whole single-frame issue, but am getting pipeline errors when actually running it using something closer to my final pipeline.<br><br>I&#39;ve reduced my problem to the following command. This is taking in raw YUY2 data(eventually to be replaced by some sort of mjpeg stream, but I have access to YUY2 currently), shoving it in a tee and writing out frames to a file.<br>
<br>gst-launch -vvv gstrtpbin name=rtpbin \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tcpserversrc host=127.0.0.1 port=1235 ! videoparse format=YUY2 width=404 height=424 framerate=20/1 bpp=16 ! \<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tee name=splitter splitter.&nbsp; ! queue ! typefind ! pngenc snapshot=false ! multifilesink sync=false preroll-queue-len=20 location=/tmp/output.png -vvv splitter.<br>
<br>This starts up fine, with:<br><br>Setting pipeline to PAUSED ...<br>
Pipeline is PREROLLING ...<br><br>&nbsp;but when I start sending data to it, I error out with:<br><br>/pipeline0/videoparse0.src: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>
/pipeline0/splitter.sink: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>/pipeline0/splitter.src0: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>
/pipeline0/splitter.sink: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>/pipeline0/queue0.sink: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>
/pipeline0/queue0.src: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>/pipeline0/typefindelement0.src: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>
/pipeline0/typefindelement0.sink: caps = video/x-raw-yuv, width=(int)404, height=(int)424, format=(fourcc)YUY2, framerate=(fraction)20/1, pixel_aspect_ratio=(fraction)1/1<br>ERROR: from element /pipeline0/tcpserversrc0: Internal data flow error.<br>
Additional debug info:<br>gstbasesrc.c(2193): gst_base_src_loop (): /pipeline0/tcpserversrc0:<br>streaming task paused, reason not-negotiated (-4)<br>ERROR: pipeline doesn&#39;t want to preroll.<br>Setting pipeline to NULL ...<br>
/pipeline0/typefindelement0.src: caps = NULL<br>/pipeline0/typefindelement0.sink: caps = NULL<br>/pipeline0/queue0.src: caps = NULL<br>/pipeline0/queue0.sink: caps = NULL<br>/pipeline0/splitter.src0: caps = NULL<br>/pipeline0/splitter.sink: caps = NULL<br>
/pipeline0/videoparse0.src: caps = NULL<br>FREEING pipeline ...<br><br>Once this works, there will be another queue off of the &#39;splitter&#39; tee that goes through some processing before heading out to a gsrtpbin/udpsink (hence the part about a gstpbin at the start of the pipeline. removing that part yeilds the same results).<br>
<br>Thanks<br>-Brian<br><br><div class="gmail_quote">On Mon, Jan 12, 2009 at 10:33 AM, Arnout Vandecappelle <span dir="ltr">&lt;<a href="mailto:arnout@mind.be">arnout@mind.be</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Thursday 08 January 2009 22:48:04 OB Lutz wrote:<br>
&gt; I&#39;m trying to write a pipeline that will take video in from a network<br>
&gt; source, do some transcoding, and send it out to a network sink. No problem<br>
&gt; there. But I need to be able to get preview snapshots of the stream as its<br>
&gt; running, either on demand, or just have it continuously dump out frames to<br>
&gt; a known file periodically. I&#39;m doing some experiments using a v4lsrc and<br>
&gt; xvimagesink as my fake network source and sink for now. I&#39;ve found the<br>
&gt; &#39;tee&#39; block that looks promising to split my stream into 2, so one can go<br>
&gt; on its way to the network sink, and the other could maybe write to a file,<br>
&gt; but all my experiments have only shown me a single frame in my xvimagesink.<br>
&gt; Am I going down the right path trying to use &#39;tee&#39; or is there some other<br>
&gt; set of blocks I should use?<br>
<br>
</div></div>&nbsp;You probably need to insert a queue behind the tee. &nbsp;Otherwise you can get<br>
deadlocks because all sinks try to synchronize from the same thread.<br>
<br>
&nbsp;Failing that, can you post the gst-launch command you&#39;re using?<br>
<br>
&nbsp;Regards,<br>
&nbsp;Arnout<br>
<br>
--<br>
Arnout Vandecappelle &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; arnout at mind be<br>
Senior Embedded Software Architect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +32-16-286540<br>
Essensium/Mind &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.mind.be" target="_blank">http://www.mind.be</a><br>
G.Geenslaan 9, 3001 Leuven, Belgium &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BE 872 984 063 RPR Leuven<br>
LinkedIn profile: <a href="http://www.linkedin.com/in/arnoutvandecappelle" target="_blank">http://www.linkedin.com/in/arnoutvandecappelle</a><br>
GPG fingerprint: &nbsp;D206 D44B 5155 DF98 550D &nbsp;3F2A 2213 88AA A1C7 C933<br>
<br>
------------------------------------------------------------------------------<br>
Check out the new SourceForge.net Marketplace.<br>
It is the best place to buy or sell services for<br>
just about anything Open Source.<br>
<a href="http://p.sf.net/sfu/Xq1LFB" target="_blank">http://p.sf.net/sfu/Xq1LFB</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
</blockquote></div><br>