BaseTransform with live video

Mathieu Duponchelle mathieu at centricular.com
Fri Apr 12 11:47:09 UTC 2019


A gap event is not required to have a duration. However I assume you could
calculate one the following way: when the received QoS event shows that your
transform element is too late, you interrupt whatever transformation you were
performing, then drop input buffers until you've caught up with the desired position
(this implies having a large enough queue in front of your transform element),
and only send the gap event at that point, would that work?

On 4/12/19 10:28 AM, rs99 wrote:
> Mathieu Duponchelle wrote
>> If your transform element is too slow for real time operation, it should
>> handle
>> QoS events and skip ahead.
> Thanks for the reply. "Skip ahead" is a bit vague :). I tried doing this via
> a gap event, but it doesn't work as desired, because the transform element
> can't anticipate precisely how long the transformation will take, and the
> gap event needs to contain the gap duration. Especially when having more
> than one transform pipeline 'branch', the results get quite ugly...
>
> I believe the aggregator isn't the right element class for this. An element
> (maybe a BaseTransform?) with always pads for in and out video, and request
> sink pads for each transform branch of the pipeline might work better.
>
> Sure, pure Python is too slow for this, but  even with C / C++, most tasks
> cannot be done in realtime, so I believe my question remains valid
> regardless of the implementation.
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list