Remove all reference to the SDK in pages names

This commit is contained in:
Thibault Saunier 2016-10-21 10:23:28 -03:00
parent cd3a242aa1
commit 09d6b9fff3
72 changed files with 281 additions and 281 deletions

10
TODO.md
View file

@ -5,13 +5,13 @@ gstreamer.com content to hotdoc
Pages to review:
- [installing]
- sdk-installing-on-windows.md
- installing-on-windows.md
For-later pages:
- sdk-qt-tutorials.md [tpm: this should all be rewritten from scratch with qmlglsink; QtGStreamer is outdated and unmaintained, we should not promote it]
- sdk-basic-media-player.md
- sdk-qt-gstreamer-vs-c-gstreamer.md
- sdk-using-appsink-appsrc-in-qt.md
- tutorial-qt-tutorials.md [tpm: this should all be rewritten from scratch with qmlglsink; QtGStreamer is outdated and unmaintained, we should not promote it]
- basic-media-player.md
- qt-gstreamer-vs-c-gstreamer.md
- using-appsink-appsrc-in-qt.md
Deleted pages:

View file

@ -238,4 +238,4 @@ To cross compile for iOS from OS X, use the configuration file
[Windows Driver Kit 7.1.0]: http://msdn.microsoft.com/en-us/windows/hardware/hh852365
[XCode]: https://developer.apple.com/devcenter/ios/index.action#downloads
[here]: http://www.freedesktop.org/software/gstreamer-sdk/cerbero.cbc.template
[Installing GStreamer]: sdk-installing.md
[Installing GStreamer]: installing.md

View file

@ -1,7 +1,7 @@
# Mac OS X deployment
This page explains how to deploy GStreamer along your application. There
are different mechanisms, which have been reviewed in [](sdk-deploying-your-application.md). The details for some
are different mechanisms, which have been reviewed in [](deploying-your-application.md). The details for some
of the mechanisms are given here, and more options might be added to
this documentation in the future.
@ -17,7 +17,7 @@ are somewhat blurred.
With PackageMaker, simply add GStreamer **runtime ** disk image
([the same one you used to install the runtime in your development
machine](sdk-installing-on-mac-osx.md)) inside your installer
machine](installing-on-mac-osx.md)) inside your installer
package and create a post-install script that mounts the disk image and
installs GStreamer package. You can use the following example, where you
should replace `$INSTALL_PATH` with the path where your installer copied

View file

@ -12,11 +12,11 @@ add a recipe explaining how to build you application and make it depend
on the `gstreamer-sdk` project. Then Cerbero can take care of building
your application and its dependencies and package them all together.
Read [](sdk-building-from-source-using-cerbero.md) to learn how
Read [](building-from-source-using-cerbero.md) to learn how
to install and use Cerbero.
At this point, after reading the Build from source section in
[](sdk-building-from-source-using-cerbero.md), you should be able to
[](building-from-source-using-cerbero.md), you should be able to
build GStreamer from source and are ready to create recipe and package
files for your application.
@ -115,7 +115,7 @@ class Recipe(recipe.Recipe):
Cerbero gets the software sources to build from a GIT repository, which
is specified via the `git_root` configuration variable from the Cerbero
configuration file (see the "Build from software" section in [Installing
on Linux](sdk-installing-on-linux.md)) and can be overridden by the
on Linux](installing-on-linux.md)) and can be overridden by the
`remotes` attribute inside the recipes (if setting the `origin` remote).
In this case where no “commit” attribute is specified, Cerbero will use
the commit named “sdk-0.2+git” from the GIT repository when building

View file

@ -2,7 +2,7 @@
This page explains how to deploy GStreamer along your
application. There are different mechanisms, which have been reviewed
in [](sdk-deploying-your-application.md). The details for some of the
in [](deploying-your-application.md). The details for some of the
mechanisms are given here, and more options might be added to this
documentation in the future.
@ -15,7 +15,7 @@ among all applications that use it, though, the extra space requirements
are somewhat blurred.
Simply pack GStreamer **runtime** installer ([the same one you
installed in your development machine](sdk-installing-on-windows.md))
installed in your development machine](installing-on-windows.md))
inside your installer (or download it from your installer) and execute
it silently using `msiexec`. `msiexec` is the tool that wraps most of
the Windows Installer functionality and offers a number of options to

View file

@ -122,7 +122,7 @@ The following pages give further directions for some of the above
options.
- Platform-specific packaging methods:
- For [Mac OS X](sdk-mac-osx-deployment.md)
- For [Windows](sdk-windows-deployment.md)
- For [Mac OS X](deploying-mac-osx.md)
- For [Windows](deploying-windows.md)
- [Multiplatform deployment using
Cerbero](sdk-multiplatform-deployment-using-cerbero.md)
Cerbero](deploying-multiplatform-using-cerbero.md)

View file

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View file

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View file

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View file

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

View file

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 159 KiB

View file

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 211 KiB

View file

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View file

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -293,7 +293,7 @@ and used as follows:
| `GSTREAMER_PLUGINS_ENCODING` | encodebin |
| `GSTREAMER_PLUGINS_GES` | nle |
Build and run your application as explained in the [Building the tutorial](sdk-installing-for-android-development.md#building-the-tutorials) section.
Build and run your application as explained in the [Building the tutorial](installing-for-android-development.md#building-the-tutorials) section.
[information]: images/icons/emoticons/information.png
[Android SDK]: http://developer.android.com/sdk/index.html

View file

@ -85,4 +85,4 @@ keep development consistent across all the platforms the SDK supports.
Once a project has been created using a GStreamer SDK Template, it is
ready to build and run. All necessary infrastructure is already in
place. To understand what files have been created and how they interact,
take a look at the [iOS tutorials](sdk-ios-tutorials.md).
take a look at the [iOS tutorials](tutorials-ios.md).

View file

@ -51,7 +51,7 @@ There are 3 sets of files in GStreamer binaries:
Modules](http://msdn.microsoft.com/en-us/library/windows/desktop/aa369820%28v=vs.85%29.aspx)
files are **additional** files you can use to deploy GStreamer binaries
alongside your application (see [Windows
deployment](sdk-windows-deployment.md)).
deployment](deploying-windows.md)).
Get **the Runtime and Development files** installers appropriate for
your architecture from here:

View file

@ -6,10 +6,10 @@ short-description: Download and install GStreamer
## Choose your platform by clicking on the corresponding logo
[![](attachments/mac.png)](sdk-installing-on-mac-osx.md)
[![](attachments/windows.png)](sdk-installing-on-windows.md)
[![](attachments/android.png)](sdk-installing-for-android-development.md)
[![](attachments/ios.jpeg)](sdk-installing-for-ios-development.md)
[![](attachments/mac.png)](installing-on-mac-osx.md)
[![](attachments/windows.png)](installing-on-windows.md)
[![](attachments/android.png)](installing-for-android-development.md)
[![](attachments/ios.jpeg)](installing-for-ios-development.md)
## Linux
@ -20,4 +20,4 @@ environments, you will just need to make sure you have the development
packages installed (refer to your distribution documentation for more
information). If you really want to run upstream style binaries on
Linux, you can always follow the instructions to [build from source
using cerbero](sdk-building-from-source-using-cerbero.md).
using cerbero](building-from-source-using-cerbero.md).

View file

@ -1,11 +1,11 @@
index.md
sdk-installing.md
sdk-installing-for-android-development.md
sdk-installing-for-ios-development.md
sdk-installing-on-mac-osx.md
sdk-installing-on-windows.md
sdk-installing-on-linux.md
sdk-building-from-source-using-cerbero.md
installing.md
installing-for-android-development.md
installing-for-ios-development.md
installing-on-mac-osx.md
installing-on-windows.md
installing-on-linux.md
building-from-source-using-cerbero.md
manual-index.md
manual-introduction.md
manual-gstreamer.md
@ -40,54 +40,54 @@ index.md
manual-integration.md
manual-licensing.md
manual-quotes.md
sdk-tutorials.md
sdk-basic-tutorials.md
sdk-basic-tutorial-hello-world.md
sdk-basic-tutorial-concepts.md
sdk-basic-tutorial-dynamic-pipelines.md
sdk-basic-tutorial-time-management.md
sdk-basic-tutorial-toolkit-integration.md
sdk-basic-tutorial-media-formats-and-pad-capabilities.md
sdk-basic-tutorial-multithreading-and-pad-availability.md
sdk-basic-tutorial-short-cutting-the-pipeline.md
sdk-basic-tutorial-media-information-gathering.md
sdk-basic-tutorial-gstreamer-tools.md
sdk-basic-tutorial-debugging-tools.md
sdk-basic-tutorial-streaming.md
sdk-basic-tutorial-playback-speed.md
sdk-basic-tutorial-handy-elements.md
sdk-basic-tutorial-platform-specific-elements.md
sdk-playback-tutorials.md
sdk-playback-tutorial-playbin-usage.md
sdk-playback-tutorial-subtitle-management.md
sdk-playback-tutorial-short-cutting-the-pipeline.md
sdk-playback-tutorial-progressive-streaming.md
sdk-playback-tutorial-color-balance.md
sdk-playback-tutorial-audio-visualization.md
sdk-playback-tutorial-custom-playbin-sinks.md
sdk-playback-tutorial-hardware-accelerated-video-decoding.md
sdk-playback-tutorial-digital-audio-pass-through.md
sdk-android-tutorials.md
sdk-android-tutorial-link-against-gstreamer.md
sdk-android-tutorial-a-running-pipeline.md
sdk-android-tutorial-video.md
sdk-android-tutorial-media-player.md
sdk-android-tutorial-a-complete-media-player.md
sdk-ios-tutorials.md
sdk-ios-tutorial-link-against-gstreamer.md
sdk-ios-tutorial-a-running-pipeline.md
sdk-ios-tutorial-video.md
sdk-ios-tutorial-a-basic-media-player.md
sdk-ios-tutorial-a-complete-media-player.md
sdk-table-of-concepts.md
sdk-deploying-your-application.md
sdk-mac-osx-deployment.md
sdk-windows-deployment.md
sdk-multiplatform-deployment-using-cerbero.md
tutorials.md
tutorials-basic.md
tutorial-basic-hello-world.md
tutorial-basic-concepts.md
tutorial-basic-dynamic-pipelines.md
tutorial-basic-time-management.md
tutorial-basic-toolkit-integration.md
tutorial-basic-media-formats-and-pad-capabilities.md
tutorial-basic-multithreading-and-pad-availability.md
tutorial-basic-short-cutting-the-pipeline.md
tutorial-basic-media-information-gathering.md
tutorial-basic-gstreamer-tools.md
tutorial-basic-debugging-tools.md
tutorial-basic-streaming.md
tutorial-basic-playback-speed.md
tutorial-basic-handy-elements.md
tutorial-basic-platform-specific-elements.md
tutorials-playback.md
tutorial-playback-playbin-usage.md
tutorial-playback-subtitle-management.md
tutorial-playback-short-cutting-the-pipeline.md
tutorial-playback-progressive-streaming.md
tutorial-playback-color-balance.md
tutorial-playback-audio-visualization.md
tutorial-playback-custom-playbin-sinks.md
tutorial-playback-hardware-accelerated-video-decoding.md
tutorial-playback-digital-audio-pass-through.md
tutorials-android.md
tutorial-android-link-against-gstreamer.md
tutorial-android-a-running-pipeline.md
tutorial-android-video.md
tutorial-android-media-player.md
tutorial-android-a-complete-media-player.md
tutorials-ios.md
tutorial-ios-link-against-gstreamer.md
tutorial-ios-a-running-pipeline.md
tutorial-ios-video.md
tutorial-ios-a-basic-media-player.md
tutorial-ios-a-complete-media-player.md
table-of-concepts.md
deploying-your-application.md
deploying-mac-osx.md
deploying-windows.md
deploying-multiplatform-using-cerbero.md
gstreamer-command-line-tools.md
gst-inspect.md
gst-launch.md
ges-launch.md
tool-gst-inspect.md
tool-gst-launch.md
tool-ges-launch.md
pwg-index.md
pwg-introduction.md
pwg-intro-preface.md

View file

@ -28,16 +28,16 @@ concepts is discussed.
- Tools: [Basic tutorial 10: GStreamer tools]
- Threads: [Basic tutorial 7: Multithreading and Pad Availability]
[Playback tutorial 1: Playbin usage]: sdk-playback-tutorial-playbin-usage.md
[Basic tutorial 8: Short-cutting the pipeline]: sdk-basic-tutorial-short-cutting-the-pipeline.md
[Basic tutorial 2: GStreamer concepts]: sdk-basic-tutorial-concepts.md
[Basic tutorial 6: Media formats and Pad Capabilities]: sdk-basic-tutorial-media-formats-and-pad-capabilities.md
[Basic tutorial 11: Debugging tools]: sdk-basic-tutorial-debugging-tools.md
[Basic tutorial 9: Media information gathering]: sdk-basic-tutorial-media-information-gathering.md
[Basic tutorial 10: GStreamer tools]: sdk-basic-tutorial-gstreamer-tools.md
[gst-launch-1.0]: gst-launch.md
[Basic tutorial 5: GUI toolkit integration]: sdk-basic-tutorial-toolkit-integration.md
[Basic tutorial 3: Dynamic pipelines]: sdk-basic-tutorial-dynamic-pipelines.md
[Basic tutorial 7: Multithreading and Pad Availability]: sdk-basic-tutorial-multithreading-and-pad-availability.md
[Basic tutorial 4: Time management]: sdk-basic-tutorial-time-management.md
[Playback tutorial 2: Subtitle management]: sdk-playback-tutorial-subtitle-management.md
[Playback tutorial 1: Playbin usage]: tutorial-playback-playbin-usage.md
[Basic tutorial 8: Short-cutting the pipeline]: tutorial-basic-short-cutting-the-pipeline.md
[Basic tutorial 2: GStreamer concepts]: tutorial-basic-concepts.md
[Basic tutorial 6: Media formats and Pad Capabilities]: tutorial-basic-media-formats-and-pad-capabilities.md
[Basic tutorial 11: Debugging tools]: tutorial-basic-debugging-tools.md
[Basic tutorial 9: Media information gathering]: tutorial-basic-media-information-gathering.md
[Basic tutorial 10: GStreamer tools]: tutorial-basic-gstreamer-tools.md
[gst-launch-1.0]: tool-gst-launch.md
[Basic tutorial 5: GUI toolkit integration]: tutorial-basic-toolkit-integration.md
[Basic tutorial 3: Dynamic pipelines]: tutorial-basic-dynamic-pipelines.md
[Basic tutorial 7: Multithreading and Pad Availability]: tutorial-basic-multithreading-and-pad-availability.md
[Basic tutorial 4: Time management]: tutorial-basic-time-management.md
[Playback tutorial 2: Subtitle management]: tutorial-playback-subtitle-management.md

View file

@ -9,7 +9,7 @@ be done with GStreamer in the Android platform.
It is intended to be downloaded in final, compiled, form rather than
analyzed for its pedagogical value, since it adds very little GStreamer
knowledge over what has already been shown in [](sdk-android-tutorial-media-player.md).
knowledge over what has already been shown in [](tutorial-android-media-player.md).
**FIXME: Do we want to provide a binary of the app?**
@ -56,7 +56,7 @@ retrieved and checked for such URI.
## Implementing a file chooser dialog
The UI includes a new button ![media-next) which
was not present in [](sdk-android-tutorial-media-player.md). It
was not present in [](tutorial-android-media-player.md). It
invokes a file chooser dialog (based on the [Android File
Dialog](http://code.google.com/p/android-file-dialog/) project) that
allows you to choose a local media file, no matter what extension or
@ -88,5 +88,5 @@ Android.
It has been a pleasure having you here, and see you soon!
[screenshot]: images/sdk-android-tutorial-a-complete-media-player-screenshot.png
[screenshot]: images/tutorial-android-a-complete-media-player-screenshot.png
[media-next]: images/media-next.png

View file

@ -4,8 +4,8 @@
![screenshot]
The tutorials seen in the [Basic](sdk-basic-tutorials.md) and
[Playback](sdk-playback-tutorials.md) sections are intended for Desktop
The tutorials seen in the [Basic](tutorials-basic.md) and
[Playback](tutorials-playback.md) sections are intended for Desktop
platforms and, therefore, their main thread is allowed to block (using
`gst_bus_pop_filtered()`) or relinquish control to a GLib main loop. On
Android this would lead to the application being tagged as
@ -1047,4 +1047,4 @@ tutorials with minimal modifications, so better get used to them\!
As usual, it has been a pleasure having you here, and see you soon\!
[screenshot]: images/sdk-android-tutorial-a-running-pipeline-screenshot.png
[screenshot]: images/tutorial-android-a-running-pipeline-screenshot.png

View file

@ -15,7 +15,7 @@ The tutorial code is in the [gst-docs](https://cgit.freedesktop.org/gstreamer/gs
a `jni` folder for the C code and a `res` folder for UI resources.
We recommend that you open this project in Eclipse (as explained
in [](sdk-installing-for-android-development.md)) so you can
in [](installing-for-android-development.md)) so you can
easily see how all the pieces fit together.
Lets first introduce the Java code, then the C code and finally the
@ -278,4 +278,4 @@ taken when developing specifically for the Android platform.
As usual, it has been a pleasure having you here, and see you soon\!
[screenshot]: images/sdk-android-tutorial-link-against-gstreamer-screenshot.png
[screenshot]: images/tutorial-android-link-against-gstreamer-screenshot.png

View file

@ -14,7 +14,7 @@ Android device. It shows:
Bar](http://developer.android.com/reference/android/widget/SeekBar.html)
- How to report the media size to adapt the display surface
It also uses the knowledge gathered in the [](sdk-basic-tutorials.md) regarding:
It also uses the knowledge gathered in the [](tutorials-basic.md) regarding:
- How to use `playbin` to play any kind of media
- How to handle network resilience problems
@ -26,7 +26,7 @@ to build a media player. The most complex part is assembling a pipeline
which retrieves, decodes and displays the media, but we already know
that the `playbin` element can take care of all that for us. We only
need to replace the manual pipeline we used in
[](sdk-android-tutorial-video.md) with a single-element
[](tutorial-android-video.md) with a single-element
`playbin` pipeline and we are good to go!
However, we can do better than. We will add a [Seek
@ -344,14 +344,14 @@ charge of displaying the media, and ask the Android layout to be
recalculated. Eventually, the `onMeasure()` method in
GStreamerSurfaceView will be called and the new size will be taken
into account. As we have already seen in
[](sdk-android-tutorial-a-running-pipeline.md), methods which change
[](tutorial-android-a-running-pipeline.md), methods which change
the UI must be called from the main thread, and we are now in a
callback from some GStreamer internal thread. Hence, the usage of
[runOnUiThread()](http://developer.android.com/reference/android/app/Activity.html#runOnUiThread\(java.lang.Runnable\)).
### Refreshing the Seek Bar
[](sdk-basic-tutorial-toolkit-integration.md)
[](tutorial-basic-toolkit-integration.md)
has already shown how to implement a [Seek
Bar](http://developer.android.com/reference/android/widget/SeekBar.html) using
the GTK+ toolkit. The implementation on Android is very similar.
@ -1193,7 +1193,7 @@ static gboolean refresh_ui (CustomData *data) {
```
If it is unknown, the clip duration is retrieved, as explained in
[](sdk-basic-tutorial-time-management.md). The current position is
[](tutorial-basic-time-management.md). The current position is
retrieved next, and the UI is informed of both through its
`setCurrentPosition()` callback.
@ -1333,7 +1333,7 @@ The one-shot timer calls `delayed_seek_cb()`, which simply calls
### Network resilience
[](sdk-basic-tutorial-streaming.md) has already
[](tutorial-basic-streaming.md) has already
shown how to adapt to the variable nature of the network bandwidth by
using buffering. The same procedure is used here, by listening to the
buffering
@ -1408,5 +1408,5 @@ here into an acceptable Android media player.
As usual, it has been a pleasure having you here, and see you soon!
[screenshot]: images/sdk-android-tutorial-media-player-screenshot.png
[screenshot]: images/tutorial-android-media-player-screenshot.png
[information]: images/icons/emoticons/information.png

View file

@ -4,7 +4,7 @@
![screenshot]
Except for [](sdk-basic-tutorial-toolkit-integration.md),
Except for [](tutorial-basic-toolkit-integration.md),
which embedded a video window on a GTK application, all tutorials so far
relied on GStreamer video sinks to create a window to display their
contents. The video sink on Android is not capable of creating its own
@ -21,7 +21,7 @@ Since Android does not provide a windowing system, a GStreamer video
sink cannot create pop-up windows as it would do on a Desktop platform.
Fortunately, the `VideoOverlay` interface allows providing video sinks with
an already created window onto which they can draw, as we have seen in
[](sdk-basic-tutorial-toolkit-integration.md).
[](tutorial-basic-toolkit-integration.md).
In this tutorial, a
[SurfaceView](http://developer.android.com/reference/android/view/SurfaceView.html)
@ -650,7 +650,7 @@ ask for it immediately.
The `gst_bin_get_by_interface()` method will examine the whole pipeline
and return a pointer to an element which supports the requested
interface. We are asking for the `VideoOverlay` interface, explained in
[](sdk-basic-tutorial-toolkit-integration.md),
[](tutorial-basic-toolkit-integration.md),
which controls how to perform rendering into foreign (non-GStreamer)
windows. The internal video sink instantiated by `autovideosink` is the
only element in this pipeline implementing it, so it will be returned.
@ -910,4 +910,4 @@ to this tutorial in order to build a simple media player.
It has been a pleasure having you here, and see you soon\!
[screenshot]: images/sdk-android-tutorial-video-screenshot.png
[screenshot]: images/tutorial-android-video-screenshot.png

View file

@ -104,11 +104,11 @@ int main(int argc, char *argv[]) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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
>
@ -139,9 +139,9 @@ sink = gst_element_factory_make ("autovideosink", "sink");
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](sdk-basic-tutorial-handy-elements.md) shows a
elements](tutorial-basic-handy-elements.md) shows a
few common types, and [Basic tutorial 10: GStreamer
tools](sdk-basic-tutorial-gstreamer-tools.md) shows how to
tools](tutorial-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
@ -225,7 +225,7 @@ values!
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](sdk-basic-tutorial-gstreamer-tools.md).
GStreamer tools](tutorial-basic-gstreamer-tools.md).
### Error checking
@ -246,7 +246,7 @@ if (ret == GST_STATE_CHANGE_FAILURE) {
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](sdk-basic-tutorial-dynamic-pipelines.md).
pipelines](tutorial-basic-dynamic-pipelines.md).
``` c
/* Wait until error or EOS */
@ -311,7 +311,7 @@ playback-related issues.
The rest of the code is the cleanup sequence, which is the same as
in [Basic tutorial 1: Hello
world!](sdk-basic-tutorial-hello-world.md).
world!](tutorial-basic-hello-world.md).
## Exercise
@ -324,11 +324,11 @@ Depending on your platform and available plugins, you might get a
“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](sdk-basic-tutorial-media-formats-and-pad-capabilities.md)).
Capabilities](tutorial-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](sdk-basic-tutorial-handy-elements.md)).
elements](tutorial-basic-handy-elements.md)).
## Conclusion

View file

@ -8,7 +8,7 @@ information becomes available, instead of having a monolithic pipeline
defined at the beginning of your application.
After this tutorial, you will have the necessary knowledge to start the
[Playback tutorials](sdk-playback-tutorials.md). The points reviewed
[Playback tutorials](tutorials-playback.md). The points reviewed
here will be:
- How to attain finer control when linking elements.
@ -240,10 +240,10 @@ exit:
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-3.c -o basic-tutorial-3 `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](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 only plays audio. The media is fetched from the Internet, so it might take a few seconds to start, depending on your connection speed.
>
@ -338,7 +338,7 @@ for this purpose.
The signals that a `GstElement` generates can be found in its
documentation or using the `gst-inspect-1.0` tool as described in [Basic
tutorial 10: GStreamer
tools](sdk-basic-tutorial-gstreamer-tools.md).
tools](tutorial-basic-gstreamer-tools.md).
We are now ready to go! Just set the pipeline to the PLAYING state and
start listening to the bus for interesting messages (like ERROR or EOS),
@ -493,10 +493,10 @@ front) and link it to the demuxer when the right pad appears. Hint: You
are already printing on screen the type of the video pads.
You should now see (and hear) the same movie as in [Basic tutorial 1:
Hello world!](sdk-basic-tutorial-hello-world.md). In
Hello world!](tutorial-basic-hello-world.md). In
that tutorial you used `playbin`, which is a handy element that
automatically takes care of all the demuxing and pad linking for you.
Most of the [Playback tutorials](sdk-playback-tutorials.md) are devoted
Most of the [Playback tutorials](tutorials-playback.md) are devoted
to `playbin`.
## Conclusion
@ -513,8 +513,8 @@ media was available.
You can now continue with the basic tutorials and learn about performing
seeks and time-related queries in [Basic tutorial 4: Time
management](sdk-basic-tutorial-time-management.md) or move
to the [Playback tutorials](sdk-playback-tutorials.md), and gain more
management](tutorial-basic-time-management.md) or move
to the [Playback tutorials](tutorials-playback.md), and gain more
insight about the `playbin` element.
Remember that attached to this page you should find the complete source

View file

@ -21,7 +21,7 @@ polluting it too much).
Just open a terminal (or console window) and go to the `bin` directory
of your GStreamer installation (Read again the [Installing
GStreamer](sdk-installing.md) section to find our where this is),
GStreamer](installing.md) section to find our where this is),
and you are ready to start typing the commands given in this tutorial.
@ -63,7 +63,7 @@ descriptions resemble black magic. Fear not, for everyone learns the
The command line for gst-launch-1.0 consists of a list of options followed
by a PIPELINE-DESCRIPTION. Some simplified instructions are given next,
se the complete documentation at [the reference page](gst-launch.md)
se the complete documentation at [the reference page](tool-gst-launch.md)
for `gst-launch-1.0`.
### Elements
@ -122,14 +122,14 @@ If you see only one, try to move it, since it is probably on top of the
second window.
This example instantiates a `videotestsrc`, linked to a
`videoconvert`, linked to a `tee` (Remember from [](sdk-basic-tutorial-multithreading-and-pad-availability.md) that
`videoconvert`, linked to a `tee` (Remember from [](tutorial-basic-multithreading-and-pad-availability.md) that
a `tee` copies to each of its output pads everything coming through its
input pad). The `tee` is named simply t (using the `name` property)
and then linked to a `queue` and an `autovideosink`. The same `tee` is
referred to using t. (mind the dot) and then linked to a second
`queue` and a second `autovideosink`.
To learn why the queues are necessary read [](sdk-basic-tutorial-multithreading-and-pad-availability.md).
To learn why the queues are necessary read [](tutorial-basic-multithreading-and-pad-availability.md).
### Pads
@ -148,7 +148,7 @@ gst-launch-1.0 souphttpsrc location=https://www.freedesktop.org/software/gstream
```
This fetches a media file from the internet using `souphttpsrc`, which
is in webm format (a special kind of Matroska container, see [](sdk-basic-tutorial-concepts.md)). We
is in webm format (a special kind of Matroska container, see [](tutorial-basic-concepts.md)). We
then open the container using `matroskademux`. This media contains both
audio and video, so `matroskademux` will create two output Pads, named
`video_00` and `audio_00`. We link `video_00` to a `matroskamux` element
@ -219,7 +219,7 @@ producing for a particular pipeline, run `gst-launch-1.0` as usual, with the
### Examples
Play a media file using `playbin` (as in [](sdk-basic-tutorial-hello-world.md)):
Play a media file using `playbin` (as in [](tutorial-basic-hello-world.md)):
```
gst-launch-1.0 playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm
@ -254,7 +254,7 @@ gst-launch-1.0 uridecodebin uri=https://www.freedesktop.org/software/gstreamer-s
This short description of `gst-launch-1.0` should be enough to get you
started. Remember that you have the [complete documentation available
here](gst-launch.md).
here](tool-gst-launch.md).
## `gst-inspect-1.0`
@ -369,11 +369,11 @@ The most relevant sections are:
element, along with their type and accepted values.
For more information, you can check the [documentation
page](gst-inspect.md) of `gst-inspect-1.0`.
page](tool-gst-inspect.md) of `gst-inspect-1.0`.
## `gst-discoverer-1.0`
This tool is a wrapper around the `GstDiscoverer` object shown in [](sdk-basic-tutorial-media-information-gathering.md).
This tool is a wrapper around the `GstDiscoverer` object shown in [](tutorial-basic-media-information-gathering.md).
It accepts a URI from the command line and prints all information
regarding the media that GStreamer can extract. It is useful to find out
what container and codecs have been used to produce the media, and

View file

@ -9,7 +9,7 @@ elements which are extremely useful when debugging.
For simplicity, the following examples are given using the
`gst-launch-1.0` tool (Learn about it in
[](sdk-basic-tutorial-gstreamer-tools.md)). Use the `-v` command line
[](tutorial-basic-gstreamer-tools.md)). Use the `-v` command line
parameter if you want to see the Pad Caps that are being negotiated.
## Bins
@ -23,7 +23,7 @@ their task.
This element has been extensively used throughout the tutorials. It
manages all aspects of media playback, from source to display, passing
through demuxing and decoding. It is so flexible and has so many options
that a whole set of tutorials are devoted to it. See the [](sdk-playback-tutorials.md) for more details.
that a whole set of tutorials are devoted to it. See the [](tutorials-playback.md) for more details.
### `uridecodebin`
@ -228,7 +228,7 @@ Most of the time, `audiorate` is not what you want.
### `queue`
Queues have been explained in [](sdk-basic-tutorial-multithreading-and-pad-availability.md). Basically, a queue performs two tasks:
Queues have been explained in [](tutorial-basic-multithreading-and-pad-availability.md). Basically, a queue performs two tasks:
- Data is queued until a selected limit is reached. Any attempt to
push more buffers into the queue blocks the pushing thread until
@ -242,7 +242,7 @@ instructed to drop buffers instead of blocking when it is full.
As a rule of thumb, prefer the simpler `queue` element
over `queue2` whenever network buffering is not a concern to you.
See [](sdk-basic-tutorial-multithreading-and-pad-availability.md)
See [](tutorial-basic-multithreading-and-pad-availability.md)
for an example.
### `queue2`
@ -256,10 +256,10 @@ queue is the best choice.
additionally, is able to store the received data (or part of it) on a
disk file, for later retrieval. It also replaces the signals with the
more general and convenient buffering messages described in
[](sdk-basic-tutorial-streaming.md).
[](tutorial-basic-streaming.md).
As a rule of thumb, prefer `queue2` over `queue` whenever network
buffering is a concern to you. See [](sdk-basic-tutorial-streaming.md)
buffering is a concern to you. See [](tutorial-basic-streaming.md)
for an example (`queue2` is hidden inside `playbin`).
### `multiqueue`
@ -277,7 +277,7 @@ application.
### `tee`
[](sdk-basic-tutorial-multithreading-and-pad-availability.md) already
[](tutorial-basic-multithreading-and-pad-availability.md) already
showed how to use a `tee` element, which splits data to multiple pads.
Splitting the data flow is useful, for example, when capturing a video
where the video is shown on the screen and also encoded and written to a
@ -296,7 +296,7 @@ gst-launch-1.0 audiotestsrc ! tee name=t ! queue ! audioconvert ! autoaudiosink
## Capabilities
### `capsfilter`
[](sdk-basic-tutorial-gstreamer-tools.md) already
[](tutorial-basic-gstreamer-tools.md) already
explained how to use Caps filters with `gst-launch-1.0`. When building a
pipeline programmatically, Caps filters are implemented with
the `capsfilter` element. This element does not modify data as such,
@ -316,7 +316,7 @@ the `have-type` signal.
It is instantiated internally by `decodebin`, and you can use it too to
find the media type, although you can normally use the
`GstDiscoverer` which provides more information (as seen in
[](sdk-basic-tutorial-media-information-gathering.md)).
[](tutorial-basic-media-information-gathering.md)).
## Debugging

View file

@ -221,17 +221,17 @@ and show you how to build a pipeline manually.
It has been a pleasure having you here, and see you soon!
[Installing on Linux]: sdk-installing-on-linux.md
[Installing on Mac OS X]: sdk-installing-on-mac-osx.md
[Installing on Windows]: sdk-installing-on-windows.md
[Installing on Linux]: installing-on-linux.md
[Installing on Mac OS X]: installing-on-mac-osx.md
[Installing on Windows]: installing-on-windows.md
[Information]: images/icons/emoticons/information.png
[Linux]: sdk-installing-on-linux.md#InstallingonLinux-Build
[Mac OS X]: sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build
[Windows]: sdk-installing-on-windows.md#InstallingonWindows-Build
[1]: sdk-installing-on-linux.md#InstallingonLinux-Run
[2]: sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run
[3]: sdk-installing-on-windows.md#InstallingonWindows-Run
[Basic tutorial 12: Streaming]: sdk-basic-tutorial-streaming.md
[Basic tutorial 10: GStreamer tools]: sdk-basic-tutorial-gstreamer-tools.md
[Basic tutorial 2: GStreamer concepts]: sdk-basic-tutorial-concepts.md
[Basic tutorial 3: Dynamic pipelines]: sdk-basic-tutorial-dynamic-pipelines.md
[Linux]: installing-on-linux.md#InstallingonLinux-Build
[Mac OS X]: installing-on-mac-osx.md#InstallingonMacOSX-Build
[Windows]: installing-on-windows.md#InstallingonWindows-Build
[1]: installing-on-linux.md#InstallingonLinux-Run
[2]: installing-on-mac-osx.md#InstallingonMacOSX-Run
[3]: installing-on-windows.md#InstallingonWindows-Run
[Basic tutorial 12: Streaming]: tutorial-basic-streaming.md
[Basic tutorial 10: GStreamer tools]: tutorial-basic-gstreamer-tools.md
[Basic tutorial 2: GStreamer concepts]: tutorial-basic-concepts.md
[Basic tutorial 3: Dynamic pipelines]: tutorial-basic-dynamic-pipelines.md

View file

@ -100,7 +100,7 @@ indicate different packing and subsampling of the image planes.
### Last remarks
You can use the `gst-inspect-1.0` tool described in [Basic tutorial 10:
GStreamer tools](sdk-basic-tutorial-gstreamer-tools.md) to
GStreamer tools](tutorial-basic-gstreamer-tools.md) to
learn about the Caps of any GStreamer element.
Bear in mind that some elements query the underlying hardware for
@ -335,11 +335,11 @@ int main(int argc, char *argv[]) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-6.c -o basic-tutorial-6 `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](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 simply displays information regarding the Pad Capabilities in different time instants.
>
@ -466,7 +466,7 @@ This tutorial has shown:
- That Pad Caps can be found using the `gst-inspect-1.0` tool described
in [Basic tutorial 10: GStreamer
tools](sdk-basic-tutorial-gstreamer-tools.md).
tools](tutorial-basic-gstreamer-tools.md).
Next tutorial shows how data can be manually injected into and extracted
from the GStreamer pipeline.

View file

@ -66,7 +66,7 @@ command line, and outputs the retrieved information (If no URI is
provided it uses a default one).
This is a simplified version of what the `gst-discoverer-1.0` tool does
([](sdk-basic-tutorial-gstreamer-tools.md)), which is
([](tutorial-basic-gstreamer-tools.md)), which is
an application that only displays data, but does not perform any
playback.
@ -300,11 +300,11 @@ int main (int argc, char **argv) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-9.c -o basic-tutorial-9 `pkg-config --cflags --libs gstreamer-1.0 gstreamer-pbutils-1.0` ``
>
>If you need help to run this code, refer to the **Running the tutorials** section for your platform: [Linux](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 the URI passed as the first parameter in the command line (or a default URI if none is provided) and outputs information about it on the screen. If the media is located on the Internet, the application might take a bit to react depending on your connection speed.
>

View file

@ -56,7 +56,7 @@ there is only one thread, being blocked by the first sink.
### Request pads
In [Basic tutorial 3: Dynamic
pipelines](sdk-basic-tutorial-dynamic-pipelines.md) we saw
pipelines](tutorial-basic-dynamic-pipelines.md) we saw
an element (`uridecodebin`) which had no pads to begin with, and they
appeared as data started to flow and the element learned about the
media. These are called **Sometimes Pads**, and contrast with the
@ -179,11 +179,11 @@ int main(int argc, char *argv[]) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-7.c -o basic-tutorial-7 `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](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 plays an audible tone through the audio card and opens a window with a waveform representation of the tone. The waveform should be a sinusoid, but due to the refreshing of the window might not appear so.
>
@ -231,7 +231,7 @@ Small adjustments for better demonstration: The “freq” property of
appear almost stationary in the window), and this style and shader for
`wavescope` make the wave continuous. Use the `gst-inspect-1.0` tool
described in [Basic tutorial 10: GStreamer
tools](sdk-basic-tutorial-gstreamer-tools.md) to learn all
tools](tutorial-basic-gstreamer-tools.md) to learn all
the properties of these
elements.

View file

@ -51,7 +51,7 @@ This audio sink outputs to the sound card via
Architecture). This sink is available on almost every Linux platform. It
is often seen as a “low level” interface to the sound card, and can be
complicated to configure (See the comment on
[](sdk-playback-tutorial-digital-audio-pass-through.md)).
[](tutorial-playback-digital-audio-pass-through.md)).
### `pulsesink`
@ -117,7 +117,7 @@ that their pipelines cannot be interconnected. However, through this
element, GStreamer can benefit from the decoding elements present in
Direct Show. `dshowdecwrapper` wraps multiple Direct Show decoders so
they can be embedded in a GStreamer pipeline. Use the `gst-inspect-1.0` tool
(see [](sdk-basic-tutorial-gstreamer-tools.md)) to see the
(see [](tutorial-basic-gstreamer-tools.md)) to see the
available decoders.
## Android

View file

@ -30,7 +30,7 @@ media besides changing the subsequent playback rate (only to positive
values). Seek Events, additionally, allow jumping to any position in the
stream and set positive and negative playback rates.
In [](sdk-basic-tutorial-time-management.md) seek
In [](tutorial-basic-time-management.md) seek
events have already been shown, using a helper function to hide their
complexity. This tutorial explains a bit more how to use these events.
@ -216,11 +216,11 @@ int main(int argc, char *argv[]) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-13.c -o basic-tutorial-13 `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](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. The console shows the available commands, composed of a single upper-case or lower-case letter, which you should input followed by the Enter key.
>

View file

@ -12,7 +12,7 @@ any time, in a variety of ways. This tutorial shows:
- How to access and manipulate this data.
[](sdk-playback-tutorial-short-cutting-the-pipeline.md) explains
[](tutorial-playback-short-cutting-the-pipeline.md) explains
how to achieve the same goals in a playbin-based pipeline.
## Introduction
@ -68,7 +68,7 @@ this simplified vision should suffice for now.
As an example, a `filesrc` (a GStreamer element that reads files)
produces buffers with the “ANY” caps and no time-stamping information.
After demuxing (see [](sdk-basic-tutorial-dynamic-pipelines.md))
After demuxing (see [](tutorial-basic-dynamic-pipelines.md))
buffers can have some specific caps, for example “video/x-h264”. After
decoding, each buffer will contain a single video frame with raw caps
(for example, “video/x-raw-yuv”) and very precise time stamps indicating
@ -76,7 +76,7 @@ when should that frame be displayed.
### This tutorial
This tutorial expands [](sdk-basic-tutorial-multithreading-and-pad-availability.md) in
This tutorial expands [](tutorial-basic-multithreading-and-pad-availability.md) in
two ways: firstly, the `audiotestsrc` is replaced by an `appsrc` that
will generate the audio data. Secondly, a new branch is added to the
`tee` so data going into the audio sink and the wave display is also
@ -332,11 +332,11 @@ int main(int argc, char *argv[]) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-8.c -o basic-tutorial-8 `pkg-config --cflags --libs gstreamer-1.0 gst-audio-1.0` ``
>
>If you need help to run this code, refer to the **Running the tutorials** section for your platform: [Linux](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 plays an audible tone for varying frequency through the audio card and opens a window with a waveform representation of the tone. The waveform should be a sinusoid, but due to the refreshing of the window might not appear so.
>
@ -346,7 +346,7 @@ int main(int argc, char *argv[]) {
The code to create the pipeline (Lines 131 to 205) is an enlarged
version of [Basic tutorial 7: Multithreading and Pad
Availability](sdk-basic-tutorial-multithreading-and-pad-availability.md).
Availability](tutorial-basic-multithreading-and-pad-availability.md).
It involves instantiating all the elements, link the elements with
Always Pads, and manually link the Request Pads of the `tee` element.
@ -495,7 +495,7 @@ gst_buffer_unref (buffer);
```
Once we have the buffer ready, we pass it to `appsrc` with the
`push-buffer` action signal (see information box at the end of [](sdk-playback-tutorial-playbin-usage.md)), and then
`push-buffer` action signal (see information box at the end of [](tutorial-playback-playbin-usage.md)), and then
`gst_buffer_unref()` it since we no longer need it.
``` c
@ -534,7 +534,7 @@ This tutorial has shown how applications can:
- Manipulate this data by accessing the `GstBuffer`.
In a playbin-based pipeline, the same goals are achieved in a slightly
different way. [](sdk-playback-tutorial-short-cutting-the-pipeline.md) shows
different way. [](tutorial-playback-short-cutting-the-pipeline.md) shows
how to do it.
It has been a pleasure having you here, and see you soon\!

View file

@ -156,11 +156,11 @@ int main(int argc, char *argv[]) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-12.c -o basic-tutorial-12 `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](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. In the console window, you should see a buffering message, and playback should only start when the buffering reaches 100%. This percentage might not change at all if your connection is fast enough and buffering is not required.
>

View file

@ -197,11 +197,11 @@ static void handle_message (CustomData *data, GstMessage *msg) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-4.c -o basic-tutorial-4 `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](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. 10 seconds into the movie it skips to a new position
>
@ -231,7 +231,7 @@ move the message handling code to its own function
We would then build a pipeline composed of a single element, a
`playbin`, which we already saw in [Basic tutorial 1: Hello
world!](sdk-basic-tutorial-hello-world.md). However,
world!](tutorial-basic-hello-world.md). However,
`playbin` is in itself a pipeline, and in this case it is the only
element in the pipeline, so we use directly the `playbin` element. We
will skip the details: the URI of the clip is given to `playbin` via

View file

@ -456,16 +456,16 @@ int main(int argc, char *argv[]) {
> ![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](sdk-installing-on-linux.md#InstallingonLinux-Build), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Build) or [Windows](sdk-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-5.c -o basic-tutorial-5 `pkg-config --cflags --libs gstreamer-interfaces-1.0 gtk+-3.0 gstreamer-1.0``
>
>If you need help to run this code, refer to the **Running the tutorials** section for your platform: [Linux](sdk-installing-on-linux.md#InstallingonLinux-Run), [Mac OS X](sdk-installing-on-mac-osx.md#InstallingonMacOSX-Run) or [Windows](sdk-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 GTK+ window and displays a movie, with accompanying audio. The media is fetched from the Internet, so the window might take a few seconds to appear, depending on your connection speed. The Window has some GTK+ buttons to Pause, Stop and Play the movie, and a slider to show the current position of the stream, which can be dragged to change it. Also, information about the stream is shown on a column at the right edge of the window.
>
>
> Bear in mind that there is no latency management (buffering), so on slow connections, the movie might stop after a few seconds. See how [](sdk-basic-tutorial-streaming.md) solves this issue.
> Bear in mind that there is no latency management (buffering), so on slow connections, the movie might stop after a few seconds. See how [](tutorial-basic-streaming.md) solves this issue.
>
> Required libraries: `gstreamer-video-1.0 gtk+-3.0 gstreamer-1.0`
@ -562,7 +562,7 @@ g_signal_connect (G_OBJECT (bus), "message::application", (GCallback)application
gst_object_unref (bus);
```
In [](sdk-playback-tutorial-playbin-usage.md), `gst_bus_add_watch()` is
In [](tutorial-playback-playbin-usage.md), `gst_bus_add_watch()` is
used to register a function that receives every message posted to the
GStreamer bus. We can achieve a finer granularity by using signals
instead, which allow us to register only to the messages we are
@ -718,7 +718,7 @@ slider that allows seeking) can be very easily implemented thanks to
GStreamer and GTK+ collaborating. If the slider has been dragged to a
new position, tell GStreamer to seek to that position
with `gst_element_seek_simple()` (as seen in [Basic tutorial 4: Time
management](sdk-basic-tutorial-time-management.md)). The
management](tutorial-basic-time-management.md)). The
slider has been setup so its value represents seconds.
It is worth mentioning that some performance (and responsiveness) can be
@ -835,7 +835,7 @@ static void application_cb (GstBus *bus, GstMessage *msg, CustomData *data) {
```
Once me made sure it is the `tags-changed` message, we call the
`analyze_streams` function, which is also used in [](sdk-playback-tutorial-playbin-usage.md) and is
`analyze_streams` function, which is also used in [](tutorial-playback-playbin-usage.md) and is
more detailed there. It basically recovers the tags from the stream and
writes them in a text widget in the GUI.
@ -856,7 +856,7 @@ If this media player is not good enough for you, try to change the text
widget that displays the information about the streams into a proper
list view (or tree view). Then, when the user selects a different
stream, make GStreamer switch streams! To switch streams, you will need
to read [](sdk-playback-tutorial-playbin-usage.md).
to read [](tutorial-playback-playbin-usage.md).
## Conclusion

View file

@ -14,7 +14,7 @@ iOS device. It shows:
Slider](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISlider_Class/Reference/Reference.html)
- How to report the media size to adapt the display surface
It also uses the knowledge gathered in the [](sdk-basic-tutorials.md) regarding:
It also uses the knowledge gathered in the [](tutorials-basic.md) regarding:
- How to use `playbin` to play any kind of media
- How to handle network resilience problems
@ -26,7 +26,7 @@ pieces to build a media player. The most complex part is assembling a
pipeline which retrieves, decodes and displays the media, but we
already know that the `playbin` element can take care of all that for
us. We only need to replace the manual pipeline we used in
[](sdk-ios-tutorial-video.md) with a single-element `playbin` pipeline
[](tutorial-ios-video.md) with a single-element `playbin` pipeline
and we are good to go!
However, we can do better than. We will add a [Time
@ -344,7 +344,7 @@ for some kind of streams), or when it is first detected,
```
Here we simply store the new size and ask the layout to be recalculated.
As we have already seen in [](sdk-ios-tutorial-a-running-pipeline.md),
As we have already seen in [](tutorial-ios-a-running-pipeline.md),
methods which change the UI must be called from the main thread, and we
are now in a callback from some GStreamer internal thread. Hence, the
usage
@ -352,7 +352,7 @@ of `dispatch_async()`[.](http://developer.android.com/reference/android/app/Acti
### Refreshing the Time Slider
[](sdk-basic-tutorial-toolkit-integration.md) has
[](tutorial-basic-toolkit-integration.md) has
already shown how to implement a Seek Bar (or [Time
Slider](http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UISlider_Class/Reference/Reference.html)
in this tutorial) using the GTK+ toolkit. The implementation on iOS is
@ -1005,7 +1005,7 @@ static gboolean refresh_ui (GStreamerBackend *self) {
```
If it is unknown, the clip duration is retrieved, as explained in
[](sdk-basic-tutorial-time-management.md). The current position is
[](tutorial-basic-time-management.md). The current position is
retrieved next, and the UI is informed of both through its
`setCurrentUIPosition` callback.
@ -1144,7 +1144,7 @@ calls `execute_seek()` again.
### Network resilience
[](sdk-basic-tutorial-streaming.md) has already
[](tutorial-basic-streaming.md) has already
shown how to adapt to the variable nature of the network bandwidth by
using buffering. The same procedure is used here, by listening to the
buffering
@ -1207,4 +1207,4 @@ The next tutorial adds the missing bits to turn the application built
here into an acceptable iOS media player.
[information]: images/icons/emoticons/information.png
[screenshot]: images/sdk-ios-tutorial-a-basic-media-player-screenshot.png
[screenshot]: images/tutorial-ios-a-basic-media-player-screenshot.png

View file

@ -10,7 +10,7 @@ be done with GStreamer on the iOS platform.
It is intended to be built and run, rather than analyzed for its
pedagogical value, since it adds very little GStreamer knowledge over
what has already been shown in [](sdk-ios-tutorial-a-basic-media-player.md).
what has already been shown in [](tutorial-ios-a-basic-media-player.md).
It demonstrates the main functionality that a conventional media player
has, but it is not a complete application yet, therefore it has not been
@ -31,7 +31,7 @@ are given here.
A new `UIView` has been added, derived from `UITableViewController`
which shows a list of clips. When one is selected, the
`VideoViewController` from [](sdk-ios-tutorial-a-basic-media-player.md) appears
`VideoViewController` from [](tutorial-ios-a-basic-media-player.md) appears
and its URI property is set to the URI of the selected clip.
The list of clips is populated from three sources: Media from the
@ -60,5 +60,5 @@ already be used to showcase the integration of GStreamer and iOS.
It has been a pleasure having you here, and see you soon!
[screenshot0]: images/sdk-ios-tutorial-a-complete-media-player-screenshot-0.png
[screenshot1]: images/sdk-ios-tutorial-a-complete-media-player-screenshot-1.png
[screenshot0]: images/tutorial-ios-a-complete-media-player-screenshot-0.png
[screenshot1]: images/tutorial-ios-a-complete-media-player-screenshot-1.png

View file

@ -4,8 +4,8 @@
![screenshot]
As seen in the [Basic](sdk-basic-tutorials.md) and
[Playback](sdk-playback-tutorials.md) tutorials, GStreamer integrates
As seen in the [Basic](tutorials-basic.md) and
[Playback](tutorials-playback.md) tutorials, GStreamer integrates
nicely with GLibs main loops, so pipeline operation and user interface
can be monitored simultaneously in a very simple way. However, platforms
like iOS or Android do not use GLib and therefore extra care must be
@ -522,7 +522,7 @@ static void state_changed_cb (GstBus *bus, GstMessage *msg, GStreamerBackend *se
The `error_cb()` and `state_changed_cb()` are callbacks registered to
the `error` and `state-changed` events in GStreamer, and their goal is
to inform the user about these events. These callbacks have been widely
used in the [Basic tutorials](sdk-basic-tutorials.md) and their
used in the [Basic tutorials](tutorials-basic.md) and their
implementation is very similar, except for two points:
Firstly, the messages are conveyed to the user through the
@ -605,7 +605,7 @@ elements.
These lines create a bus signal watch and connect to some interesting
signals, just like we have been doing in the [Basic
tutorials](sdk-basic-tutorials.md). The creation of the watch is done
tutorials](tutorials-basic.md). The creation of the watch is done
step by step instead of using `gst_bus_add_signal_watch()` to exemplify
how to use a custom GLib context. The interesting bit here is the usage
of a
@ -656,4 +656,4 @@ to them!
It has been a pleasure having you here, and see you soon!
[screenshot]: images/sdk-ios-tutorial-a-running-pipeline-screenshot.png
[screenshot]: images/tutorial-ios-a-running-pipeline-screenshot.png

View file

@ -49,7 +49,7 @@ few C-to-Objective-C conversions that might be necessary (like `char
*` to `NSString *`, for example). This eases the usage of this class by
the UI code, which is typically made in pure Objective-C.
`GStreamerBackend` serves exactly the same purpose as the JNI code in
the [](sdk-android-tutorials.md).
the [](tutorials-android.md).
**GStreamerBackend.m**
@ -133,4 +133,4 @@ taken when developing specifically for the iOS platform.
It has been a pleasure having you here, and see you soon!
[screenshot]: images/sdk-ios-tutorial-link-against-gstreamer-screenshot.png
[screenshot]: images/tutorial-ios-link-against-gstreamer-screenshot.png

View file

@ -4,7 +4,7 @@
![screenshot]
Except for [](sdk-basic-tutorial-toolkit-integration.md),
Except for [](tutorial-basic-toolkit-integration.md),
which embedded a video window on a GTK application, all tutorials so far
relied on GStreamer video sinks to create a window to display their
contents. The video sink on iOS is not capable of creating its own
@ -20,7 +20,7 @@ Since iOS does not provide a windowing system, a GStreamer video sink
cannot create pop-up windows as it would do on a Desktop platform.
Fortunately, the `VideoOverlay` interface allows providing video sinks with
an already created window onto which they can draw, as we have seen
in [](sdk-basic-tutorial-toolkit-integration.md).
in [](tutorial-basic-toolkit-integration.md).
In this tutorial, a `UIView` widget (actually, a subclass of it) is
placed on the main storyboard. In the `viewDidLoad` method of the
@ -516,7 +516,7 @@ ask for it immediately.
The `gst_bin_get_by_interface()` method will examine the whole pipeline
and return a pointer to an element which supports the requested
interface. We are asking for the `VideoOverlay` interface, explained in
[](sdk-basic-tutorial-toolkit-integration.md),
[](tutorial-basic-toolkit-integration.md),
which controls how to perform rendering into foreign (non-GStreamer)
windows. The internal video sink instantiated by `autovideosink` is the
only element in this pipeline implementing it, so it will be returned.
@ -575,4 +575,4 @@ to this tutorial in order to build a simple media player.
It has been a pleasure having you here, and see you soon!
[screenshot]: images/sdk-ios-tutorial-video-screenshot.png
[screenshot]: images/tutorial-ios-video-screenshot.png

View file

@ -245,10 +245,10 @@ This tutorial has shown:
It has been a pleasure having you here, and see you soon\!
[information]: images/icons/emoticons/information.png
[Mac]: sdk-installing-on-mac-osx.md
[Windows]: sdk-installing-on-windows.md
[Mac OS X]: sdk-installing-on-mac-osx.md#building-the-tutorials
[1]: sdk-installing-on-windows.md#running-the-tutorials
[iOS]: sdk-installing-for-ios-development.md#building-the-tutorials
[android]: sdk-installing-for-android-development.md#building-the-tutorials
[Mac]: installing-on-mac-osx.md
[Windows]: installing-on-windows.md
[Mac OS X]: installing-on-mac-osx.md#building-the-tutorials
[1]: installing-on-windows.md#running-the-tutorials
[iOS]: installing-for-ios-development.md#building-the-tutorials
[android]: installing-for-android-development.md#building-the-tutorials
[warning]: images/icons/emoticons/warning.png

View file

@ -10,7 +10,7 @@ This tutorial shows:
- How to change them
## Introduction
[](sdk-basic-tutorial-toolkit-integration.md) has
[](tutorial-basic-toolkit-integration.md) has
already explained the concept of GObject interfaces: applications use
them to find out if certain functionality is available, regardless of
the actual element which implements it.
@ -298,10 +298,10 @@ It has been a pleasure having you here, and see you soon\!
[information]: images/icons/emoticons/information.png
[Mac]: sdk-installing-on-mac-osx.md
[Windows]: sdk-installing-on-windows.md
[Mac OS X]: sdk-installing-on-mac-osx.md#building-the-tutorials
[1]: sdk-installing-on-windows.md#running-the-tutorials
[iOS]: sdk-installing-for-ios-development.md#building-the-tutorials
[android]: sdk-installing-for-android-development.md#building-the-tutorials
[Mac]: installing-on-mac-osx.md
[Windows]: installing-on-windows.md
[Mac OS X]: installing-on-mac-osx.md#building-the-tutorials
[1]: installing-on-windows.md#running-the-tutorials
[iOS]: installing-for-ios-development.md#building-the-tutorials
[android]: installing-for-android-development.md#building-the-tutorials
[warning]: images/icons/emoticons/warning.png

View file

@ -156,7 +156,7 @@ Now we need to create a Ghost Pad so this partial pipeline inside the
Bin can be connected to the outside. This Ghost Pad will be connected to
a Pad in one of the internal Elements (the sink pad of the equalizer),
so we retrieve this Pad with `gst_element_get_static_pad()`. Remember
from [](sdk-basic-tutorial-multithreading-and-pad-availability.md) that
from [](tutorial-basic-multithreading-and-pad-availability.md) that
if this was a Request Pad instead of an Always Pad, we would need to use
`gst_element_request_pad()`.
@ -212,10 +212,10 @@ This tutorial has shown:
It has been a pleasure having you here, and see you soon\!
[information]: images/icons/emoticons/information.png
[Mac]: sdk-installing-on-mac-osx.md
[Windows]: sdk-installing-on-windows.md
[Mac OS X]: sdk-installing-on-mac-osx.md#building-the-tutorials
[1]: sdk-installing-on-windows.md#running-the-tutorials
[iOS]: sdk-installing-for-ios-development.md#building-the-tutorials
[android]: sdk-installing-for-android-development.md#building-the-tutorials
[Mac]: installing-on-mac-osx.md
[Windows]: installing-on-windows.md
[Mac OS X]: installing-on-mac-osx.md#building-the-tutorials
[1]: installing-on-windows.md#running-the-tutorials
[iOS]: installing-for-ios-development.md#building-the-tutorials
[android]: installing-for-android-development.md#building-the-tutorials
[warning]: images/icons/emoticons/warning.png

View file

@ -77,8 +77,8 @@ enabled, but, unfortunately, this option is not available in all audio
drivers.
Another solution involves, using a custom sinkbin (see
[](sdk-playback-tutorial-custom-playbin-sinks.md)) which includes a
`capsfilter` element (see [](sdk-basic-tutorial-handy-elements.md))
[](tutorial-playback-custom-playbin-sinks.md)) which includes a
`capsfilter` element (see [](tutorial-basic-handy-elements.md))
and an audio sink. The caps that the external decoder supports are
then set in the capsfiler so the wrong format is not output. This
allows the application to enforce the appropriate format instead of

View file

@ -579,11 +579,11 @@ code of the tutorial and any accessory files needed to build it.
It has been a pleasure having you here, and see you soon!
[Playback tutorial 2: Subtitle management]: sdk-playback-tutorial-subtitle-management.md
[Playback tutorial 2: Subtitle management]: tutorial-playback-subtitle-management.md
[information]: images/icons/emoticons/information.png
[Mac]: sdk-installing-on-mac-osx.md
[Windows]: sdk-installing-on-windows.md
[Mac OS X]: sdk-installing-on-mac-osx.md#building-the-tutorials
[1]: sdk-installing-on-windows.md#running-the-tutorials
[iOS]: sdk-installing-for-ios-development.md#building-the-tutorials
[android]: sdk-installing-for-android-development.md#building-the-tutorials
[Mac]: installing-on-mac-osx.md
[Windows]: installing-on-windows.md
[Mac OS X]: installing-on-mac-osx.md#building-the-tutorials
[1]: installing-on-windows.md#running-the-tutorials
[iOS]: installing-for-ios-development.md#building-the-tutorials
[android]: installing-for-android-development.md#building-the-tutorials

View file

@ -2,10 +2,10 @@
## Goal
[](sdk-basic-tutorial-streaming.md) showed how to
[](tutorial-basic-streaming.md) showed how to
enhance the user experience in poor network conditions, by taking
buffering into account. This tutorial further expands
[](sdk-basic-tutorial-streaming.md) by enabling
[](tutorial-basic-streaming.md) by enabling
the local storage of the streamed media, and describes the advantages of
this technique. In particular, it shows:
@ -18,7 +18,7 @@ this technique. In particular, it shows:
When streaming, data is fetched from the network and a small buffer of
future-data is kept to ensure smooth playback (see
[](sdk-basic-tutorial-streaming.md)). However, data
[](tutorial-basic-streaming.md)). However, data
is discarded as soon as it is displayed or rendered (there is no
past-data buffer). This means, that if a user wants to jump back and
continue playback from a point in the past, data needs to be
@ -240,7 +240,7 @@ int main(int argc, char *argv[]) {
## Walkthrough
This code is based on that of [](sdk-basic-tutorial-streaming.md). Lets review
This code is based on that of [](tutorial-basic-streaming.md). Lets review
only the differences.
### Setup
@ -322,7 +322,7 @@ static gboolean refresh_ui (CustomData *data) {
The first thing we do in `refresh_ui` is construct a new Buffering
`GstQuery` with `gst_query_new_buffering()` and pass it to the pipeline
(`playbin`) with `gst_element_query()`. In [](sdk-basic-tutorial-time-management.md) we have
(`playbin`) with `gst_element_query()`. In [](tutorial-basic-time-management.md) we have
already seen how to perform simple queries like Position and Duration
using specific methods. More complex queries, like Buffering, need to
use the more general `gst_element_query()`.
@ -419,10 +419,10 @@ This tutorial has shown:
It has been a pleasure having you here, and see you soon!
[information]: images/icons/emoticons/information.png
[Mac]: sdk-installing-on-mac-osx.md
[Windows]: sdk-installing-on-windows.md
[Mac OS X]: sdk-installing-on-mac-osx.md#building-the-tutorials
[1]: sdk-installing-on-windows.md#running-the-tutorials
[iOS]: sdk-installing-for-ios-development.md#building-the-tutorials
[android]: sdk-installing-for-android-development.md#building-the-tutorials
[Mac]: installing-on-mac-osx.md
[Windows]: installing-on-windows.md
[Mac OS X]: installing-on-mac-osx.md#building-the-tutorials
[1]: installing-on-windows.md#running-the-tutorials
[iOS]: installing-for-ios-development.md#building-the-tutorials
[android]: installing-for-android-development.md#building-the-tutorials
[warning]: images/icons/emoticons/warning.png

View file

@ -2,11 +2,11 @@
## Goal
[](sdk-basic-tutorial-short-cutting-the-pipeline.md) showed
[](tutorial-basic-short-cutting-the-pipeline.md) showed
how an application can manually extract or inject data into a pipeline
by using two special elements called `appsrc` and `appsink`.
`playbin` allows using these elements too, but the method to connect
them is different. To connect an `appsink` to `playbin` see [](sdk-playback-tutorial-custom-playbin-sinks.md).
them is different. To connect an `appsink` to `playbin` see [](tutorial-playback-custom-playbin-sinks.md).
This tutorial shows:
- How to connect `appsrc` with `playbin`
@ -219,10 +219,10 @@ static void source_setup (GstElement *pipeline, GstElement *source, CustomData *
```
The configuration of the `appsrc` is exactly the same as in
[](sdk-basic-tutorial-short-cutting-the-pipeline.md):
[](tutorial-basic-short-cutting-the-pipeline.md):
the caps are set to `audio/x-raw`, and two callbacks are registered,
so the element can tell the application when it needs to start and stop
pushing data. See [](sdk-basic-tutorial-short-cutting-the-pipeline.md)
pushing data. See [](tutorial-basic-short-cutting-the-pipeline.md)
for more details.
From this point onwards, `playbin` takes care of the rest of the
@ -230,12 +230,12 @@ pipeline, and the application only needs to worry about generating more
data when told so.
To learn how data can be extracted from `playbin` using the
`appsink` element, see [](sdk-playback-tutorial-custom-playbin-sinks.md).
`appsink` element, see [](tutorial-playback-custom-playbin-sinks.md).
## Conclusion
This tutorial applies the concepts shown in
[](sdk-basic-tutorial-short-cutting-the-pipeline.md) to
[](tutorial-basic-short-cutting-the-pipeline.md) to
`playbin`. In particular, it has shown:
- How to connect `appsrc` with `playbin` using the special

View file

@ -286,14 +286,14 @@ static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomDa
> page._ Bear in mind that
> there is no latency management (buffering), so on slow connections,
> the movie might stop after a few seconds. See how
> [](sdk-basic-tutorial-streaming.md) solves this issue.
> [](tutorial-basic-streaming.md) solves this issue.
>
> Required libraries: `gstreamer-1.0`
## Walkthrough
This tutorial is copied from
[](sdk-playback-tutorial-playbin-usage.md) with some changes, so let's
[](tutorial-playback-playbin-usage.md) with some changes, so let's
review only the changes.
``` c
@ -359,7 +359,7 @@ g_object_set (data.playbin, "flags", flags, NULL);
We set the `flags` property to allow Audio, Video and Text (Subtitles).
The rest of the tutorial is the same as [](sdk-playback-tutorial-playbin-usage.md), except
The rest of the tutorial is the same as [](tutorial-playback-playbin-usage.md), except
that the keyboard input changes the `current-text` property instead of
the `current-audio`. As before, keep in mind that stream changes are not
immediate, since there is a lot of information flowing through the

View file

@ -4,11 +4,11 @@
These tutorials describe Qt-specific topics. General GStreamer concepts
will not be explained in these tutorials, so the [Basic
tutorials](sdk-basic-tutorials.md) should
tutorials](tutorials-basic.md) should
be reviewed first. The reader should also be familiar with basic Qt
programming techniques.
The Qt tutorials have the same structure as the [Android
tutorials](sdk-android-tutorials.md): Each one builds on top of the
tutorials](tutorials-android.md): Each one builds on top of the
previous one and adds progressively more functionality, until a working
media player application is obtained in \#FIXME\#

View file

@ -4,18 +4,18 @@
These tutorials describe Android-specific topics. General GStreamer
concepts will not be explained in these tutorials, so the
[](sdk-basic-tutorials.md) should be reviewed first. The reader should
[](tutorials-basic.md) should be reviewed first. The reader should
also be familiar with basic Android programming techniques.
Each Android tutorial builds on top of the previous one and adds
progressively more functionality, until a working media player
application is obtained in [](sdk-android-tutorial-a-complete-media-player.md).
application is obtained in [](tutorial-android-a-complete-media-player.md).
This is the same media player application used to advertise
GStreamer on Android, and the download link can be found in
the [](sdk-android-tutorial-a-complete-media-player.md) page.
the [](tutorial-android-a-complete-media-player.md) page.
Make sure to have read the instructions in
[](sdk-installing-for-android-development.md) before jumping into the
[](installing-for-android-development.md) before jumping into the
Android tutorials.
### A note on the documentation

View file

@ -4,17 +4,17 @@
These tutorials describe iOS-specific topics. General GStreamer
concepts will not be explained in these tutorials, so the
[](sdk-basic-tutorials.md) should be reviewed first. The reader should
[](tutorials-basic.md) should be reviewed first. The reader should
also be familiar with basic iOS programming techniques.
The iOS tutorials have the same structure as the
[](sdk-android-tutorials.md): Each one builds on top of the previous
[](tutorials-android.md): Each one builds on top of the previous
one and adds progressively more functionality, until a working media
player application is obtained in
[](sdk-ios-tutorial-a-complete-media-player.md).
[](tutorial-ios-a-complete-media-player.md).
Make sure to have read the instructions in
[](sdk-installing-for-ios-development.md) before jumping into the iOS
[](installing-for-ios-development.md) before jumping into the iOS
tutorials.
All iOS tutorials are split into the following classes:

View file

@ -77,11 +77,11 @@ purposes.
- [Sintel, the Durian Open Movie Project]
[installing GStreamer]: sdk-installing.md
[installing GStreamer]: installing.md
[GStreamer documentation]: http://gstreamer.freedesktop.org/documentation/
[Basic tutorials]: sdk-basic-tutorials.md
[Playback tutorials]: sdk-playback-tutorials.md
[Android tutorials]: sdk-android-tutorials.md
[iOS tutorials]: sdk-ios-tutorials.md
[Table of Concepts]: sdk-table-of-concepts.md
[Basic tutorials]: tutorials-basic.md
[Playback tutorials]: tutorials-playback.md
[Android tutorials]: tutorials-android.md
[iOS tutorials]: tutorials-ios.md
[Table of Concepts]: table-of-concepts.md
[Sintel, the Durian Open Movie Project]: http://www.sintel.org/