[gst-devel] How do I use "intermediate" frame stepping?

Wim Taymans wim.taymans at gmail.com
Thu May 20 20:03:59 CEST 2010


On Thu, 2010-05-20 at 06:31 -0700, wl2776 wrote:
> Frame stepping event has the "intermediate" field of type G_TYPE_BOOLEAN,
> which can be true or false depending on ... what?

It is TRUE or FALSE depending on if you want TRUE or FALSE in the
resulting GST_MESSAGE_STEP_DONE. The purpose is to flush out data from a
sink in the PAUSED state in small (intermediate) steps so that upstream
queues don't overrun.

> Could anyone provide me with examples of it usage?

I don't have an example, it's a theoretical necessity but not needed in
practice yet.

> Frame stepping backwards is of VERY SPECIAL interest.
> When do I set this field to TRUE?

If you're going to be stepping 10 seconds on a sink and your upstream
queueing is say 1 second, you need to split the step operation into
multiple smaller intermediate steps and then you use the flag to track
your progress.

> 
> I have some problems with the frame stepping backwards on MPEG-2 files. 

Not surprisingly since backwards playback in mpeg2 is not implemented
yet.

Wim

> The pipeline sometimes stops and doesn't step back.
> I wrote about it yesterday
> (http://gstreamer-devel.966125.n4.nabble.com/Framestepping-backwards-doesn-t-work-with-MPEG2-PS-files-tp2222757p2222757.html)
> This my message can be understood so that this happens always. This isn't
> the case. It doesn't step backwards sometimes, and after some steps.






More information about the gstreamer-devel mailing list