mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-09 05:38:58 +00:00
89 lines
3 KiB
XML
89 lines
3 KiB
XML
|
<!-- ############ chapter ############# -->
|
||
|
|
||
|
<chapter id="cha-building-types">
|
||
|
<title>Types and Properties</title>
|
||
|
<para>
|
||
|
There is a very large set of possible types that may be used to pass data
|
||
|
between elements. Indeed, each new element that is defined may use a new
|
||
|
data format (though unless at least one other element recognises that
|
||
|
format, it will be most likely be useless since nothing will be able to
|
||
|
link with it).
|
||
|
</para>
|
||
|
<para>
|
||
|
In order for types to be useful, and for systems like autopluggers to
|
||
|
work, it is neccessary that all elements agree on the type definitions,
|
||
|
and which properties are required for each type. The &GStreamer; framework
|
||
|
itself simply provides the ability to define types and parameters, but
|
||
|
does not fix the meaning of types and parameters, and does not enforce
|
||
|
standards on the creation of new types. This is a matter for a policy to
|
||
|
decide, not technical systems to enforce.
|
||
|
</para>
|
||
|
<para>
|
||
|
For now, the policy is simple:
|
||
|
<itemizedlist>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Do not create a new type if you could use one which already exists.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
If creating a new type, discuss it first with the other &GStreamer;
|
||
|
developers, on at least one of: IRC, mailing lists, the &GStreamer;
|
||
|
wiki.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Try to ensure that the name for a new format is as unlikely to
|
||
|
conflict with anything else created already, and is not a more
|
||
|
generalised name than it should be. For example: "audio/compressed"
|
||
|
would be too generalised a name to represent audio data compressed
|
||
|
with an mp3 codec. Instead "audio/mp3" might be an appropriate name,
|
||
|
or "audio/compressed" could exist and have a property indicating the
|
||
|
type of compression used.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Ensure that, when you do create a new type, you specify it clearly,
|
||
|
and get it added to the list of known types so that other developers
|
||
|
can use the type correctly when writing their elements.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</itemizedlist>
|
||
|
</para>
|
||
|
|
||
|
<!-- ############ sect1 ############# -->
|
||
|
|
||
|
<sect1 id="sect1-types-test" xreflabel="Building a Simple Format for Testing">
|
||
|
<title>Building a Simple Format for Testing</title>
|
||
|
<para>
|
||
|
</para>
|
||
|
</sect1>
|
||
|
|
||
|
<!-- ############ sect1 ############# -->
|
||
|
|
||
|
<sect1 id="sect1-types-mime" xreflabel="A Simple Mime Type">
|
||
|
<title>A Simple Mime Type</title>
|
||
|
<para>
|
||
|
</para>
|
||
|
</sect1>
|
||
|
|
||
|
<!-- ############ sect1 ############# -->
|
||
|
|
||
|
<sect1 id="sect1-types-properties" xreflabel="Type Properties">
|
||
|
<title>Type Properties</title>
|
||
|
<para>
|
||
|
</para>
|
||
|
</sect1>
|
||
|
|
||
|
<!-- ############ sect1 ############# -->
|
||
|
|
||
|
<sect1 id="sect1-types-typefind" xreflabel="Typefind Functions and Autoplugging">
|
||
|
<title>Typefind Functions and Autoplugging</title>
|
||
|
<para>
|
||
|
</para>
|
||
|
</sect1>
|
||
|
</chapter>
|