[gstreamer-bugs] [Bug 383102] New: set_blocked can indicated that the pad is blocking while it's still processing the peers chain function
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Wed Dec 6 11:05:59 PST 2006
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=383102
GStreamer | gstreamer (core) | Ver: HEAD CVS
Summary: set_blocked can indicated that the pad is blocking while
it's still processing the peers chain function
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: sjoerd at luon.net
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME version: Unspecified
GNOME milestone: Unspecified
Hi,
When a pad is set to blocked (while in push mode) either gst_pad_push or
gst_pad_alloc_buffer_full can cause blocked to be signaled. Both function can
be called from different thread (notibly when the src pad your blocking is from
a queue). Thus something like the following can happen: Thread 1 pushes on the
pad, Thread 2 sets the pad to block and waits, Thread 3 does a pad_alloc call
and thus signals the blocking (even though Thread 1's push didn't necessarily
return yet!)
On a side note, it'd be nice if blocking could also be signalled if there is
_no_ dataflow currently.. Especially for live sources where you never (really)
know if there will be any dataflow.
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
More information about the Gstreamer-bugs
mailing list