diff --git a/docs/pwg/advanced-allocation.xml b/docs/pwg/advanced-allocation.xml
index 625e76ee85..aedf10a733 100644
--- a/docs/pwg/advanced-allocation.xml
+++ b/docs/pwg/advanced-allocation.xml
@@ -41,12 +41,22 @@
never be changed after the object is created, however, the offset
and size can be changed.
-
- GstMemory objects are created by a
- GstAllocator object. To implement support
- for a new kind of memory type, you must implement a new allocator
- object.
-
+
+ GstAllocator
+
+ GstMemory objects are created by a
+ GstAllocator object. Most allocators implement the
+ default gst_allocator_alloc() method but some allocator
+ might implement a different method, for example when additional parameters
+ are needed to allocate the specific memory.
+
+
+ Different allocators exist for, for example, system memory, shared memory
+ and memory backed by a DMAbuf file descriptor. To implement support for a
+ new kind of memory type, you must implement a new allocator object as shown
+ below.
+
+
GstMemory API example
@@ -88,7 +98,7 @@
-
+
Implementing a GstAllocator
WRITEME
@@ -209,14 +219,9 @@
GstMeta
With the GstMeta system you can add arbitrary
- structures of on buffers. These structures describe extra properties
+ structures on buffers. These structures describe extra properties
of the buffer such as cropping, stride, region of interest etc.
-
- Metadata is also used to store, for example, the X image that is
- backing up the memory of the buffer. This makes it easier for elements
- to locate the X image from the buffer.
-
The metadata system separates API specification (what the metadata
and its API look like) and the implementation (how it works). This makes