-# Basic tutorial 1: Hello world!
+---
+short-description: The mandatory 'Hello world' example
+...
+
+# Hello world!
## Goal
**basic-tutorial-1.c**
-``` lang=c
-#include <gst/gst.h>
-
-int main(int argc, char *argv[]) {
- GstElement *pipeline;
- GstBus *bus;
- GstMessage *msg;
-
- /* Initialize GStreamer */
- gst_init (&argc, &argv);
-
- /* Build the pipeline */
- pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL);
-
- /* Start playing */
- gst_element_set_state (pipeline, GST_STATE_PLAYING);
-
- /* Wait until error or EOS */
- bus = gst_element_get_bus (pipeline);
- msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
-
- /* Free resources */
- if (msg != NULL)
- gst_message_unref (msg);
- gst_object_unref (bus);
- gst_element_set_state (pipeline, GST_STATE_NULL);
- gst_object_unref (pipeline);
- return 0;
-}
-```
+{{ examples/basic-tutorial-1.c }}
Compile it as described in [Installing on Linux], [Installing on Mac OS
X] or [Installing on Windows]. If you get compilation errors,
-# Basic tutorials
+---
+short-description: General topics required to understand the rest of the tutorials
+...
-## Welcome to the GStreamer SDK Basic tutorials
+# Basic tutorials
These tutorials describe general topics required to understand the rest
of tutorials in the GStreamer SDK.
gstreamer.com content to hotdoc
Pages to review:
- - Basic+tutorials.markdown
- Basic+tutorial+2+GStreamer+concepts.markdown
- Basic+tutorial+3+Dynamic+pipelines.markdown
- Basic+tutorial+4+Time+management.markdown
Reviewed pages:
- Home.markdown
+ - Basic+tutorials.markdown
- Installing+the+SDK.markdown
- Installing+for+Android+development.markdown
- Building+from+source+using+Cerbero.markdown
--- /dev/null
+#include <gst/gst.h>
+
+int main(int argc, char *argv[]) {
+ GstElement *pipeline;
+ GstBus *bus;
+ GstMessage *msg;
+
+ /* Initialize GStreamer */
+ gst_init (&argc, &argv);
+
+ /* Build the pipeline */
+ pipeline = gst_parse_launch ("playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm", NULL);
+
+ /* Start playing */
+ gst_element_set_state (pipeline, GST_STATE_PLAYING);
+
+ /* Wait until error or EOS */
+ bus = gst_element_get_bus (pipeline);
+ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
+
+ /* Free resources */
+ if (msg != NULL)
+ gst_message_unref (msg);
+ gst_object_unref (bus);
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ gst_object_unref (pipeline);
+ return 0;
+}