[gst-devel] Waiting for an event to reach the end of the pipeline

Martin Soto soto at informatik.uni-kl.de
Mon Apr 7 09:38:04 CEST 2003

Hi all!

In the last days, I've hacking the dvdnavsrc element to complete the
support for the DVD menus.  Right now, it works more or less fine with
my new components for the DXR3 card (coming soon to a SourceForge
repository near you) but I still have a problem that looks quite
difficult to solve.

In order to implement the menu highlights I added a signal to the
dvdnavsrc element.  I think that's the only way to implement it because
of the out-of-band, interactive nature of the highlights.  In my
application I attach to that signal and use the information to set the
highlight in the element I wrote to control the DXR3's subpicture unit.

This works great when using the menus interactively, but has problems
when changing between menus.  Sometimes, the highlight signal fires
before the video and subpicture information has made its way through the
pipeline to the DXR3 output elements, and you end up with menus that
look funny, to say the least.

For that reason, I would need a way to send an event (like FLUSH or
NEW_MEDIA) from the dvdnavsrc element, and then wait until it is
received by all output elements (sound, video and spu).  So far, I can
think of defining signals in the output elements that fire when such an
event arrives, but that seems quite hackish and not very reliable.

Is there a better way to solve this problem?


M. S.
Martin Soto <soto at informatik.uni-kl.de>

More information about the gstreamer-devel mailing list