Improvements for gstlatency tracing plugin
Frédéric Bertolus
frederic.bertolus at parrot.com
Fri Jan 8 01:05:43 PST 2016
Hello,
I use the gstlatency tracer plugins but I found some limitations for my need so I would like to add multiple features to this plugin.
So I have few questions:
- Is there a basic implementation of the timer feature like latency(timer=100ms) or its only in the draft document ?
- Is the parameters system for the trace plugins already exist ? I don't manage to find a trace plugin with a parameter as example.
I would add to add the following parameters :
start/stop/duration parameters
------------------------------
The goal is to add 3 optionnals parameters to latency plugin to enables traces for a limited duration and/or start the trace after few seconds.
In my use case, I have a pipeline with a valve and i want to read the latency when the valve is open (this is not the case at the start of my process).
Examples :
latency(start=10s) # trace from 10s to EOS
latency(start=120s;duration=5s) # trace from 120s during 5s
latency(start=120s;end=130s) # trace from 120s during 10s
latency(end=30s) # trace from pipeline start during 30s
These parameters could be useful for all GstTracer plugins.
from_pad/to_pad parameters
--------------------------
The goal is to add 2 parameters to configure the bound of the latency mesurement. This could permit to mesure the latency on a part of the pipeline and not only the whole pipeline. The parameters from_pad and to_pad would target a specific pad in the pipeline.
Examples with this pipeline : videotestsrc ! videoconvert name=convert ! gaussianblur name=blur ! videoconvert ! autovideosink
latency(to_pad=blur) # measure latency between videotestsrc:src and blur:sink
latency(from_pad=blur) # measure latency between blur:src and autovideosink:sink
latency(from_pad=convert, to_pad=blur) # measure latency between convert:src and blur:sink
latency(to_pad=blur:src) # measure latency between videotestsrc:src and blur:src
latency(from_pad=blur:sink, to_pad=blur:src) # measure latency between blur:sink and blur:src
latency(to_pad=blur), latency(from_pad=blur:sink) # measure separately latency from videotestsrc:src to blur:sink and from blur:sink to autovideosink:sink
The main difficulty of this change is to pass parameter to the plugins. Then the current event generation system in pad hook should works.
output destination parameter
----------------------------
The goal is to have a separate log for each tracing plugin. For this an optional parameter for all tracing plugins could be useful.
Example :
latency(output=/tmp/latency.log), rusage(output=/tmp/rusage.log)
Do you think these changes could be integrated upstream ? Do you have any suggestions to improve all this ?
Thanks,
Frédéric Bertolus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160108/413dd1e8/attachment.html>
More information about the gstreamer-devel
mailing list