mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-13 12:51:16 +00:00
0ec400890c
Original commit message from CVS: initial checkin
15 lines
715 B
Text
15 lines
715 B
Text
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
|