mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-21 21:46:22 +00:00
Start really cleaning up
This commit is contained in:
parent
600e5c0e36
commit
6cdcdcd2d9
4 changed files with 39 additions and 34 deletions
|
@ -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 <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,
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
28
examples/basic-tutorial-1.c
Normal file
28
examples/basic-tutorial-1.c
Normal file
|
@ -0,0 +1,28 @@
|
|||
#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;
|
||||
}
|
Loading…
Reference in a new issue