Measure element latency

Taoming Huang taoming29 at gmail.com
Wed Jun 5 21:47:44 UTC 2019


Hi,

I am working a WebrRTC RTP streaming application which has a low latency
requirements using GStreamer 1.14. I would like to calculate latency, and
emit it as a metrics on an element basis. I have several ideas, but I'm not
sure if they are valid.

   1. GStreamer Tracer -- This has too much burden on the CPU as far as I
   tested.
   2. Latency query -- Latency query calculates latency for the
   pipeline/element, and I think it only updates when elements are added or
   removed.
   3. Buffer probe with PTS -- I thought PTS will be a unique ID and will
   not be changed, and we can calculate the running time (absolute time - base
   time) before the buffer comes into the element, and calculate the running
   time after the buffer comes out of the element -- However, it seems that
   buffers can either be dropped or changed -- I wonder in this case, will the
   buffer PTS be changed?
   4. Buffer probe/new plugin with GstMeta -- If the PTS is not reliable, I
   thought about adding the running time timestamp into buffers using GstMeta
   before coming into the element, and when the buffers come out of the
   element, we can check the added timestamp with the current running time
   which is the latency measurement -- However, again, will the metadata that
   I added be changed in the element?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190605/99febdb3/attachment.html>


More information about the gstreamer-devel mailing list