<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Wohoo!<div><br></div><div>I've been waiting for the framestepping API! &nbsp;Will this require some implementation by all the decoders to be reliable? &nbsp;</div><div><br></div><div>Thanks,</div><div>-Nick</div><div><br></div><div><br><div><div>On Jun 19, 2009, at 12:47 PM, Andoni Morales wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><br><div class="gmail_quote">2009/6/19 Wim Taymans <span dir="ltr">&lt;<a href="mailto:wim.taymans@gmail.com">wim.taymans@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> On Fri, 2009-06-19 at 16:02 +0000, Albert Costa wrote:<br> <br> Your approach will probably work.<br> <br> Current GIT /and the eventual 0.10.24) has framestepping through the<br> STEP events, which should solve things in a more general way (when you<br> need to keep audio synchronized too).</blockquote><div>&nbsp;</div><div>Does that means that the framestep draft [1]&nbsp; will be finally implemented in 0.10.24? Good news, though. <br><br>Cheers<br><br>[1] <a href="http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/draft-framestep.txt">http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/draft-framestep.txt</a><br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br> <br> Wim<br> <div><div></div><div class="h5"><br> &gt; Hi,<br> &gt; I'm trying to do the following:<br> &gt; I have an application that constructs and controls a pipeline. Merely,<br> &gt; my pipe would be "filesink ! decodebin ! identity sync=true !<br> &gt; myfilter ! ffmpegcolorspace ! directdrawsink sync=false".<br> &gt; The element myfilter is currently just a pass-through element (it does<br> &gt; not process anything). My goal is, from the application, to play the<br> &gt; file only by moving a frame ahead when the user hits a key (in fact<br> &gt; later that would be a signal sent by another process). My idea was to<br> &gt; block the chain() function inside myfilter each time it is called,<br> &gt; untill a release notification is sent. What I did so far is :<br> &gt; in the chain() :<br> &gt; {<br> &gt; ...<br> &gt; &nbsp; &nbsp; g_mutex_lock(myfilter-&gt;lock);<br> &gt; &nbsp; do<br> &gt; &nbsp; {<br> &gt; &nbsp; &nbsp; g_cond_wait(myfilter-&gt;process_next, myfilter-&gt;lock);<br> &gt; &nbsp; }<br> &gt; &nbsp; g_mutex_unlock(myfilter -&gt;lock);<br> &gt; ...<br> &gt; }<br> &gt;<br> &gt;<br> &gt; In my application, I have a specific function that gets the sink pad<br> &gt; of my filter element, and send a specific event on it.<br> &gt; In myfilter's sink_event function, I have a case of event type where I<br> &gt; call g_cond_signal(myfilter-&gt;process_next) (which I thought would<br> &gt; release the lock in the chain).<br> &gt; My problem is that when I launch the pipeline, the cond_wait does lock<br> &gt; the chain function; but then in my application specific function,<br> &gt; calling gst_pad_send_event never returns, and my event is thus not<br> &gt; received by my element. Eveything hangs...<br> &gt; Is there any way to have it working somehow? (another option was to<br> &gt; set the pipe in pause mode and send seek events to go to next frame,<br> &gt; but i'm using mpeg2 ts files that do not support seek anyway, and I<br> &gt; have other constraints for which I need an element that can be<br> &gt; controled).<br> &gt; Any help would be appreciated,<br> &gt; Regards,<br> &gt; Al<br> &gt;<br> &gt;<br> &gt;<br> &gt;<br> &gt;<br> &gt;<br> </div></div>&gt; ------------------------------------------------------------------------------<br> &gt; Crystal Reports - New Free Runtime and 30 Day Trial<br> &gt; Check out the new simplified licensing option that enables unlimited<br> &gt; royalty-free distribution of the report engine for externally facing<br> &gt; server and web deployment.<br> &gt; <a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</a><br> &gt; _______________________________________________ gstreamer-devel mailing list <a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br> <br> <br> ------------------------------------------------------------------------------<br> Crystal Reports - New Free Runtime and 30 Day Trial<br> Check out the new simplified licensing option that enables unlimited<br> royalty-free distribution of the report engine for externally facing<br> server and web deployment.<br> <a href="http://p.sf.net/sfu/businessobjects" target="_blank">http://p.sf.net/sfu/businessobjects</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><br clear="all"><br>-- <br>Andoni Morales Alastruey<br><br>LongoMatch:The Digital Coach<br><a href="http://www.longomatch.ylatuya.es">http://www.longomatch.ylatuya.es</a><br> <span>&lt;ATT00001.txt&gt;</span><span>&lt;ATT00002.txt&gt;</span></blockquote></div><br></div></body></html>