diff --git a/docs/manual/communication.png b/docs/manual/communication.png
new file mode 100644
index 0000000000..2451c491a5
Binary files /dev/null and b/docs/manual/communication.png differ
diff --git a/docs/manual/diagrams-general.svg b/docs/manual/diagrams-general.svg
index bb6143d09c..1a915fe8b2 100644
--- a/docs/manual/diagrams-general.svg
+++ b/docs/manual/diagrams-general.svg
@@ -1,5 +1,6 @@
+
+ inkscape:version="0.47pre4 r22446"
+ sodipodi:docname="diagrams-general.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ inkscape:snap-global="true"
+ inkscape:window-maximized="1">
+ empopacity="0.14901961"
+ empspacing="5"
+ snapvisiblegridlinesonly="true" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -7485,7 +7709,7 @@
inkscape:export-ydpi="91.230003">
@@ -8474,7 +8698,7 @@
ry="0.10631458" />
@@ -8987,11 +9211,11 @@
sodipodi:cy="25.593554"
sodipodi:rx="1.3700194"
sodipodi:ry="1.016466"
- d="M 8.5736699,25.593554 A 1.3700194,1.016466 0 1 1 5.833631,25.593554 A 1.3700194,1.016466 0 1 1 8.5736699,25.593554 z"
+ d="m 8.5736699,25.593554 c 0,0.561378 -0.6133786,1.016466 -1.3700194,1.016466 -0.7566409,0 -1.3700195,-0.455088 -1.3700195,-1.016466 0,-0.561379 0.6133786,-1.016466 1.3700195,-1.016466 0.7566408,0 1.3700194,0.455087 1.3700194,1.016466 z"
transform="translate(8.838843e-2,0.176776)" />
@@ -10022,7 +10246,7 @@
transform="matrix(0.6122611,0,0,0.802831,1476.1749,-155.02827)"
inkscape:r_cy="true"
inkscape:r_cx="true"
- d="M 40.5,21 A 14.75,8.25 0 1 1 11,21 A 14.75,8.25 0 1 1 40.5,21 z"
+ d="m 40.5,21 c 0,4.556349 -6.6038,8.25 -14.75,8.25 C 17.6038,29.25 11,25.556349 11,21 c 0,-4.556349 6.6038,-8.25 14.75,-8.25 8.1462,0 14.75,3.693651 14.75,8.25 z"
sodipodi:ry="8.25"
sodipodi:rx="14.75"
sodipodi:cy="21"
@@ -10045,7 +10269,7 @@
sodipodi:cy="21"
sodipodi:rx="14.75"
sodipodi:ry="8.25"
- d="M 40.5,21 A 14.75,8.25 0 1 1 11,21 A 14.75,8.25 0 1 1 40.5,21 z"
+ d="m 40.5,21 c 0,4.556349 -6.6038,8.25 -14.75,8.25 C 17.6038,29.25 11,25.556349 11,21 c 0,-4.556349 6.6038,-8.25 14.75,-8.25 8.1462,0 14.75,3.693651 14.75,8.25 z"
inkscape:r_cx="true"
inkscape:r_cy="true"
transform="matrix(0.6098233,0,0,0.7906893,1476.6513,-156.59802)" />
@@ -10059,7 +10283,7 @@
transform="matrix(0.7617356,0,0,0.7512912,1475.4861,-154.40517)"
inkscape:r_cy="true"
inkscape:r_cx="true"
- d="M 40.65864,19.008621 A 18.473166,13.435029 0 1 1 3.7123089,19.008621 A 18.473166,13.435029 0 1 1 40.65864,19.008621 z"
+ d="m 40.65864,19.008621 c 0,7.419962 -8.270718,13.435029 -18.473166,13.435029 -10.202447,0 -18.4731651,-6.015067 -18.4731651,-13.435029 0,-7.419961 8.2707181,-13.4350288 18.4731651,-13.4350288 10.202448,0 18.473166,6.0150678 18.473166,13.4350288 z"
sodipodi:ry="13.435029"
sodipodi:rx="18.473166"
sodipodi:cy="19.008621"
@@ -10090,7 +10314,7 @@
inkscape:export-ydpi="90">
+ d="M 17,16.5 C 17,16.776142 16.776142,17 16.5,17 16.223858,17 16,16.776142 16,16.5 16,16.223858 16.223858,16 16.5,16 c 0.276142,0 0.5,0.223858 0.5,0.5 z" />
@@ -10650,7 +10874,7 @@
transform="matrix(1.0051171,0,0,1.2356645,1466.4725,-162.09851)"
inkscape:r_cy="true"
inkscape:r_cx="true"
- d="M 40.5,21 A 14.75,8.25 0 1 1 11,21 A 14.75,8.25 0 1 1 40.5,21 z"
+ d="m 40.5,21 c 0,4.556349 -6.6038,8.25 -14.75,8.25 C 17.6038,29.25 11,25.556349 11,21 c 0,-4.556349 6.6038,-8.25 14.75,-8.25 8.1462,0 14.75,3.693651 14.75,8.25 z"
sodipodi:ry="8.25"
sodipodi:rx="14.75"
sodipodi:cy="21"
@@ -10666,7 +10890,7 @@
sodipodi:cy="21"
sodipodi:rx="14.75"
sodipodi:ry="8.25"
- d="M 40.5,21 A 14.75,8.25 0 1 1 11,21 A 14.75,8.25 0 1 1 40.5,21 z"
+ d="m 40.5,21 c 0,4.556349 -6.6038,8.25 -14.75,8.25 C 17.6038,29.25 11,25.556349 11,21 c 0,-4.556349 6.6038,-8.25 14.75,-8.25 8.1462,0 14.75,3.693651 14.75,8.25 z"
inkscape:r_cx="true"
inkscape:r_cy="true"
transform="matrix(0.6122611,0,0,0.802831,1476.1749,-155.02827)" />
@@ -10681,7 +10905,7 @@
transform="matrix(0.6098233,0,0,0.7906893,1476.6513,-156.59802)"
inkscape:r_cy="true"
inkscape:r_cx="true"
- d="M 40.5,21 A 14.75,8.25 0 1 1 11,21 A 14.75,8.25 0 1 1 40.5,21 z"
+ d="m 40.5,21 c 0,4.556349 -6.6038,8.25 -14.75,8.25 C 17.6038,29.25 11,25.556349 11,21 c 0,-4.556349 6.6038,-8.25 14.75,-8.25 8.1462,0 14.75,3.693651 14.75,8.25 z"
sodipodi:ry="8.25"
sodipodi:rx="14.75"
sodipodi:cy="21"
@@ -10703,7 +10927,7 @@
sodipodi:cy="19.008621"
sodipodi:rx="18.473166"
sodipodi:ry="13.435029"
- d="M 40.65864,19.008621 A 18.473166,13.435029 0 1 1 3.7123089,19.008621 A 18.473166,13.435029 0 1 1 40.65864,19.008621 z"
+ d="m 40.65864,19.008621 c 0,7.419962 -8.270718,13.435029 -18.473166,13.435029 -10.202447,0 -18.4731651,-6.015067 -18.4731651,-13.435029 0,-7.419961 8.2707181,-13.4350288 18.4731651,-13.4350288 10.202448,0 18.473166,6.0150678 18.473166,13.4350288 z"
inkscape:r_cx="true"
inkscape:r_cy="true"
transform="matrix(0.7617356,0,0,0.7512912,1475.4861,-154.40517)" />
@@ -11024,7 +11248,7 @@
inkscape:export-ydpi="91.230003">
+
+
+ file-source
+
+ src
+
+ ogg-demuxer
+
+ sink
+
+ src_01
+
+ vorbis-decoder
+
+ sink
+
+ src
+ sink
+
+
+ alsa-output
+
+ sink
+
+
+ pipeline
+
+
+
+ bus
+
+ application
+ buffers
+
+ messages
+
+ queries
+
+ events
+
diff --git a/docs/manual/intro-basics.xml b/docs/manual/intro-basics.xml
index 779223d8b9..77bb8c7967 100644
--- a/docs/manual/intro-basics.xml
+++ b/docs/manual/intro-basics.xml
@@ -97,4 +97,54 @@
+
+ Communication
+
+
+ &GStreamer; provides several mechanisms for communication and data exchange
+ between the application and the pipeline .
+
+
+
+
+
+ buffers : are objects for passing streaming data
+ between elements in the pipeline. Buffers always travel from sources
+ to sinks (downstream).
+
+
+
+
+ events : are objects send between elements or from
+ the application to elements. Events can travel upstream and downstream.
+ Downstream events can be synchronised to the data flow.
+
+
+
+
+ messages : are object send from elements over the
+ bus to the application. Messages can be received synchronously, but
+ then from the streaming thread context of the sender or asynchronously
+ marshalled to the main thread of the application.
+
+
+
+
+ queries : allow application to request information
+ from the pipeline. Queries are answered synchronously.
+
+
+
+
+
+ &GStreamer; pipeline with different communication flows
+
+
+
+
+
+
+
+
+