gst-shark
gst-shark copied to clipboard
Supporting aggregator elements
I have some custom classes that inherit the base class GstAggregator that combines buffers from two source elements into one buffer and I wanted to get interlatency from each source element. It appears that the default behaviour is to report the interlatency for the last latency event received. There is a couple of issues with this approach a) it is non-deterministic since the latency events are each produced by separate threads and b) there is no way to get the latency from other source elements.
Locally I have implemented a workaround in the interlatency tracer (commit 8ef0e7b2d6) that replaces the stored latency_probe_id qdata with a list of GstEvents instead of the event directly. Patch with my changes
This appears to work as I need and I can plot the latency if I include a filter that matches a specific source element to gstshark-plot. Though in general more work would be needed to handle plotting multiple source elements with gstshark-plot. Currently it treats the duplicate entries as part of the same series which results in erratic plotting if the latencies from each source are not similar. My initial thought would be to produce a separate plot for each source element, though I have not verified if this is practical.
Hey @djns99 sorry for the slow response. Thanks for your patch, do you mind opening a PR with the changes so we start from there? Thanks!
Sure thing I opened PR #120