METADATA ON BUFFERS IS OUTDATED
-------------------------------


Buffer mutability properties are the most important part of gst, and
similarly are the most complex.

The simple case is that a buffer is created, memory allocated, data put
in it, and passed to the next filter.  That filter reads the data, does
something (like creating a new buffer and decoding into it), and
unreferences the buffer.  This causes the data to be freed and the buffer
to be destroyed.

A more complex case is when the filter modifies the data in place.  It
does so and simply passes on the buffer to the next element.  This is just
as easy to deal with.

If the second filter adds metadata to the buffer, it just has to add the
pointer to the list.  The next element simply traverses the list and 
