Split out documentation into subfolders.
[platform/upstream/gstreamer.git] / markdown / pwg / introduction / preface.md
similarity index 82%
rename from pwg-intro-preface.md
rename to markdown/pwg/introduction/preface.md
index 7af3117..d2d9e49 100644 (file)
@@ -89,35 +89,35 @@ large parts. Each part addresses a particular broad topic concerning
 GStreamer plugin development. The parts of this guide are laid out in
 the following order:
 
-  - [Building a Plugin](pwg-building.md) - Introduction to the
+  - [Building a Plugin](pwg/building/index.md) - Introduction to the
     structure of a plugin, using an example audio filter for
     illustration.
-    
+
     This part covers all the basic steps you generally need to perform
     to build a plugin, such as registering the element with GStreamer
     and setting up the basics so it can receive data from and send data
     to neighbour elements. The discussion begins by giving examples of
     generating the basic structures and registering an element in
-    [Constructing the Boilerplate](pwg-building-boiler.md). Then,
+    [Constructing the Boilerplate](pwg/building/boiler.md). Then,
     you will learn how to write the code to get a basic filter plugin
-    working in [Specifying the pads](pwg-building-pads.md), [The
-    chain function](pwg-building-chainfn.md) and [What are
-    states?](pwg-statemanage-states.md).
-    
+    working in [Specifying the pads](pwg/building/pads.md), [The
+    chain function](pwg/building/chainfn.md) and [What are
+    states?](pwg/building/statemanage-states.md).
+
     After that, we will show some of the GObject concepts on how to make
     an element configurable for applications and how to do
     application-element interaction in [Adding
-    Properties](pwg-building-args.md) and
-    [Signals](pwg-building-signals.md). Next, you will learn to
+    Properties](pwg/building/args.md) and
+    [Signals](pwg/building/signals.md). Next, you will learn to
     build a quick test application to test all that you've just learned
-    in [Building a Test Application](pwg-building-testapp.md). We
+    in [Building a Test Application](pwg/building/testapp.md). We
     will just touch upon basics here. For full-blown application
     development, you should look at [the Application Development
     Manual](http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html).
 
-  - [Advanced Filter Concepts](pwg-advanced.md) - Information on
+  - [Advanced Filter Concepts](pwg/advanced/index.md) - Information on
     advanced features of GStreamer plugin development.
-    
+
     After learning about the basic steps, you should be able to create a
     functional audio or video filter plugin with some nice features.
     However, GStreamer offers more for plugin writers. This part of the
@@ -125,51 +125,51 @@ the following order:
     media type definitions in GStreamer, clocks, interfaces and tagging.
     Since these features are purpose-specific, you can read them in any
     order, most of them don't require knowledge from other sections.
-    
+
     The first chapter, named [Different scheduling
-    modes](pwg-scheduling.md), will explain some of the basics of
+    modes](pwg/advanced/scheduling.md), will explain some of the basics of
     element scheduling. It is not very in-depth, but is mostly some sort
     of an introduction on why other things work as they do. Read this
     chapter if you're interested in GStreamer internals. Next, we will
     apply this knowledge and discuss another type of data transmission
     than what you learned in [The chain
-    function](pwg-building-chainfn.md): [Different scheduling
-    modes](pwg-scheduling.md). Loop-based elements will give you
+    function](pwg/building/chainfn.md): [Different scheduling
+    modes](pwg/advanced/scheduling.md). Loop-based elements will give you
     more control over input rate. This is useful when writing, for
     example, muxers or demuxers.
-    
+
     Next, we will discuss media identification in GStreamer in [Types
-    and Properties](pwg-building-types.md). You will learn how to
+    and Properties](pwg/advanced/building-types.md). You will learn how to
     define new media types and get to know a list of standard media
     types defined in GStreamer.
-    
+
     In the next chapter, you will learn the concept of request- and
     sometimes-pads, which are pads that are created dynamically, either
     because the application asked for it (request) or because the media
     stream requires it (sometimes). This will be in [Request and
-    Sometimes pads](pwg-advanced-request.md).
-    
-    The next chapter, [Clocking](pwg-advanced-clock.md), will
+    Sometimes pads](pwg/advanced/request.md).
+
+    The next chapter, [Clocking](pwg/advanced/clock.md), will
     explain the concept of clocks in GStreamer. You need this
     information when you want to know how elements should achieve
     audio/video synchronization.
-    
+
     The next few chapters will discuss advanced ways of doing
     application-element interaction. Previously, we learned on the
     GObject-ways of doing this in [Adding
-    Properties](pwg-building-args.md) and
-    [Signals](pwg-building-signals.md). We will discuss dynamic
+    Properties](pwg/building/args.md) and
+    [Signals](pwg/building/signals.md). We will discuss dynamic
     parameters, which are a way of defining element behaviour over time
-    in advance, in [Supporting Dynamic Parameters](pwg-dparams.md).
+    in advance, in [Supporting Dynamic Parameters](pwg/advanced/dparams.md).
     Next, you will learn about interfaces in
-    [Interfaces](pwg-advanced-interfaces.md). Interfaces are very
+    [Interfaces](pwg/advanced/interfaces.md). Interfaces are very
     target- specific ways of application-element interaction, based on
     GObject's GInterface. Lastly, you will learn about how metadata is
     handled in GStreamer in [Tagging (Metadata and
-    Streaminfo)](pwg-advanced-tagging.md).
-    
+    Streaminfo)](pwg/advanced/tagging.md).
+
     The last chapter, [Events: Seeking, Navigation and
-    More](pwg-advanced-events.md), will discuss the concept of
+    More](pwg/advanced/events.md), will discuss the concept of
     events in GStreamer. Events are, on the one hand, another way of
     doing application-element interaction. It takes care of seeking, for
     example. On the other hand, it is also a way in which elements
@@ -177,9 +177,9 @@ the following order:
     media stream discontinuities, forwarding tags inside a pipeline and
     so on.
 
-  - [Creating special element types](pwg-other.md) - Explanation of
+  - [Creating special element types](pwg/other/index.md) - Explanation of
     writing other plugin types.
-    
+
     Because the first two parts of the guide use an audio filter as an
     example, the concepts introduced apply to filter plugins. But many
     of the concepts apply equally to other plugin types, including
@@ -187,15 +187,15 @@ the following order:
     the issues that arise when working on these more specialized plugin
     types. The chapter starts with a special focus on elements that can
     be written using a base-class ([Pre-made base
-    classes](pwg-other-base.md)), and later also goes into writing
+    classes](pwg/other/base.md)), and later also goes into writing
     special types of elements in [Writing a Demuxer or
-    Parser](pwg-other-oneton.md), [Writing a N-to-1 Element or
-    Muxer](pwg-other-ntoone.md) and [Writing a
-    Manager](pwg-other-manager.md).
+    Parser](pwg/other/oneton.md), [Writing a N-to-1 Element or
+    Muxer](pwg/other/ntoone.md) and [Writing a
+    Manager](pwg/other/manager.md).
 
-  - [Appendices](pwg-appendix.md) - Further information for plugin
+  - [Appendices](pwg/appendix/index.md) - Further information for plugin
     developers.
-    
+
     The appendices contain some information that stubbornly refuses to
     fit cleanly in other sections of the guide. Most of this section is
     not yet finished.
@@ -203,14 +203,14 @@ the following order:
 The remainder of this introductory part of the guide presents a short
 overview of the basic concepts involved in GStreamer plugin development.
 Topics covered include [Elements and
-Plugins](pwg-intro-basics.md#elements-and-plugins),
-[Pads](pwg-intro-basics.md#pads), [GstMiniObject, Buffers and
-Events](pwg-intro-basics.md#gstminiobject-buffers-and-events) and
+Plugins](pwg/introduction/basics.md#elements-and-plugins),
+[Pads](pwg/introduction/basics.md#pads), [GstMiniObject, Buffers and
+Events](pwg/introduction/basics.md#gstminiobject-buffers-and-events) and
 [Media types and
-Properties](pwg-intro-basics.md#media-types-and-properties). If you
+Properties](pwg/introduction/basics.md#media-types-and-properties). If you
 are already familiar with this information, you can use this short
 overview to refresh your memory, or you can skip to [Building a
-Plugin](pwg-building.md).
+Plugin](pwg/building/index.md).
 
 As you can see, there a lot to learn, so let's get started\!
 
@@ -221,4 +221,3 @@ As you can see, there a lot to learn, so let's get started\!
   - Adding new media types to the registry along with typedetect
     functions. This will allow your plugin to operate on a completely
     new media type.
-