GNOME Bugzilla – Bug 764900
controller: notification when last control point reached
Last modified: 2018-11-03 12:34:10 UTC
Provide a way to get a callback, message or similar when a control automation via control source or similar reached its final value, i.e. when automation finished. This is useful to detect when automation finished and subsequent actions can be taken or to chain automation properly. For instance fading out before pipeline pause to avoid clicks: start fade out automation, wait for callback, pause pipeline.
Could you have special property on one of your objects and have a final control event on that property and check for that using notify:<property> ? For the fade-out example, you can register a notify:volume handler and pause when volume is 0.0.
This should work for simple A to B scenarios, but question is still if we want some proper API for this, which would also be more discoverable. If not, let's close it until we run into a use case that can't be solved via notify::
I can understand the user-case. The current controller design so far did not had the need to send events, it merely automates changing parameters. Also controller automation does not really has a notion of an "end" (e.g. LFOs). If we want an api supporting this, one thing to consider is that sending a bus message from the controlled element is not always the right thing, since that part of the media has not been rendered yet. This could be handled using sink-message events. Having more use cases would be nice to come up with a good api.
Would a signal on the control source make sense? For LFOs it could just never be triggered.
We could add a signal to GstTimedValueControlSource, but like I said above, the signal would be trigged when the control source has been synced, but not when the media for the timestamp is rendered. Maybe some control sources can 'emit' something like an EOS. Also the control-bindings could take this to optimize processing. Since the controlbindings have a link to the element, they could post an event.
Ah I see, two different "reached".
Is there still interest in this or shall we close it for now?
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/167.