[gst-devel] video clocking

Thomas Andrews tandrews at grok.co.za
Tue Oct 13 10:28:34 CEST 2009


On Tue, Oct 13, 2009 at 01:18:29AM +0900, ved kpl wrote:
> 
> On Mon, Oct 12, 2009 at 8:53 PM, Thomas Andrews <tandrews at grok.co.za> wrote:
> >
> > I'm looking for an example of how to correctly implement a clock source.
> >
> > I have written a basic plugin for a camera, and I'm able to display a
> > frame from it, but what I (believe) I need to do is to make my plugin
> > supply the clock for the rest of the system.
> >
> > My existing implementation evidently takes too long to supply a frame,
> > so even though I supply images, the screen does not change to reflect
> > the latest frame delivered. Only the first frame is displayed. (If I
> > just update the pixels manually and quickly return the frame, then the
> > new frame becomes visible, so I am assuming that it is the delay
> > introduced that is the problem.)
> 
> Since your plugin is video src, You can set the appropriate latency,
> (query_latency)
> for capturing the video frames. and put a queue after the source.
> 
> You can have a look at v4l2src code for the latency query.
> 

Are you saying that I am incorrect to want to make my plugin a clock
source? Correct me if I'm wrong, but allowing more latency is not
actually making the pipeline work correctly, it just makes it more
tolerant of the extra milliseconds of delay.

I can fudge it to work by just telling the sink not to sync:

    gst-launch-0.10 baumercamsrc ! ximagesink sync=FALSE

but that seems to be a far less efficient solution. My source fetches
frames at 15 per second, so I would like to propagate them through the
system at that rate.

Many thanks,
Thomas




More information about the gstreamer-devel mailing list