GNOME Bugzilla – Bug 114442
non-intuitive event handling
Last modified: 2004-12-22 21:47:04 UTC
It's non-intuitive that the following code only happens when linking pads in the scheduler: GST_RPAD_EVENTHANDLER (srcpad) = GST_RPAD_EVENTFUNC (srcpad); If i have this pipeline: ./gst-launch filesrc location=/local/aleader/trans.mpg ! mpegdemux name=demux demux.video_00 ! mpeg2dec When i try to do a seek, send an event to the src pad of mpeg2dec, then it doesn't work because the eventhandler hasn't been setup because there is no element linked after mpeg2dec. So i must add a fakesink after mpeg2dec and then it works. This seem crazy.
You're supposed to send events to the peer of a sink pad, not to a source pad. And yes, I know that's confusing :)
i can understand if it is a "request pad". But in this case, it is a "static pad". Static pads should be able to accept events even if they are not linked. (Why not?)
This behavior might get rethought during 0.9, but for now, this is the behavior. I've noted this in the 0.9-suggested-changes list, and closing the bug.