OUTDATED
--------


What I propose for EOS condition is th following:  As is stands, EOS is a
flag in a buffer.  However, it's also a signal from an element, which is
odd. What I propose is that EOS become a pad thing.  Here's how it would
work:

When a source has a final buffer, it marks it as EOS.  It passes this on
through the pad, and the pads set a 'pending' EOS state on the way
through.  When another push or pull happens, only then does the pad signal
EOS.  This means that EOS doesn't happen until the buffer has passed all
the way to the end, and a request for another buffer is starting to work
its way back.  It gets stopped almost immediately.

This gets a bit messy in complex cases, haven't thought them all out.
Assuming everything is reasonably symmetric, it should work out cleanly.
We may have to add the ability to force buffers to pass even post EOS, but
that sounds like a hack.



Example: DVD
============


                                              ------------     |-------|
                                             -| mpeg2dec |-----|       |
             ------------------------       / ------------     |       |
             |                video0|------/ -------------     |       |       -------------
             |                      |       -| subtitle0 |-----| merge |-------| videosink |
             |             subtitle0|------/ -------------     |       |       -------------
----------   |                      |        -------------     |       |
| dvdsrc |---| mpeg2parse  subtitle1|--------| subtitle1 |-----|       |
----------   |                      |        -------------     |-------|
             |                audio0|--------\ -----------     |----------|
             |                      |         -| ac3dec0 |-----|          |
             |                audio1|-------\  -----------     |          |    -------------
             ------------------------        \ -----------     | switcher |----| audiosink |
                                              -| ac3dec1 |-----|          |    -------------
                                               -----------     |----------|

When dvdsrc reads its last buffer, it sets EOS on the buffer and passes it.  The pad (probably audio1,
since video and audio are interleaved and subtitles don't usually end up at the end of a movie) would
set EOS pending, and pass it to mpeg2dec which would pass the EOS to the merge.  Merge would then ask
for a buffer from subtitle1, since that's the one we're showing subtitles on right now.  It would then
pull from the mpeg2parse.  This would cause a switch back the parser, who's next task is to go and set
all the output pads to EOS.  It may have to accomplish this by sending a zero-byte buffer.

Well, this example isn't actually very good.  I'll go ahead and implement it, and we can see what
happens.  The current setup is so lacking that anything is better....
