After talking to Wim Taymans, from GStreamer, I think I understand the (undocumented) GStreamer Event stuff enough to (hopefully) make my (GStreamer) Movie Plugins work. (These GStreamer Movie Plugins will be used for matterial Junior and other matterial subprojects.) Here's the converstion, from the GStreamer IRC channel:
<tnt> No... I'm just had a bit of trouble understanding the GstEvent stuff...
<tnt> ... but I've been pointed to the doc/random/wtay/event* stuff today...
<wtay> tnt: I can explaing it if you want..
<tnt> wtay: Sure... go ahead!
<wtay> tnt: what do you want to know?
<tnt> Are they "returned" just like a buffer?
<wtay> tnt: some do :)
* tnt hasn't worked on his Gstreamer plugins in over a month... so he's having to remember everything/
<wtay> tnt: events are used for interplugin communication, just like buffers but only to transfer metadata
<tnt> How do you send them between plugins?
<wtay> tnt: like EOS/FLUSH/DISCONTINUOUS
<wtay> tnt: gst_pad_push
<tnt> Are those the only events?
<wtay> tnt: for downstream events
<wtay> tnt: for ustream events, you use gst_pad_send_event
<wtay> tnt: they are handled differently (ie not done by the scheduler)
<tnt> What Upstream events are there?
<wtay> tnt: seek currently
<tnt> Are these specialized events "sub-classed" from GstEvent... or is a data member "set"... so you can tell the difference?
<wtay> tnt: it's all one big enum currently with the type field set to the event type
<tnt> So... I couldn't create my own event... in my application. (Unless I change the original GStreamer code.)
<wtay> tnt: nope, that was one of the design decisions
<tnt> wtay: Do you remember the "reasoning" for choosing that?
<wtay> tnt: although there are plans to add custom events in the future
<wtay> tnt: yes, abuse the system to transport data
<tnt> wtay: OK... I'll see if I can make my plugins work now... Thanks!
I also asked if it was OK that my Movie plugins were being written in GOB... and they seem to be OK with it... so my plugins will likely get into the offical GStreamer distribution. (So everyone will be able to use them.)
Anyways, better get back to writing the first draft of the Movie Preview and Thumbnail Format specification (as part of the matterial Project).