mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 11:41:09 +00:00
16 lines
715 B
Text
16 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
|