remove christian's double entry
[platform/upstream/gstreamer.git] / docs / manual / advanced-metadata.xml
1 <chapter id="chapter-metadata">
2   <title>Metadata</title>
3
4   <para>
5     &GStreamer; makes a clear distinction between two types of metadata, and
6     has support for both types. The first is stream tags, which describe the
7     content of a stream in a non-technical way. Examples include the author
8     of a song, the title of that very same song or the album it is a part of.
9     The other type of metadata is stream-info, which is a somewhat technical
10     description of the properties of a stream. This can include video size,
11     audio samplerate, codecs used and so on. Tags are handled using the
12     &GStreamer; tagging system. Stream-info can be retrieved from a
13     <classname>GstPad</classname>.
14   </para>
15
16   <sect1 id="section-streaminfo">
17     <title>Stream information</title>
18
19     <para>
20       Stream information can most easily be read by reading them from a
21       <classname>GstPad</classname>. This has already been discussed before
22       in <xref linkend="section-caps-metadata"/>. Therefore, we will skip
23       it here.
24     </para>
25   </sect1>
26
27   <sect1 id="section-tags-read">
28     <title>Tag reading</title>
29
30     <para>
31       Tag reading is remarkably simple in &GStreamer; Every element supports
32       the <quote>found-tag</quote> signal, which will be fired each the time
33       the element reads tags from the stream. A <classname>GstBin</classname>
34       will conveniently forward tags found by its childs. Therefore, in most
35       applications, you will only need to connect to the
36       <quote>found-tag</quote> signal on the top-most bin in your pipeline,
37       and you will automatically retrieve all tags from the stream.
38     </para>
39     <para>
40       Note, however, that the <quote>found-tag</quote> might be fired
41       multiple times and by multiple elements in the pipeline. It is the
42       application's responsibility to put all those tags together and
43       display them to the user in a nice, coherent way.
44     </para>
45   </sect1>
46
47   <sect1 id="section-tags-write">
48     <title>Tag writing</title>
49
50     <para>
51       WRITEME
52     </para>
53   </sect1>
54 </chapter>