From 62a71c3070ed411e5c754de4a47f8d6628c766c9 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 27 May 2016 11:15:15 -0400 Subject: [PATCH 1/4] Add missing images And cleanup a bit the Installing the SDK page --- Installing+the+SDK.markdown | 5 ++++- attachments/1540163.png | Bin 0 -> 8991 bytes attachments/1540164.png | Bin 0 -> 31464 bytes attachments/2654239.png | Bin 0 -> 5145 bytes attachments/3539150.jpeg | Bin 0 -> 6259 bytes attachments/emoticons/information.png | Bin 0 -> 3110 bytes 6 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 attachments/1540163.png create mode 100644 attachments/1540164.png create mode 100644 attachments/2654239.png create mode 100644 attachments/3539150.jpeg create mode 100644 attachments/emoticons/information.png diff --git a/Installing+the+SDK.markdown b/Installing+the+SDK.markdown index 4490ac2cf2..e5bb4cd7b9 100644 --- a/Installing+the+SDK.markdown +++ b/Installing+the+SDK.markdown @@ -2,7 +2,10 @@ ## Choose your platform by clicking on the corresponding logo -[![](attachments/1540163.png)](Installing+on+Mac+OS+X.markdown) [![](attachments/1540164.png)](Installing+on+Windows.markdown) [![](attachments/2654239.png)](Installing+for+Android+development.markdown) [![](attachments/3539150.jpeg)](Installing+for+iOS+development.markdown) +[![](attachments/1540163.png)](Installing+on+Mac+OS+X.markdown) +[![](attachments/1540164.png)](Installing+on+Windows.markdown) +[![](attachments/2654239.png)](Installing+for+Android+development.markdown) +[![](attachments/3539150.jpeg)](Installing+for+iOS+development.markdown) ## Linux diff --git a/attachments/1540163.png b/attachments/1540163.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cc27865ebd22293d77ef70fe3c4236053f2c15 GIT binary patch literal 8991 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 TIkxZjFDqIay6UxXoA7@Fx^9Y* literal 0 HcmV?d00001 diff --git a/attachments/1540164.png b/attachments/1540164.png new file mode 100644 index 0000000000000000000000000000000000000000..818c98401a5096e7ef1e0a82c514f03ce0e77bda GIT binary patch literal 31464 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 literal 0 HcmV?d00001 diff --git a/attachments/2654239.png b/attachments/2654239.png new file mode 100644 index 0000000000000000000000000000000000000000..6eb5fd689d83ecbf915b457b908b487b46fc9bc4 GIT binary patch literal 5145 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 AkN^Mx literal 0 HcmV?d00001 diff --git a/attachments/emoticons/information.png b/attachments/emoticons/information.png new file mode 100644 index 0000000000000000000000000000000000000000..44860ab8e7c735a08388ed423c33d5d80be4fdf9 GIT binary patch literal 3110 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 AIsgCw literal 0 HcmV?d00001 From 0ea07b873aeae87b897716f80ba5059210a763e1 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 27 May 2016 11:53:14 -0400 Subject: [PATCH 2/4] Remove references to Confluence and last edit informations They make no sense anymore --- 2012.11+Brahmaputra.markdown | 4 ---- 2012.5+Amazon.markdown | 4 ---- 2012.7+Amazon+%28Bugfix+Release+1%29.markdown | 4 ---- 2012.9+Amazon+%28Bugfix+Release+2%29.markdown | 4 ---- 2013.6+Congo.markdown | 4 ---- Android+tutorial+1+Link+against+GStreamer.markdown | 4 ---- Android+tutorial+2+A+running+pipeline.markdown | 4 ---- Android+tutorial+3+Video.markdown | 4 ---- Android+tutorial+4+A+basic+media+player.markdown | 4 ---- Android+tutorial+5+A+Complete+media+player.markdown | 4 ---- Android+tutorials.markdown | 4 ---- Basic+Media+Player.markdown | 4 ---- Basic+tutorial+10+GStreamer+tools.markdown | 4 ---- Basic+tutorial+11+Debugging+tools.markdown | 4 ---- Basic+tutorial+12+Streaming.markdown | 4 ---- Basic+tutorial+13+Playback+speed.markdown | 4 ---- Basic+tutorial+14+Handy+elements.markdown | 4 ---- Basic+tutorial+15+Clutter+integration.markdown | 4 ---- Basic+tutorial+16+Platform-specific+elements.markdown | 4 ---- Basic+tutorial+9+Media+information+gathering.markdown | 4 ---- Contact.markdown | 4 ---- Deploying+your+application.markdown | 4 ---- Frequently+Asked+Questions.markdown | 4 ---- GStreamer+reference.markdown | 4 ---- Home.markdown | 1 - Installing+on+Linux.markdown | 4 ---- Legal+information.markdown | 4 ---- Mac+OS+X+deployment.markdown | 4 ---- Multiplatform+deployment+using+Cerbero.markdown | 4 ---- Playback+tutorial+2+Subtitle+management.markdown | 4 ---- Playback+tutorial+3+Short-cutting+the+pipeline.markdown | 4 ---- Playback+tutorial+4+Progressive+streaming.markdown | 4 ---- Playback+tutorial+5+Color+Balance.markdown | 4 ---- Playback+tutorial+6+Audio+visualization.markdown | 4 ---- Playback+tutorial+7+Custom+playbin2+sinks.markdown | 4 ---- ...k+tutorial+8+Hardware-accelerated+video+decoding.markdown | 4 ---- Playback+tutorial+9+Digital+audio+pass-through.markdown | 4 ---- Playback+tutorials.markdown | 4 ---- Qt+tutorials.markdown | 4 ---- QtGStreamer+vs+C+GStreamer.markdown | 4 ---- Releases.markdown | 4 ---- TODO.markdown | 1 - Table+of+Concepts.markdown | 1 - Upcoming+tutorials.markdown | 4 ---- Using+appsink%2Fappsrc+in+Qt.markdown | 4 ---- Windows+deployment.markdown | 4 ---- gst-inspect.markdown | 4 ---- gst-launch.markdown | 4 ---- iOS+tutorial+1+Link+against+GStreamer.markdown | 4 ---- iOS+tutorial+2+A+running+pipeline.markdown | 4 ---- iOS+tutorial+3+Video.markdown | 4 ---- iOS+tutorial+4+A+basic+media+player.markdown | 4 ---- iOS+tutorial+5+A+Complete+media+player.markdown | 5 ----- iOS+tutorials.markdown | 4 ---- 54 files changed, 208 deletions(-) diff --git a/2012.11+Brahmaputra.markdown b/2012.11+Brahmaputra.markdown index 0ef53b525c..b4ee0e35ec 100644 --- a/2012.11+Brahmaputra.markdown +++ b/2012.11+Brahmaputra.markdown @@ -1,7 +1,5 @@ # 2012.11 Brahmaputra -This page last changed on Nov 28, 2012 by slomo. - # Release – GStreamer SDK 2012.11 Brahmaputra **2012-11-28 // [http://www.gstreamer.com](http://www.gstreamer.com/)** @@ -280,5 +278,3 @@ Commercial support:  Bug tracker:  - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/2012.5+Amazon.markdown b/2012.5+Amazon.markdown index 3574f69919..5448d91db0 100644 --- a/2012.5+Amazon.markdown +++ b/2012.5+Amazon.markdown @@ -1,7 +1,5 @@ # 2012.5 Amazon -This page last changed on Jun 15, 2012 by slomo. - # Release – GStreamer SDK 2012.5 Amazon – Release **2012-06-07 // ** @@ -242,5 +240,3 @@ Bug tracker:    - -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/2012.7+Amazon+%28Bugfix+Release+1%29.markdown b/2012.7+Amazon+%28Bugfix+Release+1%29.markdown index d2e98eced9..bb8af92b52 100644 --- a/2012.7+Amazon+%28Bugfix+Release+1%29.markdown +++ b/2012.7+Amazon+%28Bugfix+Release+1%29.markdown @@ -1,7 +1,5 @@ # 2012.7 Amazon (Bugfix Release 1) -This page last changed on Jul 11, 2012 by slomo. - # Release – GStreamer SDK 2012.7 Amazon – Bugfix Release 1 **2012-07-06 // [http://www.gstreamer.com](http://www.gstreamer.com/)** @@ -260,5 +258,3 @@ Bug tracker:    - -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/2012.9+Amazon+%28Bugfix+Release+2%29.markdown b/2012.9+Amazon+%28Bugfix+Release+2%29.markdown index 0fd82eb77d..781940db52 100644 --- a/2012.9+Amazon+%28Bugfix+Release+2%29.markdown +++ b/2012.9+Amazon+%28Bugfix+Release+2%29.markdown @@ -1,7 +1,5 @@ # 2012.9 Amazon (Bugfix Release 2) -This page last changed on Sep 18, 2012 by ylatuya. - # Release – GStreamer SDK 2012.9 Amazon – Bugfix Release 2 **2012-09-18 // [http://www.gstreamer.com](http://www.gstreamer.com/)** @@ -258,5 +256,3 @@ Bug tracker:    - -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/2013.6+Congo.markdown b/2013.6+Congo.markdown index 51b1ddec9c..5d27554579 100644 --- a/2013.6+Congo.markdown +++ b/2013.6+Congo.markdown @@ -1,7 +1,5 @@ # 2013.6 Congo -This page last changed on Jun 11, 2013 by ylatuya. - # Release – GStreamer SDK 2013.6 Congo **2013-06-12 // [http://www.gstreamer.com](http://www.gstreamer.com/)** @@ -301,5 +299,3 @@ Commercial support:  Bug tracker:  - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Android+tutorial+1+Link+against+GStreamer.markdown b/Android+tutorial+1+Link+against+GStreamer.markdown index b94fbafc48..0da24544bc 100644 --- a/Android+tutorial+1+Link+against+GStreamer.markdown +++ b/Android+tutorial+1+Link+against+GStreamer.markdown @@ -1,7 +1,5 @@ # Android tutorial 1: Link against GStreamer -This page last changed on May 02, 2013 by xartigas. - # Goal![](attachments/thumbnails/2687057/2654326) This first Android tutorial is extremely simple: it just retrieves the @@ -292,5 +290,3 @@ As usual, it has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [tutorial1-screenshot.png](attachments/2687057/2654326.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Android+tutorial+2+A+running+pipeline.markdown b/Android+tutorial+2+A+running+pipeline.markdown index 86ef082dba..0faafe5df6 100644 --- a/Android+tutorial+2+A+running+pipeline.markdown +++ b/Android+tutorial+2+A+running+pipeline.markdown @@ -1,7 +1,5 @@ # Android tutorial 2: A running pipeline -This page last changed on May 07, 2013 by xartigas. - # Goal ![](attachments/thumbnails/2687063/2654324) The tutorials seen in the [Basic](Basic%2Btutorials.html) and @@ -1061,5 +1059,3 @@ As usual, it has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [tutorial2-screenshot.png](attachments/2687063/2654324.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Android+tutorial+3+Video.markdown b/Android+tutorial+3+Video.markdown index 5c43f3bd79..7675ee8161 100644 --- a/Android+tutorial+3+Video.markdown +++ b/Android+tutorial+3+Video.markdown @@ -1,7 +1,5 @@ # Android tutorial 3: Video -This page last changed on Nov 05, 2012 by xartigas. - # Goal ![](attachments/thumbnails/2687065/2654413) Except for [Basic tutorial 5: GUI toolkit @@ -927,5 +925,3 @@ It has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [tutorial3-screenshot.png](attachments/2687065/2654413.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Android+tutorial+4+A+basic+media+player.markdown b/Android+tutorial+4+A+basic+media+player.markdown index fd0a0e3230..042148dee0 100644 --- a/Android+tutorial+4+A+basic+media+player.markdown +++ b/Android+tutorial+4+A+basic+media+player.markdown @@ -1,7 +1,5 @@ # Android tutorial 4: A basic media player -This page last changed on May 21, 2013 by xartigas. - # Goal![](attachments/thumbnails/2687067/2654419) Enough testing with synthetic images and audio tones\! This tutorial @@ -1429,5 +1427,3 @@ As usual, it has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [tutorial4-screenshot.png](attachments/2687067/2654419.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Android+tutorial+5+A+Complete+media+player.markdown b/Android+tutorial+5+A+Complete+media+player.markdown index b01935d7fd..5540c97eed 100644 --- a/Android+tutorial+5+A+Complete+media+player.markdown +++ b/Android+tutorial+5+A+Complete+media+player.markdown @@ -1,7 +1,5 @@ # Android tutorial 5: A Complete media player -This page last changed on Nov 28, 2012 by xartigas. - # Goal![](attachments/thumbnails/2687069/2654436) This tutorial wants to be the “demo application” that showcases what can @@ -109,5 +107,3 @@ It has been a pleasure having you here, and see you soon\! [ic\_media\_next.png](attachments/2687069/2654438.png) (image/png) ![](images/icons/bullet_blue.gif) [ic\_media\_next.png](attachments/2687069/2654437.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Android+tutorials.markdown b/Android+tutorials.markdown index cd77bb4ac1..3982e71db9 100644 --- a/Android+tutorials.markdown +++ b/Android+tutorials.markdown @@ -1,7 +1,5 @@ # Android tutorials -This page last changed on May 02, 2013 by xartigas. - # Welcome to the GStreamer SDK Android tutorials These tutorials describe Android-specific topics. General GStreamer @@ -33,5 +31,3 @@ The header files, though, are well commented. If you installed the Android NDK in the `$(ANDROID_NDK_ROOT)` folder, you can find the header files in `$(ANDROID_NDK_ROOT)\platforms\android-9\arch-arm\usr\include\android`. - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+Media+Player.markdown b/Basic+Media+Player.markdown index 8f8e2d9cd2..51606a5bc6 100644 --- a/Basic+Media+Player.markdown +++ b/Basic+Media+Player.markdown @@ -1,7 +1,5 @@ # Basic Media Player -This page last changed on May 24, 2013 by xartigas. - # Goal This tutorial shows how to create a basic media player with @@ -872,5 +870,3 @@ This tutorial has shown: - Updating the GUI based on playback time It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+10+GStreamer+tools.markdown b/Basic+tutorial+10+GStreamer+tools.markdown index a6628d926a..80b89c3c87 100644 --- a/Basic+tutorial+10+GStreamer+tools.markdown +++ b/Basic+tutorial+10+GStreamer+tools.markdown @@ -1,7 +1,5 @@ # Basic tutorial 10: GStreamer tools -This page last changed on Jun 01, 2012 by xartigas. - # Goal GStreamer (and the GStreamer SDK) come with a set of tools which range @@ -463,5 +461,3 @@ This tutorial has shown: `gst-discoverer`. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+11+Debugging+tools.markdown b/Basic+tutorial+11+Debugging+tools.markdown index c2848b3f93..6030a3fb1d 100644 --- a/Basic+tutorial+11+Debugging+tools.markdown +++ b/Basic+tutorial+11+Debugging+tools.markdown @@ -1,7 +1,5 @@ # Basic tutorial 11: Debugging tools -This page last changed on Jun 04, 2012 by xartigas. - # Goal Sometimes things won’t go as expected and the error messages retrieved @@ -227,5 +225,3 @@ It has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [playbin2.png](attachments/327830/2424840.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+12+Streaming.markdown b/Basic+tutorial+12+Streaming.markdown index d4c92026ac..4be8025b96 100644 --- a/Basic+tutorial+12+Streaming.markdown +++ b/Basic+tutorial+12+Streaming.markdown @@ -1,7 +1,5 @@ # Basic tutorial 12: Streaming -This page last changed on Sep 28, 2012 by xartigas. - # Goal Playing media straight from the Internet without storing it locally is @@ -285,5 +283,3 @@ It has been a pleasure having you here, and see you soon\! [basic-tutorial-12.c](attachments/327806/2424843.c) (text/plain) ![](images/icons/bullet_blue.gif) [vs2010.zip](attachments/327806/2424844.zip) (application/zip) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+13+Playback+speed.markdown b/Basic+tutorial+13+Playback+speed.markdown index 8fbec4c135..4e61c8e847 100644 --- a/Basic+tutorial+13+Playback+speed.markdown +++ b/Basic+tutorial+13+Playback+speed.markdown @@ -1,7 +1,5 @@ # Basic tutorial 13: Playback speed -This page last changed on Jul 06, 2012 by xartigas. - # Goal Fast-forward, reverse-playback and slow-motion are all techniques @@ -404,5 +402,3 @@ It has been a pleasure having you here, and see you soon\! [basic-tutorial-13.c](attachments/327800/2424883.c) (text/plain) ![](images/icons/bullet_blue.gif) [vs2010.zip](attachments/327800/2424884.zip) (application/zip) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+14+Handy+elements.markdown b/Basic+tutorial+14+Handy+elements.markdown index 35b7077d3d..cc091cd62e 100644 --- a/Basic+tutorial+14+Handy+elements.markdown +++ b/Basic+tutorial+14+Handy+elements.markdown @@ -1,7 +1,5 @@ # Basic tutorial 14: Handy elements -This page last changed on May 13, 2014 by xartigas. - # Goal This tutorial gives a list of handy GStreamer elements that are worth @@ -362,5 +360,3 @@ valuable for production pipelines, whereas others are only needed for debugging purposes. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+15+Clutter+integration.markdown b/Basic+tutorial+15+Clutter+integration.markdown index a593dfbd32..052be24178 100644 --- a/Basic+tutorial+15+Clutter+integration.markdown +++ b/Basic+tutorial+15+Clutter+integration.markdown @@ -1,7 +1,5 @@ # Basic tutorial 15: Clutter integration -This page last changed on Jul 11, 2012 by xartigas. - # Goal “[Clutter](https://clutter-project.org/) is an open source software @@ -250,5 +248,3 @@ This tutorial has shown: ` cluttersink` or `autocluttersink`. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+16+Platform-specific+elements.markdown b/Basic+tutorial+16+Platform-specific+elements.markdown index 1fc942da8c..206e3464d9 100644 --- a/Basic+tutorial+16+Platform-specific+elements.markdown +++ b/Basic+tutorial+16+Platform-specific+elements.markdown @@ -1,7 +1,5 @@ # Basic tutorial 16: Platform-specific elements -This page last changed on May 30, 2013 by xartigas. - # Goal Even though GStreamer is a multiplatform framework, not all the elements @@ -207,5 +205,3 @@ worry about them when using multiplatform elements like `playbin2` or instancing them manually. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Basic+tutorial+9+Media+information+gathering.markdown b/Basic+tutorial+9+Media+information+gathering.markdown index a9fdc01fba..e93e9cd119 100644 --- a/Basic+tutorial+9+Media+information+gathering.markdown +++ b/Basic+tutorial+9+Media+information+gathering.markdown @@ -1,7 +1,5 @@ # Basic tutorial 9: Media information gathering -This page last changed on May 30, 2012 by xartigas. - # Goal Sometimes you might want to quickly find out what kind of media a file @@ -548,5 +546,3 @@ This tutorial has shown: obtained with `gst_discoverer_info_get_result()`. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Contact.markdown b/Contact.markdown index 2001408ac7..cbcac2d83d 100644 --- a/Contact.markdown +++ b/Contact.markdown @@ -1,7 +1,5 @@ # Contact -This page last changed on Dec 03, 2012 by xartigas. - . @@ -33,5 +31,3 @@ We want to hear from you!

- -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/Deploying+your+application.markdown b/Deploying+your+application.markdown index fc675ac28e..53f443d561 100644 --- a/Deploying+your+application.markdown +++ b/Deploying+your+application.markdown @@ -1,7 +1,5 @@ # Deploying your application -This page last changed on Jun 12, 2013 by xartigas. - Once the development of your application is finished, you will need to deploy it to the target machine, usually in the form of a package or installer. You have several options here, and, even though this subject @@ -126,5 +124,3 @@ options. Cerbero](Multiplatform%2Bdeployment%2Busing%2BCerbero.html)   - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Frequently+Asked+Questions.markdown b/Frequently+Asked+Questions.markdown index e404ddb90d..8bbd869d2f 100644 --- a/Frequently+Asked+Questions.markdown +++ b/Frequently+Asked+Questions.markdown @@ -1,7 +1,5 @@ # Frequently Asked Questions -This page last changed on Jun 12, 2013 by xartigas. - @@ -152,5 +150,3 @@ The GStreamer SDK supports the Android platform since [version 2012.11 The GStreamer SDK supports the iOS platform since [version 2013.6 (Congo)](2013.6%2BCongo.html). - -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/GStreamer+reference.markdown b/GStreamer+reference.markdown index 56ea7a0e1f..2096f20484 100644 --- a/GStreamer+reference.markdown +++ b/GStreamer+reference.markdown @@ -1,7 +1,5 @@ # GStreamer reference -This page last changed on Jun 25, 2012 by xartigas. - # GStreamer reference This is the complete documentation for the GStreamer API, automatically @@ -52,5 +50,3 @@ generated from the source code of GStreamer.
- -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/Home.markdown b/Home.markdown index 1f9267eb85..ea18d83729 100644 --- a/Home.markdown +++ b/Home.markdown @@ -7,7 +7,6 @@ Feel free to jump straight to the download section, start practicing with the tutorials, or read the F.A.Q. if you don’t know what this is all about. - | Section | | |--|--| | [![](attachments/download.png)](Installing+the+SDK.markdown) | [Download and install GStreamer](Installing+the+SDK.markdown) | diff --git a/Installing+on+Linux.markdown b/Installing+on+Linux.markdown index c54d745f38..6d16455ed2 100644 --- a/Installing+on+Linux.markdown +++ b/Installing+on+Linux.markdown @@ -1,7 +1,5 @@ # Installing on Linux -This page last changed on Jun 12, 2013 by slomo. - # Prerequisites To develop applications using the GStreamer SDK on Linux you will need @@ -280,5 +278,3 @@ at `gst-sdk-shell` to see what this script needs to do. It is also possible to create a custom wrapper script with the `gensdkshell` command of the Cerbero build system, if you built the SDK yourself as explained above. - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Legal+information.markdown b/Legal+information.markdown index 424f415231..f9e120fd75 100644 --- a/Legal+information.markdown +++ b/Legal+information.markdown @@ -1,7 +1,5 @@ # Legal information -This page last changed on Jun 11, 2012 by xartigas. - # Installer, default installation The installer (Microsoft Windows and MacOSX) and the default @@ -217,5 +215,3 @@ relink the library (“any data and utility programs needed for reproducing the executable from it”, except the “major components”) and that the license of the conditions of the resulting program must allow decompilation to debug modifications to the library. - -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/Mac+OS+X+deployment.markdown b/Mac+OS+X+deployment.markdown index 1c42cab98d..e6d2175653 100644 --- a/Mac+OS+X+deployment.markdown +++ b/Mac+OS+X+deployment.markdown @@ -1,7 +1,5 @@ # Mac OS X deployment -This page last changed on Nov 28, 2012 by xartigas. - This page explains how to deploy GStreamer along your application. There are different mechanisms, which have been reviewed in [Deploying your application](Deploying%2Byour%2Bapplication.html). The details for some @@ -379,5 +377,3 @@ You can use the following functions: [PackageMaker1.png](attachments/2097292/2424841.png) (image/png) ![](images/icons/bullet_blue.gif) [PackageMaker2.png](attachments/2097292/2424842.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Multiplatform+deployment+using+Cerbero.markdown b/Multiplatform+deployment+using+Cerbero.markdown index 93345321bf..b552661908 100644 --- a/Multiplatform+deployment+using+Cerbero.markdown +++ b/Multiplatform+deployment+using+Cerbero.markdown @@ -1,7 +1,5 @@ # Multiplatform deployment using Cerbero -This page last changed on Nov 21, 2012 by slomo. - Cerbero is the build and packaging system used to construct the GStreamer SDK. It uses “recipe” files that indicate how to build particular projects, and on what other projects they depend. @@ -481,5 +479,3 @@ in the `packages` directory. This command will build your software and all its dependencies, and then make individual packages for them (both the dependencies and your software). The resulting files will be in the current working directory. - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+2+Subtitle+management.markdown b/Playback+tutorial+2+Subtitle+management.markdown index a5f99ef810..69c8480e36 100644 --- a/Playback+tutorial+2+Subtitle+management.markdown +++ b/Playback+tutorial+2+Subtitle+management.markdown @@ -1,7 +1,5 @@ # Playback tutorial 2: Subtitle management -This page last changed on May 16, 2012 by xartigas. - # Goal This tutorial is very similar to the previous one, but instead of @@ -398,5 +396,3 @@ It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+3+Short-cutting+the+pipeline.markdown b/Playback+tutorial+3+Short-cutting+the+pipeline.markdown index 2ba7a35964..a2424b1e2b 100644 --- a/Playback+tutorial+3+Short-cutting+the+pipeline.markdown +++ b/Playback+tutorial+3+Short-cutting+the+pipeline.markdown @@ -1,7 +1,5 @@ # Playback tutorial 3: Short-cutting the pipeline -This page last changed on Jun 26, 2012 by xartigas. - # Goal [Basic tutorial 8: Short-cutting the @@ -267,5 +265,3 @@ It has been a pleasure having you here, and see you soon\! [vs2010.zip](attachments/1442200/2424849.zip) (application/zip) ![](images/icons/bullet_blue.gif) [playback-tutorial-3.c](attachments/1442200/2424848.c) (text/plain) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+4+Progressive+streaming.markdown b/Playback+tutorial+4+Progressive+streaming.markdown index f4728f4df6..4a24b24d1d 100644 --- a/Playback+tutorial+4+Progressive+streaming.markdown +++ b/Playback+tutorial+4+Progressive+streaming.markdown @@ -1,7 +1,5 @@ # Playback tutorial 4: Progressive streaming -This page last changed on Sep 13, 2012 by xartigas. - # Goal [Basic tutorial 12: @@ -445,5 +443,3 @@ It has been a pleasure having you here, and see you soon\! [playback-tutorial-4.c](attachments/327808/2424846.c) (text/plain) ![](images/icons/bullet_blue.gif) [vs2010.zip](attachments/327808/2424847.zip) (application/zip) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+5+Color+Balance.markdown b/Playback+tutorial+5+Color+Balance.markdown index 2e17378bec..097056dc74 100644 --- a/Playback+tutorial+5+Color+Balance.markdown +++ b/Playback+tutorial+5+Color+Balance.markdown @@ -1,7 +1,5 @@ # Playback tutorial 5: Color Balance -This page last changed on Jun 25, 2012 by xartigas. - # Goal Brightness, Contrast, Hue and Saturation are common video adjustments, @@ -325,5 +323,3 @@ It has been a pleasure having you here, and see you soon\! [playback-tutorial-5.c](attachments/327804/2424874.c) (text/plain) ![](images/icons/bullet_blue.gif) [vs2010.zip](attachments/327804/2424875.zip) (application/zip) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+6+Audio+visualization.markdown b/Playback+tutorial+6+Audio+visualization.markdown index a4e07ebe53..7b40bcfca7 100644 --- a/Playback+tutorial+6+Audio+visualization.markdown +++ b/Playback+tutorial+6+Audio+visualization.markdown @@ -1,7 +1,5 @@ # Playback tutorial 6: Audio visualization -This page last changed on Jun 26, 2012 by xartigas. - # Goal GStreamer comes with a set of elements that turn audio into video. They @@ -271,5 +269,3 @@ It has been a pleasure having you here, and see you soon\! [vs2010.zip](attachments/327802/2424878.zip) (application/zip) ![](images/icons/bullet_blue.gif) [playback-tutorial-6.c](attachments/327802/2424879.c) (text/plain) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+7+Custom+playbin2+sinks.markdown b/Playback+tutorial+7+Custom+playbin2+sinks.markdown index 2ad988e398..9705c4948b 100644 --- a/Playback+tutorial+7+Custom+playbin2+sinks.markdown +++ b/Playback+tutorial+7+Custom+playbin2+sinks.markdown @@ -1,7 +1,5 @@ # Playback tutorial 7: Custom playbin2 sinks -This page last changed on Dec 03, 2012 by xartigas. - # Goal `playbin2` can be further customized by manually selecting its audio and @@ -241,5 +239,3 @@ It has been a pleasure having you here, and see you soon\! [playback-tutorial-7.c](attachments/1441842/2424881.c) (text/plain) ![](images/icons/bullet_blue.gif) [vs2010.zip](attachments/1441842/2424882.zip) (application/zip) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+8+Hardware-accelerated+video+decoding.markdown b/Playback+tutorial+8+Hardware-accelerated+video+decoding.markdown index c97adb961b..148b766ab9 100644 --- a/Playback+tutorial+8+Hardware-accelerated+video+decoding.markdown +++ b/Playback+tutorial+8+Hardware-accelerated+video+decoding.markdown @@ -1,7 +1,5 @@ # Playback tutorial 8: Hardware-accelerated video decoding -This page last changed on Jul 24, 2012 by xartigas. - # Goal Hardware-accelerated video decoding has rapidly become a necessity, as @@ -346,5 +344,3 @@ accelerated video decoding. Particularly, rank of the decoding element with `gst_plugin_feature_set_rank()`. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorial+9+Digital+audio+pass-through.markdown b/Playback+tutorial+9+Digital+audio+pass-through.markdown index cbcc918323..79229c4915 100644 --- a/Playback+tutorial+9+Digital+audio+pass-through.markdown +++ b/Playback+tutorial+9+Digital+audio+pass-through.markdown @@ -1,7 +1,5 @@ # Playback tutorial 9: Digital audio pass-through -This page last changed on Jul 24, 2012 by xartigas. - # Goal This tutorial shows how GStreamer handles digital audio pass-through. @@ -104,5 +102,3 @@ In particular, it has shown that: panel of the operating system. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Playback+tutorials.markdown b/Playback+tutorials.markdown index b2eca39583..d824f6fc04 100644 --- a/Playback+tutorials.markdown +++ b/Playback+tutorials.markdown @@ -1,10 +1,6 @@ # Playback tutorials -This page last changed on Mar 28, 2012 by xartigas. - # Welcome to the GStreamer SDK Playback tutorials These tutorials explain everything you need to know to produce a media playback application using GStreamer. - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Qt+tutorials.markdown b/Qt+tutorials.markdown index fb7d8dae34..9a925d8a9b 100644 --- a/Qt+tutorials.markdown +++ b/Qt+tutorials.markdown @@ -1,7 +1,5 @@ # Qt tutorials -This page last changed on May 02, 2013 by tdfischer. - # Welcome to the GStreamer SDK Qt tutorials These tutorials describe Qt-specific topics. General GStreamer concepts @@ -14,5 +12,3 @@ The Qt tutorials have the same structure as the [Android tutorials](Android%2Btutorials.html): Each one builds on top of the previous one and adds progressively more functionality, until a working media player application is obtained in \#FIXME\# - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/QtGStreamer+vs+C+GStreamer.markdown b/QtGStreamer+vs+C+GStreamer.markdown index b8c0178bbd..a62188fc9a 100644 --- a/QtGStreamer+vs+C+GStreamer.markdown +++ b/QtGStreamer+vs+C+GStreamer.markdown @@ -1,7 +1,5 @@ # QtGStreamer vs C GStreamer -This page last changed on May 24, 2013 by xartigas. - QtGStreamer is designed to mirror the C GStreamer API as closely as possible. There are, of course, minor differences. They are documented here. @@ -108,5 +106,3 @@ need them. This is accessible with a simple cast: ElementPtr qgstElement = QGst::ElementFactory::make("playbin2"); GstElement* gstElement = GST_ELEMENT(qgstElement); ``` - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Releases.markdown b/Releases.markdown index 57c527b225..ee4b60d404 100644 --- a/Releases.markdown +++ b/Releases.markdown @@ -1,7 +1,5 @@ # Releases -This page last changed on Jun 12, 2013 by xartigas. - The GStreamer SDK releases are named using a date and a name. The date is in year.month form, and corresponds to the release date. The name is meant to be easier to remember and matches an actual river’s name, in @@ -21,5 +19,3 @@ bottom): ### [2012.7 Amazon (Bugfix Release 1)](2012.7%2BAmazon%2B%2528Bugfix%2BRelease%2B1%2529.html) ### [2012.5 Amazon](2012.5%2BAmazon.html) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/TODO.markdown b/TODO.markdown index 6f32ba3ec7..386b6ab292 100644 --- a/TODO.markdown +++ b/TODO.markdown @@ -1,6 +1,5 @@ # Todo - This is just a simple TODO list to follow progress of the port from gstreamer.com content to hotdoc diff --git a/Table+of+Concepts.markdown b/Table+of+Concepts.markdown index 411ec1a25e..f224e0bc62 100644 --- a/Table+of+Concepts.markdown +++ b/Table+of+Concepts.markdown @@ -1,5 +1,4 @@ # Table of Concepts -This page last changed on Jun 06, 2012 by xartigas. This table shows in which tutorial each of the following key GStreamer concepts is discussed. diff --git a/Upcoming+tutorials.markdown b/Upcoming+tutorials.markdown index 90fbbb0b62..7f9a81349f 100644 --- a/Upcoming+tutorials.markdown +++ b/Upcoming+tutorials.markdown @@ -1,7 +1,5 @@ # Upcoming tutorials -This page last changed on May 24, 2013 by xartigas. - This is the list of planned tutorials (in no particular order). They will move out of this list and into their own pages as they are finished. Use the [Contact](Contact.html) page to send us a mail or open @@ -16,5 +14,3 @@ Basic tutorials: Playback tutorials: - DVD playback - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Using+appsink%2Fappsrc+in+Qt.markdown b/Using+appsink%2Fappsrc+in+Qt.markdown index 068a9b2ba7..6889b8eaf8 100644 --- a/Using+appsink%2Fappsrc+in+Qt.markdown +++ b/Using+appsink%2Fappsrc+in+Qt.markdown @@ -1,7 +1,5 @@ # Using appsink/appsrc in Qt -This page last changed on May 24, 2013 by xartigas. - # Goal For those times when you need to stream data into or out of GStreamer @@ -241,5 +239,3 @@ You should now have an understanding of how to push and pull arbitrary data into and out of a GStreamer pipeline. It has been a pleasure having you here, and see you soon\! - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/Windows+deployment.markdown b/Windows+deployment.markdown index 092c37ca5f..3f46412e4d 100644 --- a/Windows+deployment.markdown +++ b/Windows+deployment.markdown @@ -1,7 +1,5 @@ # Windows deployment -This page last changed on Nov 28, 2012 by xartigas. - This page explains how to deploy GStreamer along your application. There are different mechanisms, which have been reviewed in [Deploying your application](Deploying%2Byour%2Bapplication.html). The details for some @@ -256,5 +254,3 @@ Get the ZIP file with all Merge Modules for your architecture: - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/gst-inspect.markdown b/gst-inspect.markdown index e33e8a73ba..06d950d2cd 100644 --- a/gst-inspect.markdown +++ b/gst-inspect.markdown @@ -1,7 +1,5 @@ # gst-inspect -This page last changed on May 30, 2012 by xartigas. - @@ -208,5 +206,3 @@ Element Properties: flags: readable, writable Boolean. Default: false ``` - -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/gst-launch.markdown b/gst-launch.markdown index 986f02c8a4..cada283c4a 100644 --- a/gst-launch.markdown +++ b/gst-launch.markdown @@ -1,7 +1,5 @@ # gst-launch -This page last changed on May 30, 2012 by xartigas. -
@@ -401,5 +399,3 @@ Simply set G\_DEBUG as mentioned above and run the program in gdb (or let it core dump). Then get a stack trace in the usual way - -Document generated by Confluence on Oct 08, 2015 10:28 diff --git a/iOS+tutorial+1+Link+against+GStreamer.markdown b/iOS+tutorial+1+Link+against+GStreamer.markdown index 60c3dac0c2..fdcf19d29d 100644 --- a/iOS+tutorial+1+Link+against+GStreamer.markdown +++ b/iOS+tutorial+1+Link+against+GStreamer.markdown @@ -1,7 +1,5 @@ # iOS tutorial 1: Link against GStreamer -This page last changed on May 06, 2013 by xartigas. - # Goal![](attachments/thumbnails/3014792/3113601) The first iOS tutorial is simple. The objective is to get the GStreamer @@ -142,5 +140,3 @@ It has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [ios-tutorial1-screenshot.png](attachments/3014792/3113601.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/iOS+tutorial+2+A+running+pipeline.markdown b/iOS+tutorial+2+A+running+pipeline.markdown index b053830d82..fe9aef3ce0 100644 --- a/iOS+tutorial+2+A+running+pipeline.markdown +++ b/iOS+tutorial+2+A+running+pipeline.markdown @@ -1,7 +1,5 @@ # iOS tutorial 2: A running pipeline -This page last changed on May 13, 2013 by xartigas. - # Goal![](attachments/3571718/3538953.png) As seen in the [Basic](Basic%2Btutorials.html) and @@ -663,5 +661,3 @@ It has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [ios-tutorial2-screenshot.png](attachments/3571718/3538953.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/iOS+tutorial+3+Video.markdown b/iOS+tutorial+3+Video.markdown index a0597f1eea..c822f7a234 100644 --- a/iOS+tutorial+3+Video.markdown +++ b/iOS+tutorial+3+Video.markdown @@ -1,7 +1,5 @@ # iOS tutorial 3: Video -This page last changed on May 13, 2013 by xartigas. - # Goal![](attachments/3571736/3538955.png) Except for [Basic tutorial 5: GUI toolkit @@ -583,5 +581,3 @@ It has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [ios-tutorial3-screenshot.png](attachments/3571736/3538955.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/iOS+tutorial+4+A+basic+media+player.markdown b/iOS+tutorial+4+A+basic+media+player.markdown index 019febc48e..0302e9718e 100644 --- a/iOS+tutorial+4+A+basic+media+player.markdown +++ b/iOS+tutorial+4+A+basic+media+player.markdown @@ -1,7 +1,5 @@ # iOS tutorial 4: A basic media player -This page last changed on May 21, 2013 by xartigas. - # Goal![](attachments/3571758/3539044.png) Enough testing with synthetic images and audio tones\! This tutorial @@ -1237,5 +1235,3 @@ here into an acceptable iOS media player. ![](images/icons/bullet_blue.gif) [ios-tutorial4-screenshot.png](attachments/3571758/3539044.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/iOS+tutorial+5+A+Complete+media+player.markdown b/iOS+tutorial+5+A+Complete+media+player.markdown index 99a7860dd3..5ad28a74c7 100644 --- a/iOS+tutorial+5+A+Complete+media+player.markdown +++ b/iOS+tutorial+5+A+Complete+media+player.markdown @@ -1,8 +1,5 @@ # iOS tutorial 5: A Complete media player -This page last changed on May 22, 2013 by -xartigas. - # Goal![](attachments/3571769/3539046.png)![](attachments/3571769/3539045.png) This tutorial wants to be the “demo application” that showcases what can @@ -73,5 +70,3 @@ It has been a pleasure having you here, and see you soon\! ![](images/icons/bullet_blue.gif) [ios-tutorial5-screenshot0.png](attachments/3571769/3539045.png) (image/png) - -Document generated by Confluence on Oct 08, 2015 10:27 diff --git a/iOS+tutorials.markdown b/iOS+tutorials.markdown index fc83c3f5af..1f48edef26 100644 --- a/iOS+tutorials.markdown +++ b/iOS+tutorials.markdown @@ -1,7 +1,5 @@ # iOS tutorials -This page last changed on May 07, 2013 by xartigas. - # Welcome to the GStreamer SDK iOS tutorials These tutorials describe iOS-specific topics. General GStreamer concepts @@ -34,5 +32,3 @@ All iOS tutorials are split into the following classes: - The `GStreamerBackendDelegate` protocol defines which methods a class can implement in order to serve as a UI delegate for the `GStreamerBackend`. - -Document generated by Confluence on Oct 08, 2015 10:27 From a4c04e5c436718888df4904797ab4ecea6b2da31 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 27 May 2016 12:10:42 -0400 Subject: [PATCH 3/4] Make sure to always suffix GStreamer tools with -1.0 --- Basic+tutorial+1+Hello+world.markdown | 2 +- Basic+tutorial+10+GStreamer+tools.markdown | 70 ++++++++-------- Basic+tutorial+11+Debugging+tools.markdown | 4 +- Basic+tutorial+14+Handy+elements.markdown | 40 ++++----- ...ial+16+Platform-specific+elements.markdown | 2 +- Basic+tutorial+2+GStreamer+concepts.markdown | 2 +- Basic+tutorial+3+Dynamic+pipelines.markdown | 2 +- ...edia+formats+and+Pad+Capabilities.markdown | 2 +- ...ial+9+Media+information+gathering.markdown | 2 +- Installing+on+Mac+OS+X.markdown | 4 +- Mac+OS+X+deployment.markdown | 6 +- Table+of+Concepts.markdown | 10 +-- gst-inspect.markdown | 18 ++-- gst-launch.markdown | 84 +++++++++---------- 14 files changed, 124 insertions(+), 124 deletions(-) diff --git a/Basic+tutorial+1+Hello+world.markdown b/Basic+tutorial+1+Hello+world.markdown index 9463c1ff25..3f79918f64 100644 --- a/Basic+tutorial+1+Hello+world.markdown +++ b/Basic+tutorial+1+Hello+world.markdown @@ -125,7 +125,7 @@ into an actual pipeline, which is very handy. In fact, this function is so handy there is a tool built completely around it which you will get very acquainted with (see [Basic tutorial 10: GStreamer tools](Basic+tutorial+10+GStreamer+tools.markdown) to -learn about `gst-launch` and the `gst-launch` syntax). +learn about `gst-launch-1.0` and the `gst-launch-1.0` syntax). ### playbin diff --git a/Basic+tutorial+10+GStreamer+tools.markdown b/Basic+tutorial+10+GStreamer+tools.markdown index 80b89c3c87..2195596032 100644 --- a/Basic+tutorial+10+GStreamer+tools.markdown +++ b/Basic+tutorial+10+GStreamer+tools.markdown @@ -35,10 +35,10 @@ and you are ready to start typing the commands given in this tutorial. In order to allow for multiple versions of GStreamer to coexists in the same system, these tools are versioned, this is, a GStreamer version number is appended to their name. This version of the SDK is based on -GStreamer 0.10, so the tools are called `gst-launch-0.10`, -`gst-inspect-0.10` and `gst-discoverer-0.10` +GStreamer 1.0, so the tools are called `gst-launch-1.0`, +`gst-inspect-1.0` and `gst-discoverer-1.0` -# `gst-launch` +# `gst-launch-1.0` This tool accepts a textual description of a pipeline, instantiates it, and sets it to the PLAYING state. It allows you to quickly check if a @@ -51,7 +51,7 @@ up to a certain level. In any case, it is extremely handy to test pipelines quickly, and is used by GStreamer developers around the world on a daily basis. -Please note that `gst-launch` is primarily a debugging tool for +Please note that `gst-launch-1.0` is primarily a debugging tool for developers. You should not build applications on top of it. Instead, use the `gst_parse_launch()` function of the GStreamer API as an easy way to construct pipelines from pipeline descriptions. @@ -59,12 +59,12 @@ construct pipelines from pipeline descriptions. Although the rules to construct pipeline descriptions are very simple, the concatenation of multiple elements can quickly make such descriptions resemble black magic. Fear not, for everyone learns the -`gst-launch` syntax, eventually. +`gst-launch-1.0` syntax, eventually. -The command line for gst-launch consists of a list of options followed +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.html) -for `gst-launch`. +se the complete documentation at [the reference page](gst-launch-1.0.html) +for `gst-launch-1.0`. #### Elements @@ -73,7 +73,7 @@ separated by exclamation marks (\!). Go ahead and type in the following command: ``` -gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 videotestsrc ! ffmpegcolorspace ! autovideosink ``` You should see a windows with an animated video pattern. Use CTRL+C on @@ -92,12 +92,12 @@ to find two compatible Pads. Properties may be appended to elements, in the form *property=value *(multiple properties can be specified, separated by -spaces). Use the `gst-inspect` tool (explained next) to find out the +spaces). Use the `gst-inspect-1.0` tool (explained next) to find out the available properties for an element. ``` -gst-launch-0.10 videotestsrc pattern=11 ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 videotestsrc pattern=11 ! ffmpegcolorspace ! autovideosink ``` You should see a static video pattern, made of circles. @@ -114,7 +114,7 @@ Named elements are referred to using their name followed by a dot. ``` -gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! tee name=t ! queue ! autovideosink t. ! queue ! autovideosink +gst-launch-1.0 videotestsrc ! ffmpegcolorspace ! tee name=t ! queue ! autovideosink t. ! queue ! autovideosink ``` You should see two video windows, showing the same sample video pattern. @@ -141,14 +141,14 @@ Instead of letting GStreamer choose which Pad to use when linking two elements, you may want to specify the Pads directly. You can do this by adding a dot plus the Pad name after the name of the element (it must be a named element). Learn the names of the Pads of an element by using -the `gst-inspect` tool. +the `gst-inspect-1.0` tool. This is useful, for example, when you want to retrieve one particular stream out of a demuxer: ``` -gst-launch-0.10.exe souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d d.video_00 ! matroskamux ! filesink location=sintel_video.mkv +gst-launch-1.0.exe souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d d.video_00 ! matroskamux ! filesink location=sintel_video.mkv ``` This fetches a media file from the internet using `souphttpsrc`, which @@ -168,7 +168,7 @@ new matroska file with the video. If we wanted to keep only the audio: ``` -gst-launch-0.10.exe souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d d.audio_00 ! vorbisparse ! matroskamux ! filesink location=sintel_audio.mka +gst-launch-1.0.exe souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d d.audio_00 ! vorbisparse ! matroskamux ! filesink location=sintel_audio.mka ``` The `vorbisparse` element is required to extract some information from @@ -194,7 +194,7 @@ Consider the following pipeline: ``` -gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! filesink location=test +gst-launch-1.0 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! filesink location=test ``` This is the same media file and demuxer as in the previous example. The @@ -208,7 +208,7 @@ previous sub-section, or by using **Caps Filters**: ``` -gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! video/x-vp8 ! matroskamux ! filesink location=sintel_video.mkv +gst-launch-1.0 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux ! video/x-vp8 ! matroskamux ! filesink location=sintel_video.mkv ``` A Caps Filter behaves like a pass-through element which does nothing and @@ -218,9 +218,9 @@ added a `video/x-vp8` Caps Filter to specify that we are interested in the output pad of `matroskademux` which can produce this kind of video. To find out the Caps an element accepts and produces, use the -`gst-inspect` tool. To find out the Caps contained in a particular file, -use the `gst-discoverer` tool. To find out the Caps an element is -producing for a particular pipeline, run `gst-launch` as usual, with the +`gst-inspect-1.0` tool. To find out the Caps contained in a particular file, +use the `gst-discoverer-1.0` tool. To find out the Caps an element is +producing for a particular pipeline, run `gst-launch-1.0` as usual, with the `–v` option to print Caps information. #### Examples @@ -229,7 +229,7 @@ Play a media file using `playbin2` (as in [Basic tutorial 1: Hello world\!](Basic%2Btutorial%2B1%253A%2BHello%2Bworld%2521.html)): ``` -gst-launch-0.10 playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm +gst-launch-1.0 playbin2 uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ``` A fully operation playback pipeline, with audio and video (more or less @@ -237,7 +237,7 @@ the same pipeline that `playbin2` will create internally): ``` -gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d ! queue ! vp8dec ! ffmpegcolorspace ! autovideosink d. ! queue ! vorbisdec ! audioconvert ! audioresample ! autoaudiosink +gst-launch-1.0 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! matroskademux name=d ! queue ! vp8dec ! ffmpegcolorspace ! autovideosink d. ! queue ! vorbisdec ! audioconvert ! audioresample ! autoaudiosink ``` A transcoding pipeline, which opens the webm container and decodes both @@ -247,7 +247,7 @@ with a different codec, and puts them back together in an Ogg container it). ``` -gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm name=d ! queue ! theoraenc ! oggmux name=m ! filesink location=sintel.ogg d. ! queue ! audioconvert ! audioresample ! flacenc ! m. +gst-launch-1.0 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm name=d ! queue ! theoraenc ! oggmux name=m ! filesink location=sintel.ogg d. ! queue ! audioconvert ! audioresample ! flacenc ! m. ``` A rescaling pipeline. The `videoscale` element performs a rescaling @@ -256,14 +256,14 @@ output caps. The output caps are set by the Caps Filter to 320x200. ``` -gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! queue ! videoscale ! video/x-raw-yuv,width=320,height=200 ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! queue ! videoscale ! video/x-raw-yuv,width=320,height=200 ! ffmpegcolorspace ! autovideosink ``` -This short description of `gst-launch` should be enough to get you +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.html). +here](gst-launch-1.0.html). -# `gst-inspect` +# `gst-inspect-1.0` This tool has three modes of operation: @@ -278,7 +278,7 @@ This tool has three modes of operation: Let's see an example of the third mode: ``` -gst-inspect-0.10 vp8dec +gst-inspect-1.0 vp8dec   Factory Details: Long name: On2 VP8 Decoder @@ -380,9 +380,9 @@ The most relevant sections are: element, along with their type and accepted values. For more information, you can check the [documentation -page](http://gst-inspect) of `gst-inspect`. +page](http://gst-inspect-1.0) of `gst-inspect-1.0`. -# `gst-discoverer` +# `gst-discoverer-1.0` This tool is a wrapper around the `GstDiscoverer` object shown in [Basic tutorial 9: Media information @@ -392,14 +392,14 @@ 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 therefore what elements you need to put in a pipeline to play it. -Use `gst-discoverer --help` to obtain the list of available options, +Use `gst-discoverer-1.0 --help` to obtain the list of available options, which basically control the amount of verbosity of the output. Let's see an example: ``` -gst-discoverer-0.10 http://docs.gstreamer.com/media/sintel_trailer-480p.webm -v +gst-discoverer-1.0 http://docs.gstreamer.com/media/sintel_trailer-480p.webm -v Analyzing http://docs.gstreamer.com/media/sintel_trailer-480p.webm Done discovering http://docs.gstreamer.com/media/sintel_trailer-480p.webm @@ -454,10 +454,10 @@ Properties: This tutorial has shown: - How to build and run GStreamer pipelines from the command line using - the `gst-launch` tool. + the `gst-launch-1.0` tool. - How to find out what GStreamer elements you have available and their - capabilities, using the `gst-inspect` tool. + capabilities, using the `gst-inspect-1.0` tool. - How to discover the internal structure of media files, using - `gst-discoverer`. + `gst-discoverer-1.0`. It has been a pleasure having you here, and see you soon\! diff --git a/Basic+tutorial+11+Debugging+tools.markdown b/Basic+tutorial+11+Debugging+tools.markdown index 6030a3fb1d..210f3233ca 100644 --- a/Basic+tutorial+11+Debugging+tools.markdown +++ b/Basic+tutorial+11+Debugging+tools.markdown @@ -82,7 +82,7 @@ The `'*'` wildcard is also available. For example starting with the word `audio`. `GST_DEBUG=*:2` is equivalent to `GST_DEBUG=2`. -Use `gst-launch-0.10 --gst-debug-help` to obtain the list of all +Use `gst-launch-1.0 --gst-debug-help` to obtain the list of all registered categories. Bear in mind that each plugin registers its own categories, so, when installing or removing plugins, this list can change. @@ -189,7 +189,7 @@ learn a bit of GStreamer along the way). To obtain `.dot` files, simply set the `GST_DEBUG_DUMP_DOT_DIR` environment variable to point to the -folder where you want the files to be placed. `gst-launch` will create +folder where you want the files to be placed. `gst-launch-1.0` will create a `.dot` file at each state change, so you can see the evolution of the caps negotiation. Unset the variable to disable this facility. From within your application, you can use the diff --git a/Basic+tutorial+14+Handy+elements.markdown b/Basic+tutorial+14+Handy+elements.markdown index cc091cd62e..66f3784c30 100644 --- a/Basic+tutorial+14+Handy+elements.markdown +++ b/Basic+tutorial+14+Handy+elements.markdown @@ -8,7 +8,7 @@ build complex pipelines easily (like `playbin2`), to little helper elements which are extremely useful when debugging. For simplicity, the following examples are given using the -`gst-launch` tool (Learn about it in [Basic tutorial 10: GStreamer +`gst-launch-1.0` tool (Learn about it in [Basic tutorial 10: GStreamer tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html)). Use the `-v` command line parameter if you want to see the Pad Caps that are being negotiated. @@ -36,11 +36,11 @@ source pads as streams are found in the media. ``` lang=bash -gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! ffmpegcolorspace ! autovideosink ``` ``` lang=bash -gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! audioconvert ! autoaudiosink +gst-launch-1.0 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! audioconvert ! autoaudiosink ``` ### `decodebin2` @@ -54,7 +54,7 @@ offers as many source pads as streams are found in the media. ``` lang=bash -gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! decodebin2 ! autovideosink +gst-launch-1.0 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! decodebin2 ! autovideosink ``` # File input/output @@ -68,7 +68,7 @@ of `filesrc` to `TRUE`. ``` lang=c -gst-launch-0.10 filesrc location=f:\\media\\sintel\\sintel_trailer-480p.webm ! decodebin2 ! autovideosink +gst-launch-1.0 filesrc location=f:\\media\\sintel\\sintel_trailer-480p.webm ! decodebin2 ! autovideosink ``` ### `filesink` @@ -78,7 +78,7 @@ This element writes to a file all the media it receives. Use the name. ``` -gst-launch-0.10 audiotestsrc ! vorbisenc ! oggmux ! filesink location=test.ogg +gst-launch-1.0 audiotestsrc ! vorbisenc ! oggmux ! filesink location=test.ogg ``` # Network @@ -90,7 +90,7 @@ the SOUP library. Set the URL to retrieve through the `location` property. ``` lang=bash -gst-launch-0.10 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! decodebin2 ! autovideosink +gst-launch-1.0 souphttpsrc location=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! decodebin2 ! autovideosink ``` # Test media generation @@ -105,7 +105,7 @@ This element produces a video pattern (selectable among many different options with the `pattern` property). Use it to test video pipelines. ``` lang=bash -gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 videotestsrc ! ffmpegcolorspace ! autovideosink ``` ### `audiotestsrc` @@ -114,7 +114,7 @@ This element produces an audio wave (selectable among many different options with the `wave` property). Use it to test video pipelines. ``` lang=bash -gst-launch-0.10 audiotestsrc ! audioconvert ! autoaudiosink +gst-launch-1.0 audiotestsrc ! audioconvert ! autoaudiosink ``` # Video adapters @@ -136,7 +136,7 @@ that can vary depending on external factors, like decoding a user-provided file. ``` lang=bash -gst-launch-0.10 videotestsrc ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 videotestsrc ! ffmpegcolorspace ! autovideosink ``` ### `videorate` @@ -156,7 +156,7 @@ rate is unknown at design time, just in case. ``` lang=c -gst-launch-0.10 videotestsrc ! video/x-raw-rgb,framerate=30/1 ! videorate ! video/x-raw-rgb,framerate=1/1 ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 videotestsrc ! video/x-raw-rgb,framerate=30/1 ! videorate ! video/x-raw-rgb,framerate=1/1 ! ffmpegcolorspace ! autovideosink ``` ### `videoscale` @@ -177,7 +177,7 @@ video sinks are capable of performing scaling operations. ``` lang=bash -gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! videoscale ! video/x-raw-yuv,width=178,height=100 ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! videoscale ! video/x-raw-yuv,width=178,height=100 ! ffmpegcolorspace ! autovideosink ``` # Audio adapters @@ -194,7 +194,7 @@ negotiation problems with audio, and it is generally safe to use it liberally, since this element does nothing if it is not needed. ``` lang=bash -gst-launch-0.10 audiotestsrc ! audioconvert ! autoaudiosink +gst-launch-1.0 audiotestsrc ! audioconvert ! autoaudiosink ``` ### `audioresample` @@ -207,7 +207,7 @@ do not fear to use it generously. ``` lang=bash -gst-launch-0.10 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! audioresample ! audio/x-raw-float,rate=4000 ! audioconvert ! autoaudiosink +gst-launch-1.0 uridecodebin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm ! audioresample ! audio/x-raw-float,rate=4000 ! audioconvert ! autoaudiosink ``` ### `audiorate` @@ -294,7 +294,7 @@ branch would stall the other branches. ``` -gst-launch-0.10 audiotestsrc ! tee name=t ! queue ! audioconvert ! autoaudiosink t. ! queue ! wavescope ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 audiotestsrc ! tee name=t ! queue ! audioconvert ! autoaudiosink t. ! queue ! wavescope ! ffmpegcolorspace ! autovideosink ``` # Capabilities @@ -303,14 +303,14 @@ gst-launch-0.10 audiotestsrc ! tee name=t ! queue ! audioconvert ! autoaudiosink [Basic tutorial 10: GStreamer tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html) already -explained how to use Caps filters with `gst-launch`. When building a +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, but enforces limitations on the data format. ``` lang=bash -gst-launch-0.10 videotestsrc ! video/x-raw-gray ! ffmpegcolorspace ! autovideosink +gst-launch-1.0 videotestsrc ! video/x-raw-gray ! ffmpegcolorspace ! autovideosink ``` ### `typefind` @@ -333,11 +333,11 @@ gathering](Basic%2Btutorial%2B9%253A%2BMedia%2Binformation%2Bgathering.html)). This sink element simply swallows any data fed to it. It is useful when debugging, to replace your normal sinks and rule them out of the equation. It can be very verbose when combined with the `-v` switch -of `gst-launch`, so use the `silent` property to remove any unwanted +of `gst-launch-1.0`, so use the `silent` property to remove any unwanted noise. ``` -gst-launch-0.10 audiotestsrc num-buffers=1000 ! fakesink sync=false +gst-launch-1.0 audiotestsrc num-buffers=1000 ! fakesink sync=false ``` ### `identity` @@ -349,7 +349,7 @@ things this seemingly harmless element can do. ``` -gst-launch-0.10 audiotestsrc ! identity drop-probability=0.1 ! audioconvert ! autoaudiosink +gst-launch-1.0 audiotestsrc ! identity drop-probability=0.1 ! audioconvert ! autoaudiosink ``` # Conclusion diff --git a/Basic+tutorial+16+Platform-specific+elements.markdown b/Basic+tutorial+16+Platform-specific+elements.markdown index 206e3464d9..177b4582f6 100644 --- a/Basic+tutorial+16+Platform-specific+elements.markdown +++ b/Basic+tutorial+16+Platform-specific+elements.markdown @@ -137,7 +137,7 @@ framework similar to GStreamer. They are different enough, though, so 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` tool +they can be embedded in a GStreamer pipeline. Use the `gst-inspect-1.0` tool (see [Basic tutorial 10: GStreamer tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html)) to see the available decoders. diff --git a/Basic+tutorial+2+GStreamer+concepts.markdown b/Basic+tutorial+2+GStreamer+concepts.markdown index 12b0d33bf6..0016360b72 100644 --- a/Basic+tutorial+2+GStreamer+concepts.markdown +++ b/Basic+tutorial+2+GStreamer+concepts.markdown @@ -224,7 +224,7 @@ which controls the type of test video the element outputs. Try different values! The names and possible values of all the properties an element exposes -can be found using the gst-inspect tool described in [Basic tutorial 10: +can be found using the gst-inspect-1.0 tool described in [Basic tutorial 10: GStreamer tools](Basic+tutorial+10+GStreamer+tools.markdown). ### Error checking diff --git a/Basic+tutorial+3+Dynamic+pipelines.markdown b/Basic+tutorial+3+Dynamic+pipelines.markdown index 2855b69be5..27332095e1 100644 --- a/Basic+tutorial+3+Dynamic+pipelines.markdown +++ b/Basic+tutorial+3+Dynamic+pipelines.markdown @@ -336,7 +336,7 @@ case, we pass a pointer to the `CustomData` structure we built specially for this purpose. The signals that a `GstElement` generates can be found in its -documentation or using the `gst-inspect` tool as described in [Basic +documentation or using the `gst-inspect-1.0` tool as described in [Basic tutorial 10: GStreamer tools](Basic+tutorial+10+GStreamer+tools.markdown). diff --git a/Basic+tutorial+6+Media+formats+and+Pad+Capabilities.markdown b/Basic+tutorial+6+Media+formats+and+Pad+Capabilities.markdown index a7f21ad647..c6b5815788 100644 --- a/Basic+tutorial+6+Media+formats+and+Pad+Capabilities.markdown +++ b/Basic+tutorial+6+Media+formats+and+Pad+Capabilities.markdown @@ -464,7 +464,7 @@ This tutorial has shown: - That Pad Caps are important to know beforehand if two elements can be linked together. - - That Pad Caps can be found using the `gst-inspect` tool described + - That Pad Caps can be found using the `gst-inspect-1.0` tool described in [Basic tutorial 10: GStreamer tools](Basic+tutorial+10+GStreamer+tools.markdown). diff --git a/Basic+tutorial+9+Media+information+gathering.markdown b/Basic+tutorial+9+Media+information+gathering.markdown index e93e9cd119..fcc6ed0c83 100644 --- a/Basic+tutorial+9+Media+information+gathering.markdown +++ b/Basic+tutorial+9+Media+information+gathering.markdown @@ -66,7 +66,7 @@ The following code tries to discover the URI provided through the 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` tool does +This is a simplified version of what the `gst-discoverer-1.0` tool does ([Basic tutorial 10: GStreamer tools](Basic%2Btutorial%2B10%253A%2BGStreamer%2Btools.html)), which is an application that only displays data, but does not perform any diff --git a/Installing+on+Mac+OS+X.markdown b/Installing+on+Mac+OS+X.markdown index 225ec94e0b..8350455b25 100644 --- a/Installing+on+Mac+OS+X.markdown +++ b/Installing+on+Mac+OS+X.markdown @@ -65,8 +65,8 @@ useful: - /Library/Frameworks/GStreamer.framework/Headers: path with the development headers - /Library/Frameworks/GStreamer.framework/Commands: link to the - commands provided by the framework, such as gst-inspect-0.10 or - gst-launch-0.10 + commands provided by the framework, such as gst-inspect-1.0 or + gst-launch-1.0 For more information on OS X Frameworks anatomy, you can consult the following [link](https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html) diff --git a/Mac+OS+X+deployment.markdown b/Mac+OS+X+deployment.markdown index e6d2175653..1ef8a4d52e 100644 --- a/Mac+OS+X+deployment.markdown +++ b/Mac+OS+X+deployment.markdown @@ -273,8 +273,8 @@ dependent dynamic libraries using [otool](https://developer.apple.com/library/mac/#documentation/darwin/reference/manpages/man1/otool.1.html): ``` lang=bash -$ otool -L /Library/Frameworks/GStreamer.framework/Commands/gst-launch-0.10 -/Library/Frameworks/GStreamer.framework/Commands/gst-launch-0.10: +$ otool -L /Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0 +/Library/Frameworks/GStreamer.framework/Commands/gst-launch-1.0: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.43.0) /Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libgstreamer-0.10.0.dylib (compatibility version 31.0.0, current version 31.0.0) /Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.8.0) @@ -300,7 +300,7 @@ $ otool -D /Library/Frameworks/GStreamer.framework/Libraries/libgstreamer-0.10.d Any object file that links to the dynamic library `gstreamer-0.10` will use the path `/Library/Frameworks/GStreamer.framework/Versions/0.10/x86/lib/libgstreamer-0.10.0.dylib` to -locate it, as we saw previously with `gst-launch-0.10`. +locate it, as we saw previously with `gst-launch-1.0`. Since working exclusively with full paths wouldn't let us install our binaries anywhere in the path, the linker provides a mechanism of string diff --git a/Table+of+Concepts.markdown b/Table+of+Concepts.markdown index f224e0bc62..c4c9520846 100644 --- a/Table+of+Concepts.markdown +++ b/Table+of+Concepts.markdown @@ -11,9 +11,9 @@ concepts is discussed. - Debugging: [Basic tutorial 11: Debugging tools] - Discoverer: [Basic tutorial 9: Media information gathering] - Elements: [Basic tutorial 2: GStreamer concepts] -- gst-discoverer: [Basic tutorial 10: GStreamer tools] -- gst-inspect: [Basic tutorial 10: GStreamer tools], [gst-inspect] -- gst-launch: [Basic tutorial 10: GStreamer tools], [gst-launch] +- gst-discoverer-1.0: [Basic tutorial 10: GStreamer tools] +- gst-inspect-1.0: [Basic tutorial 10: GStreamer tools], [gst-inspect-1.0] +- gst-launch-1.0: [Basic tutorial 10: GStreamer tools], [gst-launch-1.0] - GUI: [Basic tutorial 5: GUI toolkit integration] - Links: [Basic tutorial 2: GStreamer concepts] - Pads: [Basic tutorial 3: Dynamic pipelines] @@ -36,8 +36,8 @@ concepts is discussed. [Basic tutorial 11: Debugging tools]: Basic+tutorial+11+Debugging+tools.markdown [Basic tutorial 9: Media information gathering]: Basic+tutorial+9+Media+information+gathering.markdown [Basic tutorial 10: GStreamer tools]: Basic+tutorial+10+GStreamer+tools.markdown - [gst-inspect]: gst-inspect.markdown - [gst-launch]: gst-launch.markdown + [gst-inspect-1.0]: gst-inspect.markdown + [gst-launch-1.0]: gst-launch.markdown [Basic tutorial 5: GUI toolkit integration]: Basic+tutorial+5+GUI+toolkit+integration.markdown [Basic tutorial 3: Dynamic pipelines]: Basic+tutorial+3+Dynamic+pipelines.markdown [Basic tutorial 7: Multithreading and Pad Availability]: Basic+tutorial+7+Multithreading+and+Pad+Availability.markdown diff --git a/gst-inspect.markdown b/gst-inspect.markdown index 06d950d2cd..52cc20cd67 100644 --- a/gst-inspect.markdown +++ b/gst-inspect.markdown @@ -1,35 +1,35 @@ -# gst-inspect +# gst-inspect-1.0
- +

This is the Linux man page for the gst-inspect tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.

This is the Linux man page for the gst-inspect-1.0 tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.

## Name -gst-inspect - print info about a GStreamer plugin or element +gst-inspect-1.0 - print info about a GStreamer plugin or element ## Synopsis -**gst-inspect \[OPTION...\] \[PLUGIN|ELEMENT\]** +**gst-inspect-1.0 \[OPTION...\] \[PLUGIN|ELEMENT\]** ## Description -*gst-inspect* is a tool that prints out information on +*gst-inspect-1.0* is a tool that prints out information on available *GStreamer* plugins, information about a particular plugin, or information about a particular element. When executed with no PLUGIN -or ELEMENT argument, *gst-inspect* will print a list of all plugins and +or ELEMENT argument, *gst-inspect-1.0* will print a list of all plugins and elements together with a sumary. When executed with a PLUGIN or ELEMENT -argument, *gst-inspect* will print information about that plug-in or +argument, *gst-inspect-1.0* will print information about that plug-in or element. ## Options -*gst-inspect* accepts the following arguments and options: +*gst-inspect-1.0* accepts the following arguments and options: **PLUGIN** @@ -80,7 +80,7 @@ Add directories separated with ':' to the plugin search path ## Example ``` -gst-inspect-0.10 audiotestsrc +gst-inspect-1.0 audiotestsrc ``` should produce: diff --git a/gst-launch.markdown b/gst-launch.markdown index cada283c4a..33caac4b19 100644 --- a/gst-launch.markdown +++ b/gst-launch.markdown @@ -1,25 +1,25 @@ -# gst-launch +# gst-launch-1.0 - +

This is the Linux man page for the gst-launch tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.

This is the Linux man page for the gst-launch-1.0 tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.

## Name -gst-launch - build and run a GStreamer pipeline +gst-launch-1.0 - build and run a GStreamer pipeline ## Synopsis -**gst-launch** *\[OPTION...\]* PIPELINE-DESCRIPTION +**gst-launch-1.0** *\[OPTION...\]* PIPELINE-DESCRIPTION ## Description -*gst-launch* is a tool that builds and runs basic *GStreamer* pipelines. +*gst-launch-1.0* is a tool that builds and runs basic *GStreamer* pipelines. In simple form, a PIPELINE-DESCRIPTION is a list of elements separated by exclamation marks (\!). Properties may be appended to elements, in @@ -29,14 +29,14 @@ For a complete description of possible PIPELINE-DESCRIPTIONS see the section*pipeline description* below or consult the GStreamer documentation. -Please note that *gst-launch* is primarily a debugging tool for +Please note that *gst-launch-1.0* is primarily a debugging tool for developers and users. You should not build applications on top of it. For applications, use the gst\_parse\_launch() function of the GStreamer API as an easy way to construct pipelines from pipeline descriptions. ## Options -*gst-launch* accepts the following options: +*gst-launch-1.0* accepts the following options: **--help** @@ -75,7 +75,7 @@ time to work. ## Gstreamer Options -*gst-launch* also accepts the following options that are common to all +*gst-launch-1.0* also accepts the following options that are common to all GStreamer applications: ## Pipeline Description @@ -94,7 +94,7 @@ Creates an element of type ELEMENTTYPE and sets the PROPERTIES. PROPERTY=VALUE ... -Sets the property to the specified value. You can use **gst-inspect**(1) +Sets the property to the specified value. You can use **gst-inspect-1.0**(1) to find out about properties and allowed values of different elements. Enumeration properties can be set by name, nick or value. @@ -183,85 +183,85 @@ ffmpegcolorspace (for video) in front of the sink to make things work. **Audio playback** -**gst-launch filesrc location=music.mp3 \! mad \! audioconvert \! +**gst-launch-1.0 filesrc location=music.mp3 \! mad \! audioconvert \! audioresample \! osssink** Play the mp3 music file "music.mp3" using a libmad-based plug-in and output to an OSS device -**gst-launch filesrc location=music.ogg \! oggdemux \! vorbisdec \! +**gst-launch-1.0 filesrc location=music.ogg \! oggdemux \! vorbisdec \! audioconvert \! audioresample \! osssink** Play an Ogg Vorbis format file -**gst-launch gnomevfssrc location=music.mp3 \! mad \! osssink -gst-launch gnomevfssrc location= \! mad \! +**gst-launch-1.0 gnomevfssrc location=music.mp3 \! mad \! osssink +gst-launch-1.0 gnomevfssrc location= \! mad \! audioconvert \! audioresample \! osssink** Play an mp3 file or an http stream using GNOME-VFS -**gst-launch gnomevfssrc location= \! mad \! +**gst-launch-1.0 gnomevfssrc location= \! mad \! audioconvert \! audioresample \! osssink** Use GNOME-VFS to play an mp3 file located on an SMB server **Format conversion** -**gst-launch filesrc location=music.mp3 \! mad \! audioconvert \! +**gst-launch-1.0 filesrc location=music.mp3 \! mad \! audioconvert \! vorbisenc \! oggmux \! filesink location=music.ogg** Convert an mp3 music file to an Ogg Vorbis file -**gst-launch filesrc location=music.mp3 \! mad \! audioconvert \! +**gst-launch-1.0 filesrc location=music.mp3 \! mad \! audioconvert \! flacenc \! filesink location=test.flac** Convert to the FLAC format **Other** -**gst-launch filesrc location=music.wav \! wavparse \! audioconvert \! +**gst-launch-1.0 filesrc location=music.wav \! wavparse \! audioconvert \! audioresample \! osssink** Plays a .WAV file that contains raw audio data (PCM). -**gst-launch filesrc location=music.wav \! wavparse \! audioconvert \! +**gst-launch-1.0 filesrc location=music.wav \! wavparse \! audioconvert \! vorbisenc \! oggmux \! filesink location=music.ogg -gst-launch filesrc location=music.wav \! wavparse \! audioconvert \! +gst-launch-1.0 filesrc location=music.wav \! wavparse \! audioconvert \! lame \! filesink location=music.mp3** Convert a .WAV file containing raw audio data into an Ogg Vorbis or mp3 file -**gst-launch cdparanoiasrc mode=continuous \! audioconvert \! lame \! +**gst-launch-1.0 cdparanoiasrc mode=continuous \! audioconvert \! lame \! id3v2mux \! filesink location=cd.mp3** rips all tracks from compact disc and convert them into a single mp3 file -**gst-launch cdparanoiasrc track=5 \! audioconvert \! lame \! id3v2mux +**gst-launch-1.0 cdparanoiasrc track=5 \! audioconvert \! lame \! id3v2mux \! filesink location=track5.mp3** rips track 5 from the CD and converts it into a single mp3 file -Using **gst-inspect**(1), it is possible to discover settings like the +Using **gst-inspect-1.0**(1), it is possible to discover settings like the above for cdparanoiasrc that will tell it to rip the entire cd or only -tracks of it. Alternatively, you can use an URI and gst-launch-0.10 will +tracks of it. Alternatively, you can use an URI and gst-launch-1.0 will find an element (such as cdparanoia) that supports that protocol for -you, e.g.: **gst-launch [cdda://5]() \! lame vbr=new vbr-quality=6 \! +you, e.g.: **gst-launch-1.0 [cdda://5]() \! lame vbr=new vbr-quality=6 \! filesink location=track5.mp3** -**gst-launch osssrc \! audioconvert \! vorbisenc \! oggmux \! filesink +**gst-launch-1.0 osssrc \! audioconvert \! vorbisenc \! oggmux \! filesink location=input.ogg** records sound from your audio input and encodes it into an ogg file **Video** -**gst-launch filesrc location=JB\_FF9\_TheGravityOfLove.mpg \! dvddemux +**gst-launch-1.0 filesrc location=JB\_FF9\_TheGravityOfLove.mpg \! dvddemux \! mpeg2dec \! xvimagesink** Display only the video portion of an MPEG-1 video file, outputting to an X display window -**gst-launch filesrc location=/flflfj.vob \! dvddemux \! mpeg2dec \! +**gst-launch-1.0 filesrc location=/flflfj.vob \! dvddemux \! mpeg2dec \! sdlvideosink** Display the video portion of a .vob file (used on DVDs), outputting to an SDL window -**gst-launch filesrc location=movie.mpg \! dvddemux name=demuxer +**gst-launch-1.0 filesrc location=movie.mpg \! dvddemux name=demuxer demuxer. \! queue \! mpeg2dec \! sdlvideosink demuxer. \! queue \! mad \! audioconvert \! audioresample \! osssink** Play both video and audio portions of an MPEG movie -**gst-launch filesrc location=movie.mpg \! mpegdemux name=demuxer +**gst-launch-1.0 filesrc location=movie.mpg \! mpegdemux name=demuxer demuxer. \! queue \! mpeg2dec \! ffmpegcolorspace \! sdlvideosink demuxer. \! queue \! mad \! audioconvert \! audioresample \! osssink** Play an AVI movie with an external text subtitle stream @@ -269,42 +269,42 @@ Play an AVI movie with an external text subtitle stream This example also shows how to refer to specific pads by name if an element (here: textoverlay) has multiple sink or source pads. -**gst-launch textoverlay name=overlay \! ffmpegcolorspace \! videoscale +**gst-launch-1.0 textoverlay name=overlay \! ffmpegcolorspace \! videoscale \! autovideosink filesrc location=movie.avi \! decodebin2 \! ffmpegcolorspace \! overlay.video\_sink filesrc location=movie.srt \! subparse \! overlay.text\_sink** Play an AVI movie with an external text subtitle stream using playbin2 -**gst-launch playbin2 uri= +**gst-launch-1.0 playbin2 uri= suburi=** **Network streaming** Stream video using RTP and network elements. -**gst-launch v4l2src \! +**gst-launch-1.0 v4l2src \! video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY \! ffmpegcolorspace \! ffenc\_h263 \! video/x-h263 \! rtph263ppay pt=96 \! udpsink host=192.168.1.1 port=5000 sync=false** Use this command on the receiver -**gst-launch udpsrc port=5000 \! application/x-rtp, +**gst-launch-1.0 udpsrc port=5000 \! application/x-rtp, clock-rate=90000,payload=96 \! rtph263pdepay queue-delay=0 \! ffdec\_h263 \! xvimagesink** This command would be run on the transmitter **Diagnostic** -**gst-launch -v fakesrc num-buffers=16 \! fakesink** +**gst-launch-1.0 -v fakesrc num-buffers=16 \! fakesink** Generate a null stream and ignore it (and print out details). -**gst-launch audiotestsrc \! audioconvert \! audioresample \! +**gst-launch-1.0 audiotestsrc \! audioconvert \! audioresample \! osssink** Generate a pure sine tone to test the audio output -**gst-launch videotestsrc \! xvimagesink -gst-launch videotestsrc \! ximagesink** +**gst-launch-1.0 videotestsrc \! xvimagesink +gst-launch-1.0 videotestsrc \! ximagesink** Generate a familiar test pattern to test the video output **Automatic linking** @@ -312,29 +312,29 @@ Generate a familiar test pattern to test the video output You can use the decodebin element to automatically select the right elements to get a working pipeline. -**gst-launch filesrc location=musicfile \! decodebin \! audioconvert \! +**gst-launch-1.0 filesrc location=musicfile \! decodebin \! audioconvert \! audioresample \! osssink** Play any supported audio format -**gst-launch filesrc location=videofile \! decodebin name=decoder +**gst-launch-1.0 filesrc location=videofile \! decodebin name=decoder decoder. \! queue \! audioconvert \! audioresample \! osssink decoder. \! ffmpegcolorspace \! xvimagesink** Play any supported video format with video and audio output. Threads are used automatically. To make this even easier, you can use the playbin element: -**gst-launch playbin uri=** +**gst-launch-1.0 playbin uri=** **Filtered connections** These examples show you how to use filtered caps. -**gst-launch videotestsrc \! +**gst-launch-1.0 videotestsrc \! 'video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12' \! xvimagesink** Show a test image and use the YUY2 or YV12 video format for this. -**gst-launch osssrc \! +**gst-launch-1.0 osssrc \! 'audio/x-raw-int,rate=\[32000,64000\],width=\[16,32\],depth={16,24,32},signed=(boolean)true' \! wavenc \! filesink location=recording.wav** record audio and write it to a .wav file. Force usage of signed 16 to 32 From 1b6e026cf6760381f5b788f483f9d5332c02156c Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Fri, 27 May 2016 12:32:59 -0400 Subject: [PATCH 4/4] Cleanup the android page --- Installing+for+Android+development.markdown | 194 ++++++++++---------- 1 file changed, 96 insertions(+), 98 deletions(-) diff --git a/Installing+for+Android+development.markdown b/Installing+for+Android+development.markdown index 18154c5674..2fb7bb9320 100644 --- a/Installing+for+Android+development.markdown +++ b/Installing+for+Android+development.markdown @@ -1,6 +1,6 @@ -# Installing for Android development +# Installing for Android development -![](images/icons/emoticons/information.png) All versions starting from 2.3.1 Gingerbread are supported +![information] All versions starting from 2.3.1 Gingerbread are supported ## Prerequisites @@ -11,33 +11,27 @@ should obviously be an Android device. The development machine can either be a Linux, Mac OS X or Windows, and needs to have installed: - - The latest version of the [Android - SDK](http://developer.android.com/sdk/index.html) - - The latest version of the [Android - NDK](http://developer.android.com/tools/sdk/ndk/index.html) - - The GStreamer SDK for Android is targeted at API version 9 (Android +- The latest version of the [Android SDK] +- The latest version of the [Android NDK] +- The GStreamer SDK for Android is targeted at API version 9 (Android 2.3.1, Gingerbread) or higher. Use the SDK Manager tool to make sure you have at least one Android SDK platform installed with API version 9 or higher. -Optionally, you can use the [Android Studio] (FIX LINK). As stated in the Android -documentation, *developing in Android Studio is highly recommended and -is the fastest way to get started*. +Optionally, you can use the \[Android Studio\] (FIX LINK). As stated in +the Android documentation, *developing in Android Studio is highly +recommended and is the fastest way to get started*. Before continuing, make sure you can compile and run the samples included in the Android NDK, and that you understand how the integration -of C and Java works via the [Java Native -Interface](http://en.wikipedia.org/wiki/Java_Native_Interface) (JNI). -Besides the [Android -NDK](http://developer.android.com/tools/sdk/ndk/index.html) -documentation, you can find some useful [Android JNI tips -here](http://developer.android.com/guide/practices/jni.html). +of C and Java works via the [Java Native Interface] (JNI). Besides the +[Android NDK] documentation, you can find some useful [Android JNI tips +here]. ## Download and install the SDK -The GStreamer project provides [prebuilt binaries](https://gstreamer.freedesktop.org/data/pkg/android/) -you should download the latest version and unzip it into any folder of your -choice. +The GStreamer project provides [prebuilt binaries] you should download +the latest version and unzip it into any folder of your choice. In the process of building GStreamer-enabled Android applications, some tools will need to know where you installed the SDK. You must define an @@ -48,12 +42,13 @@ system-wide by adding it to your `~/.profile` file (on Linux and Mac) or to the Environment Variables in the System Properties dialog (on Windows). -Point `GSTREAMER_SDK_ROOT_ANDROID` to the folder where you unzipped the SDK. +Point `GSTREAMER_SDK_ROOT_ANDROID` to the folder where you unzipped the +SDK. -> ![](images/icons/emoticons/information.png) If you plan to use Android Studio and -> do not want to define this environment variable globally, you can set -> it inside Eclipse. Go to Window → Preferences → C/C++ → Build → Build Variables -> and define `GSTREAMER_SDK_ROOT_ANDROID` there. +> ![information] If you plan to use Android Studio and do not want to define this +> environment variable globally, you can set it inside Eclipse. Go to +> Window → Preferences → C/C++ → Build → Build Variables and define +> `GSTREAMER_SDK_ROOT_ANDROID` there. ## Configure your development environment @@ -62,12 +57,10 @@ writing your GStreamer code in Java or in C. Android applications are mainly written in Java, so adding GStreamer code to them in the same language is a huge advantage. However, this -requires using [language -bindings](http://en.wikipedia.org/wiki/Language_binding) for the -GStreamer API which are not complete yet. In the meantime, this -documentation will use Java for the User Interface (UI) part and C for -the GStreamer code. Both parts interact through -[JNI](http://en.wikipedia.org/wiki/Java_Native_Interface). +requires using [language bindings] for the GStreamer API which are not +complete yet. In the meantime, this documentation will use Java for the +User Interface (UI) part and C for the GStreamer code. Both parts +interact through [JNI][Java Native Interface]. ### Building the tutorials @@ -80,9 +73,8 @@ The rest of the GStreamer SDK tutorials (basic and playback tutorials) cannot be run on Android without modification. Android projects with GStreamer support are built like conventional -Android NDK projects, so the instructions at the [Android -NDK](http://developer.android.com/tools/sdk/ndk/index.html) home can be -followed: +Android NDK projects, so the instructions at the [Android NDK] home can +be followed: #### Using Eclipse @@ -91,8 +83,8 @@ prerequisites section, and that they are both aware of the location of the Android SDK and NDK respectively. Import a tutorial into the Eclipse workspace: -File → New → Project… → Android Project from Existing -Code, and select the folder called `android-tutorial-1`. +File → New → Project… → Android Project from Existing Code, and select +the folder called `android-tutorial-1`. After reading in the project and generating some extra files and folders, Eclipse might complain about missing files. **This is normal**, @@ -100,7 +92,8 @@ we are not finished yet. Provide native development support by activating the NDK plugin: Right-click on the project in the Project Explorer (this should be the -top-most folder, called `com.gst_sdk_tutorials.tutorial_1.Tutorial1`) → Android +top-most folder, +called `com.gst_sdk_tutorials.tutorial_1.Tutorial1`) → Android tools → Add Native Support… Here the NDK plugin asks for a library name. This is irrelevant and any valid file name will do. Accept. @@ -121,15 +114,12 @@ OpenGL ES). #### Using the command line -> ![](images/icons/emoticons/warning.png) Note that, on Windows, -> this procedure requires a working Cygwin shell, as explained in -> the [Android NDK System Requirements](http://developer.android.com/tools/sdk/ndk/index.html#Reqs) +> ![warning] Note that, on Windows, this procedure requires a working Cygwin +> shell, as explained in the [Android NDK System Requirements] For each tutorial, move to its folder and run: -``` -android update project -p . -s --target X -``` + android update project -p . -s --target X Where `X` is one of the targets available in your system (the ones you installed with the SDK manager). Make sure to use a target with at least @@ -138,18 +128,14 @@ API level 9. To get a list of all available targets in your system issue this command: -``` -android list -``` + android list The “update project” command generates the `build.xml` file needed by the build system. You only need to perform this action once per project. To build the C part, just call: -``` -ndk-build -``` + ndk-build A few lines in the `Android.mk` file (reviewed later) pull up the necessary machinery to compile the GStreamer bits and generate the @@ -158,15 +144,11 @@ methods. Finally, compile the Java code with: -``` -ant debug -``` + ant debug And install on the device with: -``` -adb install -r bin/Tutorial1-debug.apk -``` + adb install -r bin/Tutorial1-debug.apk The `-r` switch allows the installer to overwrite previous versions. Otherwise, you need to manually uninstall previous versions of your @@ -178,20 +160,28 @@ tutorial in an Android Virtual Device (AVD), make sure to create the device with support for audio playback and GPU Emulation (to enable OpenGL ES). -> ![](images/icons/emoticons/warning.png) Windows linkage problems +> ![warning] Windows linkage problems > -> Due to problems related to the standard linker, Google’s Gold Linker is used to build GStreamer applications.  Unfortunately, the Android NDK toolchain for Windows does not include the gold linker and the standard one has to be used. +> Due to problems related to the standard linker, Google’s +> Gold +> Linker is used to build GStreamer applications.  Unfortunately, +> the Android NDK toolchain for Windows does not include the gold linker +> and the standard one has to be used. > -> If you observe linkage problems, you can replace the linker in your Android NDK with the gold one from [this project](http://code.google.com/p/mingw-and-ndk/downloads/detail?name=android-ndk-r8b-ma-windows.7z&can=2&q=). Download the `android-ndk-r8b-ma-windows.7z` file, extract `\android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\arm-linux-androideabi\bin\ld.exe` (only this file is needed) and overwrite the one in the same folder in your Android NDK installation. You might need the free [7-Zip archiving utility](http://www.7-zip.org/) +> If you observe linkage problems, you can replace the linker in your +> Android NDK with the gold one from [this project]. Download the +> `android-ndk-r8b-ma-windows.7z` file, extract +> `\android-ndk-r8b\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\arm-linux-androideabi\bin\ld.exe` +> (only this file is needed) and overwrite the one in the same folder in +> your Android NDK installation. You might need the free [7-Zip +> archiving utility] ### Creating new projects Create a normal NDK project, either from the command line as described -in the [Android -NDK](http://developer.android.com/tools/sdk/ndk/index.html#GetStarted) -home, or use Eclipse: File → New → Project… → Android Application -Project, and, once the wizard is complete, right click on the project -→ Android Tools → Add Native Support … +in the [Android NDK][2] home, or use Eclipse: File → New → Project… +→ Android Application Project, and, once the wizard is complete, right +click on the project → Android Tools → Add Native Support … To add GStreamer support you only need to modify the `jni/Android.mk` file. This file describes the native files in your @@ -199,16 +189,14 @@ project, and its barebones structure (as auto-generated by Eclipse) is: **Android.mk** -``` -LOCAL_PATH := $(call my-dir) + LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) + include $(CLEAR_VARS) -LOCAL_MODULE := NativeApplication -LOCAL_SRC_FILES := NativeApplication.c + LOCAL_MODULE := NativeApplication + LOCAL_SRC_FILES := NativeApplication.c -include $(BUILD_SHARED_LIBRARY) -``` + include $(BUILD_SHARED_LIBRARY) Where line 5 specifies the name of the `.so` file that will contain your native code and line 6 states all source files that compose your native @@ -218,26 +206,24 @@ Adding GStreamer support only requires adding these lines: **Android.mk with GStreamer support** -``` -LOCAL_PATH := $(call my-dir) + LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) + include $(CLEAR_VARS) -LOCAL_MODULE := NativeApplication -LOCAL_SRC_FILES := NativeApplication.c -LOCAL_SHARED_LIBRARIES := gstreamer_android -LOCAL_LDLIBS := -landroid + LOCAL_MODULE := NativeApplication + LOCAL_SRC_FILES := NativeApplication.c + LOCAL_SHARED_LIBRARIES := gstreamer_android + LOCAL_LDLIBS := -landroid -include $(BUILD_SHARED_LIBRARY) + include $(BUILD_SHARED_LIBRARY) -GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) -GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ -GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback eglglessink soup opensles -G_IO_MODULES := gnutls -GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 + GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) + GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ + GSTREAMER_PLUGINS := coreelements ogg theora vorbis ffmpegcolorspace playback eglglessink soup opensles + G_IO_MODULES := gnutls + GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 -include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk  -``` + include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk  Where line 7 specifies an extra library to be included in the project: `libgstreamer_android.so`. This library contains all GStreamer code, @@ -264,22 +250,34 @@ Listing all desired plugins can be cumbersome, so they have been grouped into categories, which can be used by including the `plugins.mk` file, and used as follows: -``` -include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk -GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) playbin souphttpsrc -``` + include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk + GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) playbin souphttpsrc + #### List of categories and included plugins -| Category | Included plugins | -|--|--| -| `GSTREAMER_PLUGINS_CORE` | coreelements coreindexers adder app audioconvert audiorate audioresample audiotestsrc ffmpegcolorspace gdp gio pango typefindfunctions videorate videoscale videotestsrc volume autodetect videofilter | -| `GSTREAMER_PLUGINS_PLAYBACK` | decodebin playbin | -| `GSTREAMER_PLUGINS_CODECS` | subparse ogg theora vorbis alaw annodex apetag audioparsers auparse avi flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib wavenc wavpack wavparse y4menc adpcmdec adpcmenc aiff cdxaparse dtmf dvbsuboverlay dvdspu fragmented hdvparse id3tag ivfparse jp2k kate mve mxf nsf nuvdemux opus pcapparse pnm schro siren subenc tta videoparsersbad vmnc vp8 y4mdec | -| `GSTREAMER_PLUGINS_VIS` | libvisual goom goom2k1 audiovisualizers | -| `GSTREAMER_PLUGINS_EFFECTS` | alpha alphacolor audiofx cutter debug deinterlace effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer autoconvert bayer coloreffects faceoverlay fieldanalysis freeverb frei0r gaudieffects geometrictransform interlace jp2kdecimator liveadder rawparse removesilence scaletempoplugin segmentclip smooth speed stereo videofiltersbad videomeasure videosignal | -| `GSTREAMER_PLUGINS_NET` | rtsp rtp rtpmanager souphttpsrc udp dataurisrc rtpmux rtpvp8 sdpelem | -| `GSTREAMER_PLUGINS_CODECS_GPL` | assrender | -| `GSTREAMER_PLUGINS_SYS` | eglglessink opensles amc | +| Category | Included plugins | +|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `GSTREAMER_PLUGINS_CORE` | coreelements coreindexers adder app audioconvert audiorate audioresample audiotestsrc ffmpegcolorspace gdp gio pango typefindfunctions videorate videoscale videotestsrc volume autodetect videofilter | +| `GSTREAMER_PLUGINS_PLAYBACK` | decodebin playbin | +| `GSTREAMER_PLUGINS_CODECS` | subparse ogg theora vorbis alaw annodex apetag audioparsers auparse avi flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib wavenc wavpack wavparse y4menc adpcmdec adpcmenc aiff cdxaparse dtmf dvbsuboverlay dvdspu fragmented hdvparse id3tag ivfparse jp2k kate mve mxf nsf nuvdemux opus pcapparse pnm schro siren subenc tta videoparsersbad vmnc vp8 y4mdec | +| `GSTREAMER_PLUGINS_VIS` | libvisual goom goom2k1 audiovisualizers | +| `GSTREAMER_PLUGINS_EFFECTS` | alpha alphacolor audiofx cutter debug deinterlace effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer autoconvert bayer coloreffects faceoverlay fieldanalysis freeverb frei0r gaudieffects geometrictransform interlace jp2kdecimator liveadder rawparse removesilence scaletempoplugin segmentclip smooth speed stereo videofiltersbad videomeasure videosignal | +| `GSTREAMER_PLUGINS_NET` | rtsp rtp rtpmanager souphttpsrc udp dataurisrc rtpmux rtpvp8 sdpelem | +| `GSTREAMER_PLUGINS_CODECS_GPL` | assrender | +| `GSTREAMER_PLUGINS_SYS` | glimagesink opensles amc | Build and run your application as explained in the **Building the tutorials** section. + + [information]: images/icons/emoticons/information.png + [Android SDK]: http://developer.android.com/sdk/index.html + [Android NDK]: http://developer.android.com/tools/sdk/ndk/index.html + [Java Native Interface]: http://en.wikipedia.org/wiki/Java_Native_Interface + [Android JNI tips here]: http://developer.android.com/guide/practices/jni.html + [prebuilt binaries]: https://gstreamer.freedesktop.org/data/pkg/android/ + [language bindings]: http://en.wikipedia.org/wiki/Language_binding + [warning]: images/icons/emoticons/warning.png + [Android NDK System Requirements]: http://developer.android.com/tools/sdk/ndk/index.html#Reqs + [this project]: http://code.google.com/p/mingw-and-ndk/downloads/detail?name=android-ndk-r8b-ma-windows.7z&can=2&q= + [7-Zip archiving utility]: http://www.7-zip.org/ + [2]: http://developer.android.com/tools/sdk/ndk/index.html#GetStarted