mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
622a80da54
Original commit message from CVS: Moved "Filter Writer's Guide" to "Plugin Writer's Guide". Divided existing info from old guide into several files, one per chapter. The guide still needs much work ...
88 lines
3 KiB
XML
88 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>
|