After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 721548 - pad: Add API to wakeup pad blocks
pad: Add API to wakeup pad blocks
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-01-05 09:10 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 12:19 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2014-01-05 09:10:59 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
Comment 1 Sebastian Dröge (slomo) 2014-01-06 09:39:33 UTC
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.
Comment 2 Olivier Crête 2014-01-06 20:34:50 UTC
What's the use-case for this? Why do you need to make sure the probes are just exactly one time ?
Comment 3 Sebastian Dröge (slomo) 2014-01-08 09:04:46 UTC
(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.
Comment 4 Sebastian Dröge (slomo) 2016-12-21 15:28:21 UTC
Had another instance of needing this, gst_pad_probe_wakeup(pad, probe_id, probe_return) seems like a better name though.
Comment 5 GStreamer system administrator 2018-11-03 12:19:25 UTC
-- 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.