video clocking

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

video clocking

Thomas Andrews
Hi,

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.)

Can anyone point me to an example of how to make my plugin act as a
clock source?

Many thanks,
Thomas

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: video clocking

ved kpl
Hi,

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.





On Mon, Oct 12, 2009 at 8:53 PM, Thomas Andrews <[hidden email]> wrote:

> Hi,
>
> 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.)
>
> Can anyone point me to an example of how to make my plugin act as a
> clock source?
>
> Many thanks,
> Thomas
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: video clocking

Thomas Andrews
On Tue, Oct 13, 2009 at 01:18:29AM +0900, ved kpl wrote:

>
> On Mon, Oct 12, 2009 at 8:53 PM, Thomas Andrews <[hidden email]> 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

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel