Quantcast

Compensating compute latency

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Compensating compute latency

Baby Octopus
Hi,

Was wondering if there is a need to handle compute latency in gstreamer for synchronization. I went through the basesink code basesink_do_sync() to see if the computational(processing) latency is handled but it doesn't seem to

Say for example A, B, C D are video filters and each take 10ms to process a video frame for 1920x1980, on certain machine. We have a pipeline

capture ! A ! B ! C ! D ! render

None of the elements have buffering, hence each of them report a latency of 0ms. The pipeline itself will have 0ms latency, but the buffer would reach the sink 40ms late, and it can be dropped if QOS is enabled

So my question is if some averaging algorithm needs to be implemented in basesink to take care of this?

~BO
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Compensating compute latency

Yi-Lung Tsai
When pipeline is going to “PLAYING” state, all sink elements query latency of upstream elements.
The total latency is considered in sink elements.
All elements that receives latency query shall report their latencies for sink elements.

--
Yi-Lung (Bruce) Tsai





On May 4, 2017, at 3:31 PM, Baby Octopus <[hidden email]> wrote:

Hi,

Was wondering if there is a need to handle compute latency in gstreamer for
synchronization. I went through the basesink code basesink_do_sync() to see
if the computational(processing) latency is handled but it doesn't seem to

Say for example A, B, C D are video filters and each take 10ms to process a
video frame for 1920x1980, on certain machine. We have a pipeline

capture ! A ! B ! C ! D ! render

None of the elements have buffering, hence each of them report a latency of
0ms. The pipeline itself will have 0ms latency, but the buffer would reach
the sink 40ms late, and it can be dropped if QOS is enabled

So my question is if some averaging algorithm needs to be implemented in
basesink to take care of this?

~BO



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Compensating-compute-latency-tp4682919.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Loading...