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 123542 - inactive pads should be able to push a buffer if their peer is active.
inactive pads should be able to push a buffer if their peer is active.
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.6.3
Other Linux
: Normal normal
: 0.6.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2003-09-30 08:38 UTC by Thomas Vander Stichele
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (520 bytes, patch)
2003-09-30 08:38 UTC, Thomas Vander Stichele
none Details | Review

Description Thomas Vander Stichele 2003-09-30 08:38:40 UTC
inactive pads should be able to push a buffer if their peer is active.

Suppose a { filesrc ! vorbisfile ! queue } ! osssink pipeline.
Whenever something in the input thread needs to change, the pipeline needs
to pause.  The queue is still being pulled from, but it cannot push the
data out since queue itself doesn't have active pads.

So one fix is to make sure elements can push if their peer pad is active,
and that's what this patch does.

In the long run, I think I'd prefer if there is some way the element can
now a push doesn't work at this time (ie, have pad_push return a gboolean),
and then the queue can decide to store these unpushed buffers in a glist to
try again later.
Comment 1 Thomas Vander Stichele 2003-09-30 08:38:54 UTC
Created attachment 20378 [details] [review]
patch
Comment 2 Thomas Vander Stichele 2003-10-05 19:42:32 UTC
commited to 0.6.3.1 and HEAD, closing.