GNOME Bugzilla – Bug 123542
inactive pads should be able to push a buffer if their peer is active.
Last modified: 2004-12-22 21:47:04 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.
Created attachment 20378 [details] [review] patch
commited to 0.6.3.1 and HEAD, closing.