[gst-devel] Re : How to perform frame-by-frame video playing

Albert Costa costa_albert at yahoo.fr
Mon Jun 22 10:50:07 CEST 2009


It will be great to have this function when it comes in a future release, but at current time I'm still beeing stuck with my blocking problem... Is it something I'm doing wrong or that I didn't catch/understand?
Regards,
Al



________________________________
De : Wim Taymans <wim.taymans at gmail.com>
À : Discussion of the development of GStreamer <gstreamer-devel at lists.sourceforge.net>
Envoyé le : Vendredi, 19 Juin 2009, 20h27mn 19s
Objet : Re: [gst-devel] How to perform frame-by-frame video playing

On Fri, 2009-06-19 at 14:05 -0400, Nick Haddad wrote:
> Wohoo!
> 
> 
> I've been waiting for the framestepping API!  Will this require some
> implementation by all the decoders to be reliable?  

It's mostly done in the sinks (which have been updated). For reverse
stepping you'll still need the demuxers and decoders output data in
reverse, though. 

Wim

> 
> 
> Thanks,
> -Nick
> 
> 
> 
> On Jun 19, 2009, at 12:47 PM, Andoni Morales wrote:
> 
> > 
> > 
> > 2009/6/19 Wim Taymans <wim.taymans at gmail.com>
> >         On Fri, 2009-06-19 at 16:02 +0000, Albert Costa wrote:
> >        
> >         Your approach will probably work.
> >        
> >         Current GIT /and the eventual 0.10.24) has framestepping
> >         through the
> >         STEP events, which should solve things in a more general way
> >         (when you
> >         need to keep audio synchronized too).
> >  
> > Does that means that the framestep draft [1]  will be finally
> > implemented in 0.10.24? Good news, though. 
> > 
> > Cheers
> > 
> > [1]
> > http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/draft-framestep.txt
> > 
> > 
> >        
> >        
> >         Wim
> >        
> >        
> >         > Hi,
> >         > I'm trying to do the following:
> >         > I have an application that constructs and controls a
> >         pipeline. Merely,
> >         > my pipe would be "filesink ! decodebin ! identity
> >         sync=true !
> >         > myfilter ! ffmpegcolorspace ! directdrawsink sync=false".
> >         > The element myfilter is currently just a pass-through
> >         element (it does
> >         > not process anything). My goal is, from the application,
> >         to play the
> >         > file only by moving a frame ahead when the user hits a key
> >         (in fact
> >         > later that would be a signal sent by another process). My
> >         idea was to
> >         > block the chain() function inside myfilter each time it is
> >         called,
> >         > untill a release notification is sent. What I did so far
> >         is :
> >         > in the chain() :
> >         > {
> >         > ...
> >         >     g_mutex_lock(myfilter->lock);
> >         >   do
> >         >   {
> >         >     g_cond_wait(myfilter->process_next, myfilter->lock);
> >         >   }
> >         >   g_mutex_unlock(myfilter ->lock);
> >         > ...
> >         > }
> >         >
> >         >
> >         > In my application, I have a specific function that gets
> >         the sink pad
> >         > of my filter element, and send a specific event on it.
> >         > In myfilter's sink_event function, I have a case of event
> >         type where I
> >         > call g_cond_signal(myfilter->process_next) (which I
> >         thought would
> >         > release the lock in the chain).
> >         > My problem is that when I launch the pipeline, the
> >         cond_wait does lock
> >         > the chain function; but then in my application specific
> >         function,
> >         > calling gst_pad_send_event never returns, and my event is
> >         thus not
> >         > received by my element. Eveything hangs...
> >         > Is there any way to have it working somehow? (another
> >         option was to
> >         > set the pipe in pause mode and send seek events to go to
> >         next frame,
> >         > but i'm using mpeg2 ts files that do not support seek
> >         anyway, and I
> >         > have other constraints for which I need an element that
> >         can be
> >         > controled).
> >         > Any help would be appreciated,
> >         > Regards,
> >         > Al
> >         >
> >         >
> >         >
> >         >
> >         >
> >         >
> >        
> >         >
> >         ------------------------------------------------------------------------------
> >         > Crystal Reports - New Free Runtime and 30 Day Trial
> >         > Check out the new simplified licensing option that enables
> >         unlimited
> >         > royalty-free distribution of the report engine for
> >         externally facing
> >         > server and web deployment.
> >         > http://p.sf.net/sfu/businessobjects
> >         > _______________________________________________
> >         gstreamer-devel mailing list
> >        gstreamer-devel at lists.sourceforge.net
> >        https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >        
> >        
> >         ------------------------------------------------------------------------------
> >         Crystal Reports - New Free Runtime and 30 Day Trial
> >         Check out the new simplified licensing option that enables
> >         unlimited
> >         royalty-free distribution of the report engine for
> >         externally facing
> >         server and web deployment.
> >        http://p.sf.net/sfu/businessobjects
> >         _______________________________________________
> >         gstreamer-devel mailing list
> >        gstreamer-devel at lists.sourceforge.net
> >        https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> > 
> > 
> > 
> > -- 
> > Andoni Morales Alastruey
> > 
> > LongoMatch:The Digital Coach
> > http://www.longomatch.ylatuya.es
> > <ATT00001.txt><ATT00002.txt>
> 
> 
> ------------------------------------------------------------------------------
> Are you an open source citizen? Join us for the Open Source Bridge conference!
> Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
> Need another reason to go? 24-hour hacker lounge. Register today!
> http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
> _______________________________________________ gstreamer-devel mailing list gstreamer-devel at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20090622/da3f20aa/attachment.htm>


More information about the gstreamer-devel mailing list