From 6cdcdcd2d9fc6e12803d1a3151084fbf9e631819 Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Sun, 5 Jun 2016 22:54:27 +0200 Subject: [PATCH] Start really cleaning up --- Basic+tutorial+1+Hello+world.markdown | 37 +++++---------------------- Basic+tutorials.markdown | 6 +++-- TODO.markdown | 2 +- examples/basic-tutorial-1.c | 28 ++++++++++++++++++++ 4 files changed, 39 insertions(+), 34 deletions(-) create mode 100644 examples/basic-tutorial-1.c diff --git a/Basic+tutorial+1+Hello+world.markdown b/Basic+tutorial+1+Hello+world.markdown index 9157950830..9e5ebd34a9 100644 --- a/Basic+tutorial+1+Hello+world.markdown +++ b/Basic+tutorial+1+Hello+world.markdown @@ -1,4 +1,8 @@ -# Basic tutorial 1: Hello world! +--- +short-description: The mandatory 'Hello world' example +... + +# Hello world! ## Goal @@ -21,36 +25,7 @@ in the SDK installation). **basic-tutorial-1.c** -``` lang=c -#include - -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, diff --git a/Basic+tutorials.markdown b/Basic+tutorials.markdown index 1eba6e9cb1..e188d15dbb 100644 --- a/Basic+tutorials.markdown +++ b/Basic+tutorials.markdown @@ -1,6 +1,8 @@ -# 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. diff --git a/TODO.markdown b/TODO.markdown index a290f67a91..e10ee460fc 100644 --- a/TODO.markdown +++ b/TODO.markdown @@ -4,7 +4,6 @@ This is just a simple TODO list to follow progress of the port from 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 @@ -62,6 +61,7 @@ Code: Reviewed pages: - Home.markdown + - Basic+tutorials.markdown - Installing+the+SDK.markdown - Installing+for+Android+development.markdown - Building+from+source+using+Cerbero.markdown diff --git a/examples/basic-tutorial-1.c b/examples/basic-tutorial-1.c new file mode 100644 index 0000000000..b6b15756c0 --- /dev/null +++ b/examples/basic-tutorial-1.c @@ -0,0 +1,28 @@ +#include + +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; +}