From 09d6b9fff3ad40b406d54da78eb3e27c5b0be65f Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 21 Oct 2016 10:23:28 -0300 Subject: [PATCH] Remove all reference to the SDK in pages names --- TODO.md | 10 +- ...c-media-player.md => basic-media-player.md | 0 ...d => building-from-source-using-cerbero.md | 2 +- ...-osx-deployment.md => deploying-mac-osx.md | 4 +- ...> deploying-multiplatform-using-cerbero.md | 6 +- ...dows-deployment.md => deploying-windows.md | 4 +- ...cation.md => deploying-your-application.md | 6 +- ...id-a-complete-media-player-screenshot.png} | Bin ...android-a-running-pipeline-screenshot.png} | Bin ...oid-link-against-gstreamer-screenshot.png} | Bin ...orial-android-media-player-screenshot.png} | Bin ... => tutorial-android-video-screenshot.png} | Bin ...l-ios-a-basic-media-player-screenshot.png} | Bin ...-a-complete-media-player-screenshot-0.png} | Bin ...-a-complete-media-player-screenshot-1.png} | Bin ...ial-ios-a-running-pipeline-screenshot.png} | Bin ...ios-link-against-gstreamer-screenshot.png} | Bin ....png => tutorial-ios-video-screenshot.png} | Bin ...d => installing-for-android-development.md | 2 +- ...nt.md => installing-for-ios-development.md | 2 +- ...ling-on-linux.md => installing-on-linux.md | 0 ...-on-mac-osx.md => installing-on-mac-osx.md | 0 ...-on-windows.md => installing-on-windows.md | 2 +- sdk-installing.md => installing.md | 10 +- ...gal-information.md => legal-information.md | 0 ...eamer.md => qt-gstreamer-vs-c-gstreamer.md | 0 sitemap.txt | 108 +++++++++--------- ...ble-of-concepts.md => table-of-concepts.md | 26 ++--- ges-launch.md => tool-ges-launch.md | 0 gst-inspect.md => tool-gst-inspect.md | 0 gst-launch.md => tool-gst-launch.md | 0 ...utorial-android-a-complete-media-player.md | 6 +- ... => tutorial-android-a-running-pipeline.md | 6 +- ...tutorial-android-link-against-gstreamer.md | 4 +- ...yer.md => tutorial-android-media-player.md | 14 +-- ...rial-video.md => tutorial-android-video.md | 8 +- ...-concepts.md => tutorial-basic-concepts.md | 18 +-- ...ls.md => tutorial-basic-debugging-tools.md | 0 ....md => tutorial-basic-dynamic-pipelines.md | 16 +-- ...ls.md => tutorial-basic-gstreamer-tools.md | 18 +-- ...nts.md => tutorial-basic-handy-elements.md | 18 +-- ...-world.md => tutorial-basic-hello-world.md | 26 ++--- ...asic-media-formats-and-pad-capabilities.md | 8 +- ...orial-basic-media-information-gathering.md | 6 +- ...sic-multithreading-and-pad-availability.md | 8 +- ...torial-basic-platform-specific-elements.md | 4 +- ...eed.md => tutorial-basic-playback-speed.md | 6 +- ...torial-basic-short-cutting-the-pipeline.md | 16 +-- ...treaming.md => tutorial-basic-streaming.md | 4 +- ...nt.md => tutorial-basic-time-management.md | 6 +- ...d => tutorial-basic-toolkit-integration.md | 14 +-- ...md => tutorial-ios-a-basic-media-player.md | 14 +-- ...=> tutorial-ios-a-complete-media-player.md | 8 +- ...e.md => tutorial-ios-a-running-pipeline.md | 10 +- ... => tutorial-ios-link-against-gstreamer.md | 4 +- ...tutorial-video.md => tutorial-ios-video.md | 8 +- ...> tutorial-playback-audio-visualization.md | 12 +- ...e.md => tutorial-playback-color-balance.md | 14 +-- ... tutorial-playback-custom-playbin-sinks.md | 14 +-- ...ial-playback-digital-audio-pass-through.md | 4 +- ...ack-hardware-accelerated-video-decoding.md | 0 ...e.md => tutorial-playback-playbin-usage.md | 14 +-- ...tutorial-playback-progressive-streaming.md | 22 ++-- ...ial-playback-short-cutting-the-pipeline.md | 12 +- ...> tutorial-playback-subtitle-management.md | 6 +- ...t-tutorials.md => tutorial-qt-tutorials.md | 4 +- ...droid-tutorials.md => tutorials-android.md | 8 +- sdk-basic-tutorials.md => tutorials-basic.md | 0 sdk-ios-tutorials.md => tutorials-ios.md | 8 +- ...back-tutorials.md => tutorials-playback.md | 0 sdk-tutorials.md => tutorials.md | 12 +- ...-in-qt.md => using-appsink-appsrc-in-qt.md | 0 72 files changed, 281 insertions(+), 281 deletions(-) rename sdk-basic-media-player.md => basic-media-player.md (100%) rename sdk-building-from-source-using-cerbero.md => building-from-source-using-cerbero.md (99%) rename sdk-mac-osx-deployment.md => deploying-mac-osx.md (98%) rename sdk-multiplatform-deployment-using-cerbero.md => deploying-multiplatform-using-cerbero.md (98%) rename sdk-windows-deployment.md => deploying-windows.md (97%) rename sdk-deploying-your-application.md => deploying-your-application.md (96%) rename images/{sdk-android-tutorial-a-complete-media-player-screenshot.png => tutorial-android-a-complete-media-player-screenshot.png} (100%) rename images/{sdk-android-tutorial-a-running-pipeline-screenshot.png => tutorial-android-a-running-pipeline-screenshot.png} (100%) rename images/{sdk-android-tutorial-link-against-gstreamer-screenshot.png => tutorial-android-link-against-gstreamer-screenshot.png} (100%) rename images/{sdk-android-tutorial-media-player-screenshot.png => tutorial-android-media-player-screenshot.png} (100%) rename images/{sdk-android-tutorial-video-screenshot.png => tutorial-android-video-screenshot.png} (100%) rename images/{sdk-ios-tutorial-a-basic-media-player-screenshot.png => tutorial-ios-a-basic-media-player-screenshot.png} (100%) rename images/{sdk-ios-tutorial-a-complete-media-player-screenshot-0.png => tutorial-ios-a-complete-media-player-screenshot-0.png} (100%) rename images/{sdk-ios-tutorial-a-complete-media-player-screenshot-1.png => tutorial-ios-a-complete-media-player-screenshot-1.png} (100%) rename images/{sdk-ios-tutorial-a-running-pipeline-screenshot.png => tutorial-ios-a-running-pipeline-screenshot.png} (100%) rename images/{sdk-ios-tutorial-link-against-gstreamer-screenshot.png => tutorial-ios-link-against-gstreamer-screenshot.png} (100%) rename images/{sdk-ios-tutorial-video-screenshot.png => tutorial-ios-video-screenshot.png} (100%) rename sdk-installing-for-android-development.md => installing-for-android-development.md (99%) rename sdk-installing-for-ios-development.md => installing-for-ios-development.md (98%) rename sdk-installing-on-linux.md => installing-on-linux.md (100%) rename sdk-installing-on-mac-osx.md => installing-on-mac-osx.md (100%) rename sdk-installing-on-windows.md => installing-on-windows.md (99%) rename sdk-installing.md => installing.md (66%) rename sdk-legal-information.md => legal-information.md (100%) rename sdk-qt-gstreamer-vs-c-gstreamer.md => qt-gstreamer-vs-c-gstreamer.md (100%) rename sdk-table-of-concepts.md => table-of-concepts.md (56%) rename ges-launch.md => tool-ges-launch.md (100%) rename gst-inspect.md => tool-gst-inspect.md (100%) rename gst-launch.md => tool-gst-launch.md (100%) rename sdk-android-tutorial-a-complete-media-player.md => tutorial-android-a-complete-media-player.md (94%) rename sdk-android-tutorial-a-running-pipeline.md => tutorial-android-a-running-pipeline.md (99%) rename sdk-android-tutorial-link-against-gstreamer.md => tutorial-android-link-against-gstreamer.md (98%) rename sdk-android-tutorial-media-player.md => tutorial-android-media-player.md (99%) rename sdk-android-tutorial-video.md => tutorial-android-video.md (99%) rename sdk-basic-tutorial-concepts.md => tutorial-basic-concepts.md (92%) rename sdk-basic-tutorial-debugging-tools.md => tutorial-basic-debugging-tools.md (100%) rename sdk-basic-tutorial-dynamic-pipelines.md => tutorial-basic-dynamic-pipelines.md (95%) rename sdk-basic-tutorial-gstreamer-tools.md => tutorial-basic-gstreamer-tools.md (96%) rename sdk-basic-tutorial-handy-elements.md => tutorial-basic-handy-elements.md (94%) rename sdk-basic-tutorial-hello-world.md => tutorial-basic-hello-world.md (90%) rename sdk-basic-tutorial-media-formats-and-pad-capabilities.md => tutorial-basic-media-formats-and-pad-capabilities.md (96%) rename sdk-basic-tutorial-media-information-gathering.md => tutorial-basic-media-information-gathering.md (96%) rename sdk-basic-tutorial-multithreading-and-pad-availability.md => tutorial-basic-multithreading-and-pad-availability.md (95%) rename sdk-basic-tutorial-platform-specific-elements.md => tutorial-basic-platform-specific-elements.md (98%) rename sdk-basic-tutorial-playback-speed.md => tutorial-basic-playback-speed.md (95%) rename sdk-basic-tutorial-short-cutting-the-pipeline.md => tutorial-basic-short-cutting-the-pipeline.md (95%) rename sdk-basic-tutorial-streaming.md => tutorial-basic-streaming.md (94%) rename sdk-basic-tutorial-time-management.md => tutorial-basic-time-management.md (96%) rename sdk-basic-tutorial-toolkit-integration.md => tutorial-basic-toolkit-integration.md (97%) rename sdk-ios-tutorial-a-basic-media-player.md => tutorial-ios-a-basic-media-player.md (98%) rename sdk-ios-tutorial-a-complete-media-player.md => tutorial-ios-a-complete-media-player.md (88%) rename sdk-ios-tutorial-a-running-pipeline.md => tutorial-ios-a-running-pipeline.md (98%) rename sdk-ios-tutorial-link-against-gstreamer.md => tutorial-ios-link-against-gstreamer.md (97%) rename sdk-ios-tutorial-video.md => tutorial-ios-video.md (98%) rename sdk-playback-tutorial-audio-visualization.md => tutorial-playback-audio-visualization.md (95%) rename sdk-playback-tutorial-color-balance.md => tutorial-playback-color-balance.md (96%) rename sdk-playback-tutorial-custom-playbin-sinks.md => tutorial-playback-custom-playbin-sinks.md (95%) rename sdk-playback-tutorial-digital-audio-pass-through.md => tutorial-playback-digital-audio-pass-through.md (97%) rename sdk-playback-tutorial-hardware-accelerated-video-decoding.md => tutorial-playback-hardware-accelerated-video-decoding.md (100%) rename sdk-playback-tutorial-playbin-usage.md => tutorial-playback-playbin-usage.md (98%) rename sdk-playback-tutorial-progressive-streaming.md => tutorial-playback-progressive-streaming.md (95%) rename sdk-playback-tutorial-short-cutting-the-pipeline.md => tutorial-playback-short-cutting-the-pipeline.md (94%) rename sdk-playback-tutorial-subtitle-management.md => tutorial-playback-subtitle-management.md (98%) rename sdk-qt-tutorials.md => tutorial-qt-tutorials.md (80%) rename sdk-android-tutorials.md => tutorials-android.md (78%) rename sdk-basic-tutorials.md => tutorials-basic.md (100%) rename sdk-ios-tutorials.md => tutorials-ios.md (81%) rename sdk-playback-tutorials.md => tutorials-playback.md (100%) rename sdk-tutorials.md => tutorials.md (91%) rename sdk-using-appsink-appsrc-in-qt.md => using-appsink-appsrc-in-qt.md (100%) diff --git a/TODO.md b/TODO.md index fb86efb4a4..909e7479ad 100644 --- a/TODO.md +++ b/TODO.md @@ -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: diff --git a/sdk-basic-media-player.md b/basic-media-player.md similarity index 100% rename from sdk-basic-media-player.md rename to basic-media-player.md diff --git a/sdk-building-from-source-using-cerbero.md b/building-from-source-using-cerbero.md similarity index 99% rename from sdk-building-from-source-using-cerbero.md rename to building-from-source-using-cerbero.md index cd8bba709b..fbb734319b 100644 --- a/sdk-building-from-source-using-cerbero.md +++ b/building-from-source-using-cerbero.md @@ -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 diff --git a/sdk-mac-osx-deployment.md b/deploying-mac-osx.md similarity index 98% rename from sdk-mac-osx-deployment.md rename to deploying-mac-osx.md index b98cec20af..899d30eb31 100644 --- a/sdk-mac-osx-deployment.md +++ b/deploying-mac-osx.md @@ -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 diff --git a/sdk-multiplatform-deployment-using-cerbero.md b/deploying-multiplatform-using-cerbero.md similarity index 98% rename from sdk-multiplatform-deployment-using-cerbero.md rename to deploying-multiplatform-using-cerbero.md index 726bce474d..729b2e1840 100644 --- a/sdk-multiplatform-deployment-using-cerbero.md +++ b/deploying-multiplatform-using-cerbero.md @@ -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 diff --git a/sdk-windows-deployment.md b/deploying-windows.md similarity index 97% rename from sdk-windows-deployment.md rename to deploying-windows.md index 6fb5097497..49733deb10 100644 --- a/sdk-windows-deployment.md +++ b/deploying-windows.md @@ -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 diff --git a/sdk-deploying-your-application.md b/deploying-your-application.md similarity index 96% rename from sdk-deploying-your-application.md rename to deploying-your-application.md index b39b3b8c62..9b56f792e9 100644 --- a/sdk-deploying-your-application.md +++ b/deploying-your-application.md @@ -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) diff --git a/images/sdk-android-tutorial-a-complete-media-player-screenshot.png b/images/tutorial-android-a-complete-media-player-screenshot.png similarity index 100% rename from images/sdk-android-tutorial-a-complete-media-player-screenshot.png rename to images/tutorial-android-a-complete-media-player-screenshot.png diff --git a/images/sdk-android-tutorial-a-running-pipeline-screenshot.png b/images/tutorial-android-a-running-pipeline-screenshot.png similarity index 100% rename from images/sdk-android-tutorial-a-running-pipeline-screenshot.png rename to images/tutorial-android-a-running-pipeline-screenshot.png diff --git a/images/sdk-android-tutorial-link-against-gstreamer-screenshot.png b/images/tutorial-android-link-against-gstreamer-screenshot.png similarity index 100% rename from images/sdk-android-tutorial-link-against-gstreamer-screenshot.png rename to images/tutorial-android-link-against-gstreamer-screenshot.png diff --git a/images/sdk-android-tutorial-media-player-screenshot.png b/images/tutorial-android-media-player-screenshot.png similarity index 100% rename from images/sdk-android-tutorial-media-player-screenshot.png rename to images/tutorial-android-media-player-screenshot.png diff --git a/images/sdk-android-tutorial-video-screenshot.png b/images/tutorial-android-video-screenshot.png similarity index 100% rename from images/sdk-android-tutorial-video-screenshot.png rename to images/tutorial-android-video-screenshot.png diff --git a/images/sdk-ios-tutorial-a-basic-media-player-screenshot.png b/images/tutorial-ios-a-basic-media-player-screenshot.png similarity index 100% rename from images/sdk-ios-tutorial-a-basic-media-player-screenshot.png rename to images/tutorial-ios-a-basic-media-player-screenshot.png diff --git a/images/sdk-ios-tutorial-a-complete-media-player-screenshot-0.png b/images/tutorial-ios-a-complete-media-player-screenshot-0.png similarity index 100% rename from images/sdk-ios-tutorial-a-complete-media-player-screenshot-0.png rename to images/tutorial-ios-a-complete-media-player-screenshot-0.png diff --git a/images/sdk-ios-tutorial-a-complete-media-player-screenshot-1.png b/images/tutorial-ios-a-complete-media-player-screenshot-1.png similarity index 100% rename from images/sdk-ios-tutorial-a-complete-media-player-screenshot-1.png rename to images/tutorial-ios-a-complete-media-player-screenshot-1.png diff --git a/images/sdk-ios-tutorial-a-running-pipeline-screenshot.png b/images/tutorial-ios-a-running-pipeline-screenshot.png similarity index 100% rename from images/sdk-ios-tutorial-a-running-pipeline-screenshot.png rename to images/tutorial-ios-a-running-pipeline-screenshot.png diff --git a/images/sdk-ios-tutorial-link-against-gstreamer-screenshot.png b/images/tutorial-ios-link-against-gstreamer-screenshot.png similarity index 100% rename from images/sdk-ios-tutorial-link-against-gstreamer-screenshot.png rename to images/tutorial-ios-link-against-gstreamer-screenshot.png diff --git a/images/sdk-ios-tutorial-video-screenshot.png b/images/tutorial-ios-video-screenshot.png similarity index 100% rename from images/sdk-ios-tutorial-video-screenshot.png rename to images/tutorial-ios-video-screenshot.png diff --git a/sdk-installing-for-android-development.md b/installing-for-android-development.md similarity index 99% rename from sdk-installing-for-android-development.md rename to installing-for-android-development.md index fda71c907c..c35cc2cce1 100644 --- a/sdk-installing-for-android-development.md +++ b/installing-for-android-development.md @@ -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 diff --git a/sdk-installing-for-ios-development.md b/installing-for-ios-development.md similarity index 98% rename from sdk-installing-for-ios-development.md rename to installing-for-ios-development.md index 93ec90aea6..b4585c9b4a 100644 --- a/sdk-installing-for-ios-development.md +++ b/installing-for-ios-development.md @@ -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). diff --git a/sdk-installing-on-linux.md b/installing-on-linux.md similarity index 100% rename from sdk-installing-on-linux.md rename to installing-on-linux.md diff --git a/sdk-installing-on-mac-osx.md b/installing-on-mac-osx.md similarity index 100% rename from sdk-installing-on-mac-osx.md rename to installing-on-mac-osx.md diff --git a/sdk-installing-on-windows.md b/installing-on-windows.md similarity index 99% rename from sdk-installing-on-windows.md rename to installing-on-windows.md index fd810ef1ad..412cf60f53 100644 --- a/sdk-installing-on-windows.md +++ b/installing-on-windows.md @@ -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: diff --git a/sdk-installing.md b/installing.md similarity index 66% rename from sdk-installing.md rename to installing.md index 0ae88fc835..900f226823 100644 --- a/sdk-installing.md +++ b/installing.md @@ -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). diff --git a/sdk-legal-information.md b/legal-information.md similarity index 100% rename from sdk-legal-information.md rename to legal-information.md diff --git a/sdk-qt-gstreamer-vs-c-gstreamer.md b/qt-gstreamer-vs-c-gstreamer.md similarity index 100% rename from sdk-qt-gstreamer-vs-c-gstreamer.md rename to qt-gstreamer-vs-c-gstreamer.md diff --git a/sitemap.txt b/sitemap.txt index 5cac71b409..a12ca278c6 100644 --- a/sitemap.txt +++ b/sitemap.txt @@ -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 diff --git a/sdk-table-of-concepts.md b/table-of-concepts.md similarity index 56% rename from sdk-table-of-concepts.md rename to table-of-concepts.md index 5a59f8d15a..a84c2421c1 100644 --- a/sdk-table-of-concepts.md +++ b/table-of-concepts.md @@ -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 diff --git a/ges-launch.md b/tool-ges-launch.md similarity index 100% rename from ges-launch.md rename to tool-ges-launch.md diff --git a/gst-inspect.md b/tool-gst-inspect.md similarity index 100% rename from gst-inspect.md rename to tool-gst-inspect.md diff --git a/gst-launch.md b/tool-gst-launch.md similarity index 100% rename from gst-launch.md rename to tool-gst-launch.md diff --git a/sdk-android-tutorial-a-complete-media-player.md b/tutorial-android-a-complete-media-player.md similarity index 94% rename from sdk-android-tutorial-a-complete-media-player.md rename to tutorial-android-a-complete-media-player.md index 5b0a1027e1..33bcb4c517 100644 --- a/sdk-android-tutorial-a-complete-media-player.md +++ b/tutorial-android-a-complete-media-player.md @@ -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 diff --git a/sdk-android-tutorial-a-running-pipeline.md b/tutorial-android-a-running-pipeline.md similarity index 99% rename from sdk-android-tutorial-a-running-pipeline.md rename to tutorial-android-a-running-pipeline.md index e21f5ad545..e4fc1ff507 100644 --- a/sdk-android-tutorial-a-running-pipeline.md +++ b/tutorial-android-a-running-pipeline.md @@ -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 \ No newline at end of file + [screenshot]: images/tutorial-android-a-running-pipeline-screenshot.png \ No newline at end of file diff --git a/sdk-android-tutorial-link-against-gstreamer.md b/tutorial-android-link-against-gstreamer.md similarity index 98% rename from sdk-android-tutorial-link-against-gstreamer.md rename to tutorial-android-link-against-gstreamer.md index 8c702deb87..c2e9eb6263 100644 --- a/sdk-android-tutorial-link-against-gstreamer.md +++ b/tutorial-android-link-against-gstreamer.md @@ -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. Let’s 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 \ No newline at end of file + [screenshot]: images/tutorial-android-link-against-gstreamer-screenshot.png \ No newline at end of file diff --git a/sdk-android-tutorial-media-player.md b/tutorial-android-media-player.md similarity index 99% rename from sdk-android-tutorial-media-player.md rename to tutorial-android-media-player.md index d3dc281220..7340a6b28b 100644 --- a/sdk-android-tutorial-media-player.md +++ b/tutorial-android-media-player.md @@ -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 \ No newline at end of file diff --git a/sdk-android-tutorial-video.md b/tutorial-android-video.md similarity index 99% rename from sdk-android-tutorial-video.md rename to tutorial-android-video.md index acf4a68924..75e85eadc6 100644 --- a/sdk-android-tutorial-video.md +++ b/tutorial-android-video.md @@ -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 diff --git a/sdk-basic-tutorial-concepts.md b/tutorial-basic-concepts.md similarity index 92% rename from sdk-basic-tutorial-concepts.md rename to tutorial-basic-concepts.md index 689a50eaf1..af1f7aa98c 100644 --- a/sdk-basic-tutorial-concepts.md +++ b/tutorial-basic-concepts.md @@ -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 diff --git a/sdk-basic-tutorial-debugging-tools.md b/tutorial-basic-debugging-tools.md similarity index 100% rename from sdk-basic-tutorial-debugging-tools.md rename to tutorial-basic-debugging-tools.md diff --git a/sdk-basic-tutorial-dynamic-pipelines.md b/tutorial-basic-dynamic-pipelines.md similarity index 95% rename from sdk-basic-tutorial-dynamic-pipelines.md rename to tutorial-basic-dynamic-pipelines.md index 55ba326ff5..afb86cf951 100644 --- a/sdk-basic-tutorial-dynamic-pipelines.md +++ b/tutorial-basic-dynamic-pipelines.md @@ -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 diff --git a/sdk-basic-tutorial-gstreamer-tools.md b/tutorial-basic-gstreamer-tools.md similarity index 96% rename from sdk-basic-tutorial-gstreamer-tools.md rename to tutorial-basic-gstreamer-tools.md index adcbf3c552..83d6f05f91 100644 --- a/sdk-basic-tutorial-gstreamer-tools.md +++ b/tutorial-basic-gstreamer-tools.md @@ -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 diff --git a/sdk-basic-tutorial-handy-elements.md b/tutorial-basic-handy-elements.md similarity index 94% rename from sdk-basic-tutorial-handy-elements.md rename to tutorial-basic-handy-elements.md index 11d93a7cf2..fa8ecc99eb 100644 --- a/sdk-basic-tutorial-handy-elements.md +++ b/tutorial-basic-handy-elements.md @@ -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 diff --git a/sdk-basic-tutorial-hello-world.md b/tutorial-basic-hello-world.md similarity index 90% rename from sdk-basic-tutorial-hello-world.md rename to tutorial-basic-hello-world.md index 7af60b352f..7509db789a 100644 --- a/sdk-basic-tutorial-hello-world.md +++ b/tutorial-basic-hello-world.md @@ -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 diff --git a/sdk-basic-tutorial-media-formats-and-pad-capabilities.md b/tutorial-basic-media-formats-and-pad-capabilities.md similarity index 96% rename from sdk-basic-tutorial-media-formats-and-pad-capabilities.md rename to tutorial-basic-media-formats-and-pad-capabilities.md index b13464a4e4..9472213ecc 100644 --- a/sdk-basic-tutorial-media-formats-and-pad-capabilities.md +++ b/tutorial-basic-media-formats-and-pad-capabilities.md @@ -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. diff --git a/sdk-basic-tutorial-media-information-gathering.md b/tutorial-basic-media-information-gathering.md similarity index 96% rename from sdk-basic-tutorial-media-information-gathering.md rename to tutorial-basic-media-information-gathering.md index 2b49e2f016..2330459340 100644 --- a/sdk-basic-tutorial-media-information-gathering.md +++ b/tutorial-basic-media-information-gathering.md @@ -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. > diff --git a/sdk-basic-tutorial-multithreading-and-pad-availability.md b/tutorial-basic-multithreading-and-pad-availability.md similarity index 95% rename from sdk-basic-tutorial-multithreading-and-pad-availability.md rename to tutorial-basic-multithreading-and-pad-availability.md index fc6fae6471..5cdb3cb818 100644 --- a/sdk-basic-tutorial-multithreading-and-pad-availability.md +++ b/tutorial-basic-multithreading-and-pad-availability.md @@ -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. diff --git a/sdk-basic-tutorial-platform-specific-elements.md b/tutorial-basic-platform-specific-elements.md similarity index 98% rename from sdk-basic-tutorial-platform-specific-elements.md rename to tutorial-basic-platform-specific-elements.md index ea2258bebb..8b60cb435e 100644 --- a/sdk-basic-tutorial-platform-specific-elements.md +++ b/tutorial-basic-platform-specific-elements.md @@ -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 diff --git a/sdk-basic-tutorial-playback-speed.md b/tutorial-basic-playback-speed.md similarity index 95% rename from sdk-basic-tutorial-playback-speed.md rename to tutorial-basic-playback-speed.md index 60b4e7346c..d92a3c93e1 100644 --- a/sdk-basic-tutorial-playback-speed.md +++ b/tutorial-basic-playback-speed.md @@ -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. > diff --git a/sdk-basic-tutorial-short-cutting-the-pipeline.md b/tutorial-basic-short-cutting-the-pipeline.md similarity index 95% rename from sdk-basic-tutorial-short-cutting-the-pipeline.md rename to tutorial-basic-short-cutting-the-pipeline.md index cdec2248c1..512a97c389 100644 --- a/sdk-basic-tutorial-short-cutting-the-pipeline.md +++ b/tutorial-basic-short-cutting-the-pipeline.md @@ -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\! diff --git a/sdk-basic-tutorial-streaming.md b/tutorial-basic-streaming.md similarity index 94% rename from sdk-basic-tutorial-streaming.md rename to tutorial-basic-streaming.md index fd4a31b12c..f6d1d5c221 100644 --- a/sdk-basic-tutorial-streaming.md +++ b/tutorial-basic-streaming.md @@ -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. > diff --git a/sdk-basic-tutorial-time-management.md b/tutorial-basic-time-management.md similarity index 96% rename from sdk-basic-tutorial-time-management.md rename to tutorial-basic-time-management.md index 41b8535295..87d4f69ea9 100644 --- a/sdk-basic-tutorial-time-management.md +++ b/tutorial-basic-time-management.md @@ -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 diff --git a/sdk-basic-tutorial-toolkit-integration.md b/tutorial-basic-toolkit-integration.md similarity index 97% rename from sdk-basic-tutorial-toolkit-integration.md rename to tutorial-basic-toolkit-integration.md index 8b414af75c..b203776651 100644 --- a/sdk-basic-tutorial-toolkit-integration.md +++ b/tutorial-basic-toolkit-integration.md @@ -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 diff --git a/sdk-ios-tutorial-a-basic-media-player.md b/tutorial-ios-a-basic-media-player.md similarity index 98% rename from sdk-ios-tutorial-a-basic-media-player.md rename to tutorial-ios-a-basic-media-player.md index 3d505995cd..09eb9e2f04 100644 --- a/sdk-ios-tutorial-a-basic-media-player.md +++ b/tutorial-ios-a-basic-media-player.md @@ -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 \ No newline at end of file + [screenshot]: images/tutorial-ios-a-basic-media-player-screenshot.png \ No newline at end of file diff --git a/sdk-ios-tutorial-a-complete-media-player.md b/tutorial-ios-a-complete-media-player.md similarity index 88% rename from sdk-ios-tutorial-a-complete-media-player.md rename to tutorial-ios-a-complete-media-player.md index 721b0f389e..f13a8a3574 100644 --- a/sdk-ios-tutorial-a-complete-media-player.md +++ b/tutorial-ios-a-complete-media-player.md @@ -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 diff --git a/sdk-ios-tutorial-a-running-pipeline.md b/tutorial-ios-a-running-pipeline.md similarity index 98% rename from sdk-ios-tutorial-a-running-pipeline.md rename to tutorial-ios-a-running-pipeline.md index 4c889c7d06..706e6d28fd 100644 --- a/sdk-ios-tutorial-a-running-pipeline.md +++ b/tutorial-ios-a-running-pipeline.md @@ -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 GLib’s 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 \ No newline at end of file + [screenshot]: images/tutorial-ios-a-running-pipeline-screenshot.png \ No newline at end of file diff --git a/sdk-ios-tutorial-link-against-gstreamer.md b/tutorial-ios-link-against-gstreamer.md similarity index 97% rename from sdk-ios-tutorial-link-against-gstreamer.md rename to tutorial-ios-link-against-gstreamer.md index 863f1e5a7f..24a8da8fd4 100644 --- a/sdk-ios-tutorial-link-against-gstreamer.md +++ b/tutorial-ios-link-against-gstreamer.md @@ -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 \ No newline at end of file + [screenshot]: images/tutorial-ios-link-against-gstreamer-screenshot.png \ No newline at end of file diff --git a/sdk-ios-tutorial-video.md b/tutorial-ios-video.md similarity index 98% rename from sdk-ios-tutorial-video.md rename to tutorial-ios-video.md index 5c422d6497..d01c725bd1 100644 --- a/sdk-ios-tutorial-video.md +++ b/tutorial-ios-video.md @@ -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 \ No newline at end of file + [screenshot]: images/tutorial-ios-video-screenshot.png \ No newline at end of file diff --git a/sdk-playback-tutorial-audio-visualization.md b/tutorial-playback-audio-visualization.md similarity index 95% rename from sdk-playback-tutorial-audio-visualization.md rename to tutorial-playback-audio-visualization.md index bec0208d1d..f9c81677bf 100644 --- a/sdk-playback-tutorial-audio-visualization.md +++ b/tutorial-playback-audio-visualization.md @@ -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 diff --git a/sdk-playback-tutorial-color-balance.md b/tutorial-playback-color-balance.md similarity index 96% rename from sdk-playback-tutorial-color-balance.md rename to tutorial-playback-color-balance.md index eec4aacaec..262f7e3ff3 100644 --- a/sdk-playback-tutorial-color-balance.md +++ b/tutorial-playback-color-balance.md @@ -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 diff --git a/sdk-playback-tutorial-custom-playbin-sinks.md b/tutorial-playback-custom-playbin-sinks.md similarity index 95% rename from sdk-playback-tutorial-custom-playbin-sinks.md rename to tutorial-playback-custom-playbin-sinks.md index f88e14deea..d648922a61 100644 --- a/sdk-playback-tutorial-custom-playbin-sinks.md +++ b/tutorial-playback-custom-playbin-sinks.md @@ -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 diff --git a/sdk-playback-tutorial-digital-audio-pass-through.md b/tutorial-playback-digital-audio-pass-through.md similarity index 97% rename from sdk-playback-tutorial-digital-audio-pass-through.md rename to tutorial-playback-digital-audio-pass-through.md index f0f5b88fba..93927c071a 100644 --- a/sdk-playback-tutorial-digital-audio-pass-through.md +++ b/tutorial-playback-digital-audio-pass-through.md @@ -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 diff --git a/sdk-playback-tutorial-hardware-accelerated-video-decoding.md b/tutorial-playback-hardware-accelerated-video-decoding.md similarity index 100% rename from sdk-playback-tutorial-hardware-accelerated-video-decoding.md rename to tutorial-playback-hardware-accelerated-video-decoding.md diff --git a/sdk-playback-tutorial-playbin-usage.md b/tutorial-playback-playbin-usage.md similarity index 98% rename from sdk-playback-tutorial-playbin-usage.md rename to tutorial-playback-playbin-usage.md index 5b14502e44..e747687313 100644 --- a/sdk-playback-tutorial-playbin-usage.md +++ b/tutorial-playback-playbin-usage.md @@ -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 diff --git a/sdk-playback-tutorial-progressive-streaming.md b/tutorial-playback-progressive-streaming.md similarity index 95% rename from sdk-playback-tutorial-progressive-streaming.md rename to tutorial-playback-progressive-streaming.md index dacaebb7b1..75723a7d36 100644 --- a/sdk-playback-tutorial-progressive-streaming.md +++ b/tutorial-playback-progressive-streaming.md @@ -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). Let’s review +This code is based on that of [](tutorial-basic-streaming.md). Let’s 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 diff --git a/sdk-playback-tutorial-short-cutting-the-pipeline.md b/tutorial-playback-short-cutting-the-pipeline.md similarity index 94% rename from sdk-playback-tutorial-short-cutting-the-pipeline.md rename to tutorial-playback-short-cutting-the-pipeline.md index ffc5d38ce3..7aa4a2f239 100644 --- a/sdk-playback-tutorial-short-cutting-the-pipeline.md +++ b/tutorial-playback-short-cutting-the-pipeline.md @@ -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 diff --git a/sdk-playback-tutorial-subtitle-management.md b/tutorial-playback-subtitle-management.md similarity index 98% rename from sdk-playback-tutorial-subtitle-management.md rename to tutorial-playback-subtitle-management.md index 3deda11b25..9dc5872714 100644 --- a/sdk-playback-tutorial-subtitle-management.md +++ b/tutorial-playback-subtitle-management.md @@ -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 diff --git a/sdk-qt-tutorials.md b/tutorial-qt-tutorials.md similarity index 80% rename from sdk-qt-tutorials.md rename to tutorial-qt-tutorials.md index 1f8010b83f..e88c60ce85 100644 --- a/sdk-qt-tutorials.md +++ b/tutorial-qt-tutorials.md @@ -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\# diff --git a/sdk-android-tutorials.md b/tutorials-android.md similarity index 78% rename from sdk-android-tutorials.md rename to tutorials-android.md index 2a3ac369cf..b0cd57f2ed 100644 --- a/sdk-android-tutorials.md +++ b/tutorials-android.md @@ -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 diff --git a/sdk-basic-tutorials.md b/tutorials-basic.md similarity index 100% rename from sdk-basic-tutorials.md rename to tutorials-basic.md diff --git a/sdk-ios-tutorials.md b/tutorials-ios.md similarity index 81% rename from sdk-ios-tutorials.md rename to tutorials-ios.md index 96aa35c5b0..a45d3f53eb 100644 --- a/sdk-ios-tutorials.md +++ b/tutorials-ios.md @@ -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: diff --git a/sdk-playback-tutorials.md b/tutorials-playback.md similarity index 100% rename from sdk-playback-tutorials.md rename to tutorials-playback.md diff --git a/sdk-tutorials.md b/tutorials.md similarity index 91% rename from sdk-tutorials.md rename to tutorials.md index 4cf9f9a4a2..bbd113ad9a 100644 --- a/sdk-tutorials.md +++ b/tutorials.md @@ -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/ diff --git a/sdk-using-appsink-appsrc-in-qt.md b/using-appsink-appsrc-in-qt.md similarity index 100% rename from sdk-using-appsink-appsrc-in-qt.md rename to using-appsink-appsrc-in-qt.md