> ![Information](images/icons/emoticons/information.png)
> Need help?
>
-> If you need help to compile this code, refer to the **Building the tutorials** section for your platform: [Linux](installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](installing-on-windows.md#InstallingonWindows-Build), or use this specific command on Linux:
+> If you need help to compile this code, refer to the **Building the tutorials** section for your platform: [Linux](installing/on-linux.md#InstallingonLinux-Build), [Mac OS X](installing/on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](installing/on-windows.md#InstallingonWindows-Build), or use this specific command on Linux:
>
> `` gcc basic-tutorial-2.c -o basic-tutorial-2 `pkg-config --cflags --libs gstreamer-1.0` ``
>
->If you need help to run this code, refer to the **Running the tutorials** section for your platform: [Linux](installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](installing-on-windows.md#InstallingonWindows-Run).
+>If you need help to run this code, refer to the **Running the tutorials** section for your platform: [Linux](installing/on-linux.md#InstallingonLinux-Run), [Mac OS X](installing/on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](installing/on-windows.md#InstallingonWindows-Run).
>
>This tutorial opens a window and displays a test pattern, without audio
>
producers of data) to the sink elements (the consumers of data), passing
through filter elements.
-![](attachments/figure-1.png)
+![](images/figure-1.png)
**Figure 1**. Example pipeline
As seen in this code, new elements can be created
with `gst_element_factory_make()`. The first parameter is the type of
element to create ([Basic tutorial 14: Handy
-elements](tutorial-basic-handy-elements.md) shows a
+elements](tutorials/basic/handy-elements.md) shows a
few common types, and [Basic tutorial 10: GStreamer
-tools](tutorial-basic-gstreamer-tools.md) shows how to
+tools](tutorials/basic/gstreamer-tools.md) shows how to
obtain the list of all available types). The second parameter is the
name we want to give to this particular instance. Naming your elements
is useful to retrieve them later if you didn't keep a pointer (and for
The names and possible values of all the properties an element exposes
can be found using the gst-inspect-1.0 tool described in [Basic tutorial 10:
-GStreamer tools](tutorial-basic-gstreamer-tools.md).
+GStreamer tools](tutorials/basic/gstreamer-tools.md).
### Error checking
We call `gst_element_set_state()`, but this time we check its return
value for errors. Changing states is a delicate process and a few more
details are given in [Basic tutorial 3: Dynamic
-pipelines](tutorial-basic-dynamic-pipelines.md).
+pipelines](tutorials/basic/dynamic-pipelines.md).
``` c
/* Wait until error or EOS */
The rest of the code is the cleanup sequence, which is the same as
in [Basic tutorial 1: Hello
-world!](tutorial-basic-hello-world.md).
+world!](tutorials/basic/hello-world.md).
## Exercise
“negotiation” error, because the sink does not understand what the
filter is producing (more about negotiation in [Basic tutorial 6: Media
formats and Pad
-Capabilities](tutorial-basic-media-formats-and-pad-capabilities.md)).
+Capabilities](tutorials/basic/media-formats-and-pad-capabilities.md)).
In this case, try to add an element called `videoconvert` after the
filter (this is, build a pipeline of 4 elements. More on
`videoconvert` in [Basic tutorial 14: Handy
-elements](tutorial-basic-handy-elements.md)).
+elements](tutorials/basic/handy-elements.md)).
## Conclusion