mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 09:10:36 +00:00
d0bcc34dad
Original commit message from CVS: * docs/manual/advanced-autoplugging.xml: * docs/manual/advanced-clocks.xml: * docs/manual/advanced-interfaces.xml: * docs/manual/advanced-metadata.xml: * docs/manual/advanced-position.xml: * docs/manual/advanced-schedulers.xml: * docs/manual/advanced-threads.xml: * docs/manual/appendix-gnome.xml: * docs/manual/appendix-programs.xml: * docs/manual/appendix-quotes.xml: * docs/manual/autoplugging.xml: * docs/manual/basics-bins.xml: * docs/manual/basics-data.xml: * docs/manual/basics-elements.xml: * docs/manual/basics-helloworld.xml: * docs/manual/basics-init.xml: * docs/manual/basics-pads.xml: * docs/manual/basics-plugins.xml: * docs/manual/bins-api.xml: * docs/manual/bins.xml: * docs/manual/buffers-api.xml: * docs/manual/buffers.xml: * docs/manual/clocks.xml: * docs/manual/components.xml: * docs/manual/cothreads.xml: * docs/manual/debugging.xml: * docs/manual/dparams-app.xml: * docs/manual/dynamic.xml: * docs/manual/elements-api.xml: * docs/manual/elements.xml: * docs/manual/factories.xml: * docs/manual/gnome.xml: * docs/manual/goals.xml: * docs/manual/helloworld.xml: * docs/manual/helloworld2.xml: * docs/manual/highlevel-components.xml: * docs/manual/highlevel-xml.xml: * docs/manual/init-api.xml: * docs/manual/intro-basics.xml: * docs/manual/intro-motivation.xml: * docs/manual/intro-preface.xml: * docs/manual/intro.xml: * docs/manual/links-api.xml: * docs/manual/links.xml: * docs/manual/manual.xml: * docs/manual/motivation.xml: * docs/manual/pads-api.xml: * docs/manual/pads.xml: * docs/manual/plugins-api.xml: * docs/manual/plugins.xml: * docs/manual/programs.xml: * docs/manual/queues.xml: * docs/manual/quotes.xml: * docs/manual/schedulers.xml: * docs/manual/states-api.xml: * docs/manual/states.xml: * docs/manual/threads.xml: * docs/manual/typedetection.xml: * docs/manual/win32.xml: * docs/manual/xml.xml: Try 2. This time, include a short preface as a "general introduction", also add code blocks around all code samples so they get compiled. We still need a way to tell readers the filename of the code sample. In some cases, don't show all code in the documentation, but do include it in the generated code. This allows for focussing on specific bits in the docs, while still having a full test application available. * examples/manual/Makefile.am: Fix up examples for new ADM. Add several of the new examples that were either added or were missing from the build system. * examples/manual/extract.pl: Allow nameless blocks.
54 lines
2 KiB
XML
54 lines
2 KiB
XML
<chapter id="chapter-metadata">
|
|
<title>Metadata</title>
|
|
|
|
<para>
|
|
&GStreamer; makes a clear distinction between two types of metadata, and
|
|
has support for both types. The first is stream tags, which describe the
|
|
content of a stream in a non-technical way. Examples include the author
|
|
of a song, the title of that very same song or the album it is a part of.
|
|
The other type of metadata is stream-info, which is a somewhat technical
|
|
description of the properties of a stream. This can include video size,
|
|
audio samplerate, codecs used and so on. Tags are handled using the
|
|
&GStreamer; tagging system. Stream-info can be retrieved from a
|
|
<classname>GstPad</classname>.
|
|
</para>
|
|
|
|
<sect1 id="section-streaminfo">
|
|
<title>Stream information</title>
|
|
|
|
<para>
|
|
Stream information can most easily be read by reading them from a
|
|
<classname>GstPad</classname>. This has already been discussed before
|
|
in <xref linkend="section-caps-metadata"/>. Therefore, we will skip
|
|
it here.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="section-tags-read">
|
|
<title>Tag reading</title>
|
|
|
|
<para>
|
|
Tag reading is remarkably simple in &GStreamer; Every element supports
|
|
the <quote>found-tag</quote> signal, which will be fired each the time
|
|
the element reads tags from the stream. A <classname>GstBin</classname>
|
|
will conveniently forward tags found by its childs. Therefore, in most
|
|
applications, you will only need to connect to the
|
|
<quote>found-tag</quote> signal on the top-most bin in your pipeline,
|
|
and you will automatically retrieve all tags from the stream.
|
|
</para>
|
|
<para>
|
|
Note, however, that the <quote>found-tag</quote> might be fired
|
|
multiple times and by multiple elements in the pipeline. It is the
|
|
application's responsibility to put all those tags together and
|
|
display them to the user in a nice, coherent way.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="section-tags-write">
|
|
<title>Tag writing</title>
|
|
|
|
<para>
|
|
WRITEME
|
|
</para>
|
|
</sect1>
|
|
</chapter>
|