GNOME Bugzilla – Bug 721548
pad: Add API to wakeup pad blocks
Last modified: 2018-11-03 12:19:25 UTC
+++ This bug was initially created as a clone of Bug #721289 +++ See the original bug for a use case. API should probably be something like void gst_pad_unblock(pad, probe_return); Which then broadcasts the GCond and stores the probe_return somewhere. What should then happen is: a) PROBE_OK - Run all probes another time b) PROBE_PASS - Do as if one of the probes had returned PASS c) PROBE_DROP - Do as if one of the probes had returned DROP d) PROBE_REMOVE - Nothing
Problem here is how to make sure that *all* blocked threads for that pad wake up once and do the above. But only exactly once.
What's the use-case for this? Why do you need to make sure the probes are just exactly one time ?
(In reply to comment #2) > What's the use-case for this? See the original bug :) You want to unblock the pads because everything is ready for that now, but don't want to remove any existing probe. > Why do you need to make sure the probes are just exactly one time ? Well, I'm also fine with having them called multiple times but that would probably break some assumptions out there. Important however is that every thread that is currently blocked calls all probes. And not just some of the blocked threads.
Had another instance of needing this, gst_pad_probe_wakeup(pad, probe_id, probe_return) seems like a better name though.
-- 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/47.