├── C ├── .gitignore ├── multifilesink.c ├── takepic.c └── zoom.c ├── CONTRIBUTORS.md ├── Other └── 0.10 │ ├── C │ ├── gst-sdk-tutorials │ │ ├── .gitignore │ │ ├── README.md │ │ ├── README.md~ │ │ ├── android-tutorial-1 │ │ │ ├── AndroidManifest.xml │ │ │ ├── jni │ │ │ │ ├── Android.mk │ │ │ │ └── tutorial-1.c │ │ │ ├── res │ │ │ │ ├── drawable-hdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-ldpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── layout │ │ │ │ │ └── main.xml │ │ │ │ └── values │ │ │ │ │ └── strings.xml │ │ │ └── src │ │ │ │ └── com │ │ │ │ └── gst_sdk_tutorials │ │ │ │ └── tutorial_1 │ │ │ │ └── Tutorial1.java │ │ ├── android-tutorial-2 │ │ │ ├── AndroidManifest.xml │ │ │ ├── jni │ │ │ │ ├── Android.mk │ │ │ │ └── tutorial-2.c │ │ │ ├── res │ │ │ │ ├── drawable-hdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-ldpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── layout │ │ │ │ │ └── main.xml │ │ │ │ └── values │ │ │ │ │ └── strings.xml │ │ │ └── src │ │ │ │ └── com │ │ │ │ └── gst_sdk_tutorials │ │ │ │ └── tutorial_2 │ │ │ │ └── Tutorial2.java │ │ ├── android-tutorial-3 │ │ │ ├── AndroidManifest.xml │ │ │ ├── jni │ │ │ │ ├── Android.mk │ │ │ │ └── tutorial-3.c │ │ │ ├── res │ │ │ │ ├── drawable-hdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-ldpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── layout │ │ │ │ │ └── main.xml │ │ │ │ └── values │ │ │ │ │ └── strings.xml │ │ │ └── src │ │ │ │ └── com │ │ │ │ └── gst_sdk_tutorials │ │ │ │ └── tutorial_3 │ │ │ │ ├── GStreamerSurfaceView.java │ │ │ │ └── Tutorial3.java │ │ ├── android-tutorial-4 │ │ │ ├── AndroidManifest.xml │ │ │ ├── jni │ │ │ │ ├── Android.mk │ │ │ │ └── tutorial-4.c │ │ │ ├── res │ │ │ │ ├── drawable-hdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-ldpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── layout │ │ │ │ │ └── main.xml │ │ │ │ └── values │ │ │ │ │ └── strings.xml │ │ │ └── src │ │ │ │ └── com │ │ │ │ └── gst_sdk_tutorials │ │ │ │ └── tutorial_4 │ │ │ │ ├── GStreamerSurfaceView.java │ │ │ │ └── Tutorial4.java │ │ ├── android-tutorial-5 │ │ │ ├── AndroidManifest.xml │ │ │ ├── jni │ │ │ │ ├── Android.mk │ │ │ │ └── tutorial-5.c │ │ │ ├── res │ │ │ │ ├── drawable-hdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-ldpi │ │ │ │ │ ├── file.png │ │ │ │ │ ├── folder.png │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ └── gst_sdk_icon.png │ │ │ │ ├── layout │ │ │ │ │ ├── file_dialog_main.xml │ │ │ │ │ ├── file_dialog_row.xml │ │ │ │ │ └── main.xml │ │ │ │ └── values │ │ │ │ │ └── strings.xml │ │ │ └── src │ │ │ │ └── com │ │ │ │ ├── gst_sdk_tutorials │ │ │ │ └── tutorial_5 │ │ │ │ │ ├── GStreamerSurfaceView.java │ │ │ │ │ └── Tutorial5.java │ │ │ │ └── lamerman │ │ │ │ └── FileDialog.java │ │ ├── basic-tutorial-1.c │ │ ├── basic-tutorial-12.c │ │ ├── basic-tutorial-13.c │ │ ├── basic-tutorial-15.c │ │ ├── basic-tutorial-2.c │ │ ├── basic-tutorial-3.c │ │ ├── basic-tutorial-4.c │ │ ├── basic-tutorial-5.c │ │ ├── basic-tutorial-6.c │ │ ├── basic-tutorial-7.c │ │ ├── basic-tutorial-8.c │ │ ├── basic-tutorial-9.c │ │ ├── playback-tutorial-1.c │ │ ├── playback-tutorial-2.c │ │ ├── playback-tutorial-3.c │ │ ├── playback-tutorial-4.c │ │ ├── playback-tutorial-5.c │ │ ├── playback-tutorial-6.c │ │ ├── playback-tutorial-7.c │ │ ├── vs2010 │ │ │ ├── basic-tutorial-1 │ │ │ │ ├── basic-tutorial-1.vcxproj │ │ │ │ └── basic-tutorial-1.vcxproj.filters │ │ │ ├── basic-tutorial-12 │ │ │ │ ├── basic-tutorial-12.vcxproj │ │ │ │ └── basic-tutorial-12.vcxproj.filters │ │ │ ├── basic-tutorial-13 │ │ │ │ ├── basic-tutorial-13.vcxproj │ │ │ │ └── basic-tutorial-13.vcxproj.filters │ │ │ ├── basic-tutorial-15 │ │ │ │ ├── basic-tutorial-15.vcxproj │ │ │ │ └── basic-tutorial-15.vcxproj.filters │ │ │ ├── basic-tutorial-2 │ │ │ │ ├── basic-tutorial-2.vcxproj │ │ │ │ └── basic-tutorial-2.vcxproj.filters │ │ │ ├── basic-tutorial-3 │ │ │ │ ├── basic-tutorial-3.vcxproj │ │ │ │ └── basic-tutorial-3.vcxproj.filters │ │ │ ├── basic-tutorial-4 │ │ │ │ ├── basic-tutorial-4.vcxproj │ │ │ │ └── basic-tutorial-4.vcxproj.filters │ │ │ ├── basic-tutorial-5 │ │ │ │ ├── basic-tutorial-5.vcxproj │ │ │ │ └── basic-tutorial-5.vcxproj.filters │ │ │ ├── basic-tutorial-6 │ │ │ │ ├── basic-tutorial-6.vcxproj │ │ │ │ └── basic-tutorial-6.vcxproj.filters │ │ │ ├── basic-tutorial-7 │ │ │ │ ├── basic-tutorial-7.vcxproj │ │ │ │ └── basic-tutorial-7.vcxproj.filters │ │ │ ├── basic-tutorial-8 │ │ │ │ ├── basic-tutorial-8.vcxproj │ │ │ │ └── basic-tutorial-8.vcxproj.filters │ │ │ ├── basic-tutorial-9 │ │ │ │ ├── basic-tutorial-9.vcxproj │ │ │ │ └── basic-tutorial-9.vcxproj.filters │ │ │ ├── playback-tutorial-1 │ │ │ │ ├── playback-tutorial-1.vcxproj │ │ │ │ └── playback-tutorial-1.vcxproj.filters │ │ │ ├── playback-tutorial-2 │ │ │ │ ├── playback-tutorial-2.vcxproj │ │ │ │ └── playback-tutorial-2.vcxproj.filters │ │ │ ├── playback-tutorial-3 │ │ │ │ ├── playback-tutorial-3.vcxproj │ │ │ │ └── playback-tutorial-3.vcxproj.filters │ │ │ ├── playback-tutorial-4 │ │ │ │ ├── playback-tutorial-4.vcxproj │ │ │ │ └── playback-tutorial-4.vcxproj.filters │ │ │ ├── playback-tutorial-5 │ │ │ │ ├── playback-tutorial-5.vcxproj │ │ │ │ └── playback-tutorial-5.vcxproj.filters │ │ │ ├── playback-tutorial-6 │ │ │ │ ├── playback-tutorial-6.vcxproj │ │ │ │ └── playback-tutorial-6.vcxproj.filters │ │ │ ├── playback-tutorial-7 │ │ │ │ ├── playback-tutorial-7.vcxproj │ │ │ │ └── playback-tutorial-7.vcxproj.filters │ │ │ └── tutorials.sln │ │ ├── xcode iOS │ │ │ ├── GStreamer iOS Tutorials.xcodeproj │ │ │ │ ├── project.pbxproj │ │ │ │ └── project.xcworkspace │ │ │ │ │ └── contents.xcworkspacedata │ │ │ ├── Tutorial 1 │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default.png │ │ │ │ ├── Default@2x.png │ │ │ │ ├── GStreamerBackend.h │ │ │ │ ├── GStreamerBackend.m │ │ │ │ ├── Images │ │ │ │ │ ├── appicon-1-iPad.png │ │ │ │ │ ├── appicon-1-iPad@2x.png │ │ │ │ │ ├── appicon-1-iPhone.png │ │ │ │ │ └── appicon-1-iPhone@2x.png │ │ │ │ ├── Tutorial 1-Info.plist │ │ │ │ ├── Tutorial 1-Prefix.pch │ │ │ │ ├── Ubuntu-R.ttf │ │ │ │ ├── ViewController.h │ │ │ │ ├── ViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── MainStoryboard_iPad.storyboard │ │ │ │ │ └── MainStoryboard_iPhone.storyboard │ │ │ │ ├── fonts.conf │ │ │ │ ├── gst_ios_init.h │ │ │ │ ├── gst_ios_init.m │ │ │ │ └── main.m │ │ │ ├── Tutorial 2 │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default.png │ │ │ │ ├── Default@2x.png │ │ │ │ ├── GStreamerBackend.h │ │ │ │ ├── GStreamerBackend.m │ │ │ │ ├── GStreamerBackendDelegate.h │ │ │ │ ├── Images │ │ │ │ │ ├── appicon-2-iPad.png │ │ │ │ │ ├── appicon-2-iPad@2x.png │ │ │ │ │ ├── appicon-2-iPhone.png │ │ │ │ │ └── appicon-2-iPhone@2x.png │ │ │ │ ├── Tutorial 2-Info.plist │ │ │ │ ├── Tutorial 2-Prefix.pch │ │ │ │ ├── Tutorial2-Info.plist │ │ │ │ ├── Ubuntu-R.ttf │ │ │ │ ├── ViewController.h │ │ │ │ ├── ViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── MainStoryboard_iPad.storyboard │ │ │ │ │ └── MainStoryboard_iPhone.storyboard │ │ │ │ ├── fonts.conf │ │ │ │ ├── gst_ios_init.h │ │ │ │ ├── gst_ios_init.m │ │ │ │ └── main.m │ │ │ ├── Tutorial 3 │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default.png │ │ │ │ ├── Default@2x.png │ │ │ │ ├── EaglUIVIew.h │ │ │ │ ├── EaglUIVIew.m │ │ │ │ ├── GStreamerBackend.h │ │ │ │ ├── GStreamerBackend.m │ │ │ │ ├── GStreamerBackendDelegate.h │ │ │ │ ├── Images │ │ │ │ │ ├── appicon-3-iPad.png │ │ │ │ │ ├── appicon-3-iPad@2x.png │ │ │ │ │ ├── appicon-3-iPhone.png │ │ │ │ │ └── appicon-3-iPhone@2x.png │ │ │ │ ├── Tutorial 3-Info.plist │ │ │ │ ├── Tutorial 3-Prefix.pch │ │ │ │ ├── Ubuntu-R.ttf │ │ │ │ ├── ViewController.h │ │ │ │ ├── ViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── MainStoryboard_iPad.storyboard │ │ │ │ │ └── MainStoryboard_iPhone.storyboard │ │ │ │ ├── fonts.conf │ │ │ │ ├── gst_ios_init.h │ │ │ │ ├── gst_ios_init.m │ │ │ │ └── main.m │ │ │ ├── Tutorial 4 │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default.png │ │ │ │ ├── Default@2x.png │ │ │ │ ├── EaglUIVIew.h │ │ │ │ ├── EaglUIVIew.m │ │ │ │ ├── GStreamerBackend.h │ │ │ │ ├── GStreamerBackend.m │ │ │ │ ├── GStreamerBackendDelegate.h │ │ │ │ ├── Images │ │ │ │ │ ├── appicon-4-iPad.png │ │ │ │ │ ├── appicon-4-iPad@2x.png │ │ │ │ │ ├── appicon-4-iPhone.png │ │ │ │ │ └── appicon-4-iPhone@2x.png │ │ │ │ ├── Tutorial 4-Info.plist │ │ │ │ ├── Tutorial 4-Prefix.pch │ │ │ │ ├── Ubuntu-R.ttf │ │ │ │ ├── VideoViewController.h │ │ │ │ ├── VideoViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── MainStoryboard_iPad.storyboard │ │ │ │ │ └── MainStoryboard_iPhone.storyboard │ │ │ │ ├── fonts.conf │ │ │ │ ├── gst_ios_init.h │ │ │ │ ├── gst_ios_init.m │ │ │ │ └── main.m │ │ │ └── Tutorial 5 │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default.png │ │ │ │ ├── Default@2x.png │ │ │ │ ├── EaglUIVIew.h │ │ │ │ ├── EaglUIVIew.m │ │ │ │ ├── GStreamerBackend.h │ │ │ │ ├── GStreamerBackend.m │ │ │ │ ├── GStreamerBackendDelegate.h │ │ │ │ ├── Images │ │ │ │ ├── appicon-5-iPad.png │ │ │ │ ├── appicon-5-iPad@2x.png │ │ │ │ ├── appicon-5-iPhone.png │ │ │ │ └── appicon-5-iPhone@2x.png │ │ │ │ ├── LibraryViewController.h │ │ │ │ ├── LibraryViewController.m │ │ │ │ ├── Tutorial 5-Info.plist │ │ │ │ ├── Tutorial 5-Prefix.pch │ │ │ │ ├── Ubuntu-R.ttf │ │ │ │ ├── VideoViewController.h │ │ │ │ ├── VideoViewController.m │ │ │ │ ├── en.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ ├── MainStoryboard_iPad.storyboard │ │ │ │ └── MainStoryboard_iPhone.storyboard │ │ │ │ ├── fonts.conf │ │ │ │ ├── gst_ios_init.h │ │ │ │ ├── gst_ios_init.m │ │ │ │ └── main.m │ │ └── xcode │ │ │ └── GStreamer Tutorials.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── 01-Tutorial 1.xcscheme │ │ │ ├── 02-Tutorial 2.xcscheme │ │ │ ├── 03-Turorial 3.xcscheme │ │ │ ├── 04-Tutorial 4.xcscheme │ │ │ ├── 05-Tutorial 5.xcscheme │ │ │ ├── 06-Tutorial 6.xcscheme │ │ │ ├── 07-Tutorial 7.xcscheme │ │ │ ├── 08-Tutorial 8.xcscheme │ │ │ ├── 09-Tutorial 9.xcscheme │ │ │ ├── 12-Tutorial 12.xcscheme │ │ │ ├── 13-Tutorial 13.xcscheme │ │ │ ├── 15-Tutorial 15.xcscheme │ │ │ ├── 21-Playback Tutorial 1.xcscheme │ │ │ ├── 22-Playback Tutorial 2.xcscheme │ │ │ ├── 23-Playback Tutorial 3.xcscheme │ │ │ ├── 24-Playback Tutorial 4.xcscheme │ │ │ ├── 25-Playback Tutorial 5.xcscheme │ │ │ ├── 26-Playback Tutorial 6.xcscheme │ │ │ ├── 27-Playback Tutorial 7.xcscheme │ │ │ └── xcschememanagement.plist │ └── multifilesink.c │ ├── Python │ ├── pygst-sdk-tutorials │ │ ├── README.md │ │ ├── basic-tutorial-1.py │ │ ├── basic-tutorial-12-new.py │ │ ├── basic-tutorial-12.py │ │ ├── basic-tutorial-13-ext.py │ │ ├── basic-tutorial-13.py │ │ ├── basic-tutorial-2.py │ │ ├── basic-tutorial-3-exc.py │ │ ├── basic-tutorial-3.py │ │ ├── basic-tutorial-4.py │ │ ├── basic-tutorial-5.py │ │ ├── basic-tutorial-6.py │ │ ├── basic-tutorial-7.py │ │ ├── basic-tutorial-8.py │ │ ├── basic-tutorial-9.py │ │ ├── playback-tutorial-1.py │ │ ├── playback-tutorial-2.py │ │ ├── playback-tutorial-3.py │ │ ├── playback-tutorial-4.py │ │ ├── playback-tutorial-5.py │ │ ├── playback-tutorial-6.py │ │ ├── playback-tutorial-7-exc.py │ │ ├── playback-tutorial-7.py │ │ ├── pygst-sdk-tutorials.pyproj │ │ └── pygst-sdk-tutorials.sln │ └── tee_and_rtmpsink.py │ └── Shell │ └── videoeffects.sh ├── Python ├── pygst-sdk-tutorials │ ├── README.md │ ├── basic-tutorial-1.py │ ├── basic-tutorial-2.py │ ├── basic-tutorial-3.py │ └── basic-tutorial-4.py └── pygst-tutorial │ ├── 0.md │ ├── 1.md │ ├── 2.md │ ├── 3.md │ ├── 4.md │ ├── 5.md │ ├── 6.md │ ├── 7.md │ ├── 8.md │ ├── example21.py │ ├── example22.py │ ├── example22b.py │ ├── example23.py │ ├── example31.py │ ├── example32.py │ ├── example33.py │ ├── example4.py │ ├── example5.py │ ├── example61.py │ ├── example62.py │ ├── example63.py │ ├── example71.py │ ├── example72.py │ ├── example8.py │ ├── original │ ├── 2.pdf │ ├── 3.pdf │ ├── 4.pdf │ ├── 5.pdf │ ├── 6.pdf │ ├── 7.pdf │ └── 8.pdf │ └── tvlogo.png ├── README.md ├── Rust └── basic-tutorial │ └── 1-hello-world │ ├── .gitignore │ ├── Cargo.toml │ ├── README.md │ └── src │ └── main.rs └── Shell └── videoeffects.sh /C/.gitignore: -------------------------------------------------------------------------------- 1 | multifilesink 2 | takepic 3 | *.avi 4 | *.png -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | * **[Rubén González](https://github.com/rubenrua)** 2 | * Original Author 3 | 4 | * **[Marc Macià](https://github.com/MarcMacia)** 5 | 6 | * **[Juan Luís Marí](https://github.com/)** 7 | 8 | * **[Héctor Canto](https://github.com/hectorcanto)** -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | Debug 3 | Release 4 | ipch 5 | *.user 6 | *.sdf 7 | *.suo 8 | *.opensdf 9 | vs/2010/libs 10 | bin 11 | gen 12 | libs 13 | obj 14 | .classpath 15 | .project 16 | .settings 17 | .libs 18 | .cproject 19 | gst-build 20 | project.properties 21 | gst_sdk 22 | .DS_Store 23 | xcuserdata 24 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/README.md: -------------------------------------------------------------------------------- 1 | GStreamer SDK Tutorial 2 | =================== 3 | 4 | See: 5 | 6 | * http://docs.gstreamer.com/display/GstSDK/Tutorials 7 | * http://cgit.freedesktop.org/gstreamer-sdk/gst-sdk-tutorials/ 8 | * git://anongit.freedesktop.org/gstreamer-sdk/gst-sdk-tutorials -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/README.md~: -------------------------------------------------------------------------------- 1 | GStreamer SDK Tutorials in Python 2 | =================== 3 | 4 | Python version of gstremaer SDK [1] tutorials [2]. 5 | The following sections introduce a series of tutorials designed to help you learn how to use GStreamer, the multi-platform, modular, open-source, media streaming framework. 6 | 7 | Tutorials 8 | ------------ 9 | 10 | * Basic tutorial 1: Hello world! 11 | * Basic tutorial 2: GStreamer concepts 12 | * Basic tutorial 3: Dynamic pipelines 13 | * Basic tutorial 4: Time management 14 | * Basic tutorial 5: GUI toolkit integration 15 | * Basic tutorial 6: Media formats and Pad Capabilities 16 | * Basic tutorial 7: Multithreading and Pad Availability 17 | * Basic tutorial 8: Short-cutting the pipeline 18 | * Basic tutorial 9: Media information gathering 19 | * .. 20 | 21 | APIs 22 | ------------ 23 | 24 | * Python GStreamer: http://pygstdocs.berlios.de/pygst-reference/index.html 25 | * GStreamer 0.10 Core Reference Manual: http://www.freedesktop.org/software/gstreamer-sdk/data/docs/2012.5/gstreamer-0.10/index.html 26 | * GStreamer Base Plugins 0.10 Plugins Reference Manual: http://www.freedesktop.org/software/gstreamer-sdk/data/docs/2012.5/gst-plugins-base-plugins-0.10/index.html 27 | 28 | 29 | [1]: http://gstreamer.com/ 30 | [2]: http://docs.gstreamer.com/display/GstSDK/Tutorials -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := tutorial-1 6 | LOCAL_SRC_FILES := tutorial-1.c 7 | LOCAL_SHARED_LIBRARIES := gstreamer_android 8 | LOCAL_LDLIBS := -llog 9 | include $(BUILD_SHARED_LIBRARY) 10 | 11 | ifndef GSTREAMER_SDK_ROOT 12 | ifndef GSTREAMER_SDK_ROOT_ANDROID 13 | $(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) 14 | endif 15 | GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) 16 | endif 17 | GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ 18 | GSTREAMER_PLUGINS := coreelements 19 | include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk 20 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/jni/tutorial-1.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | /* 7 | * Java Bindings 8 | */ 9 | jstring gst_native_get_gstreamer_info (JNIEnv* env, jobject thiz) { 10 | char *version_utf8 = gst_version_string(); 11 | jstring *version_jstring = (*env)->NewStringUTF(env, version_utf8); 12 | g_free (version_utf8); 13 | return version_jstring; 14 | } 15 | 16 | static JNINativeMethod native_methods[] = { 17 | { "nativeGetGStreamerInfo", "()Ljava/lang/String;", (void *) gst_native_get_gstreamer_info} 18 | }; 19 | 20 | jint JNI_OnLoad(JavaVM *vm, void *reserved) { 21 | JNIEnv *env = NULL; 22 | 23 | if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) { 24 | __android_log_print (ANDROID_LOG_ERROR, "tutorial-1", "Could not retrieve JNIEnv"); 25 | return 0; 26 | } 27 | jclass klass = (*env)->FindClass (env, "com/gst_sdk_tutorials/tutorial_1/Tutorial1"); 28 | (*env)->RegisterNatives (env, klass, native_methods, G_N_ELEMENTS(native_methods)); 29 | 30 | return JNI_VERSION_1_4; 31 | } 32 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-hdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-hdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-ldpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-mdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-mdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-xhdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/drawable-xhdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | GStreamer tutorial 1 4 | 5 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-1/src/com/gst_sdk_tutorials/tutorial_1/Tutorial1.java: -------------------------------------------------------------------------------- 1 | package com.gst_sdk_tutorials.tutorial_1; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | import android.widget.TextView; 6 | import android.widget.Toast; 7 | 8 | import com.gstreamer.GStreamer; 9 | 10 | public class Tutorial1 extends Activity { 11 | private native String nativeGetGStreamerInfo(); 12 | 13 | // Called when the activity is first created. 14 | @Override 15 | public void onCreate(Bundle savedInstanceState) 16 | { 17 | super.onCreate(savedInstanceState); 18 | 19 | try { 20 | GStreamer.init(this); 21 | } catch (Exception e) { 22 | Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); 23 | finish(); 24 | return; 25 | } 26 | 27 | setContentView(R.layout.main); 28 | 29 | TextView tv = (TextView)findViewById(R.id.textview_info); 30 | tv.setText("Welcome to " + nativeGetGStreamerInfo() + " !"); 31 | } 32 | 33 | static { 34 | System.loadLibrary("gstreamer_android"); 35 | System.loadLibrary("tutorial-1"); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := tutorial-2 6 | LOCAL_SRC_FILES := tutorial-2.c 7 | LOCAL_SHARED_LIBRARIES := gstreamer_android 8 | LOCAL_LDLIBS := -llog 9 | include $(BUILD_SHARED_LIBRARY) 10 | 11 | ifndef GSTREAMER_SDK_ROOT 12 | ifndef GSTREAMER_SDK_ROOT_ANDROID 13 | $(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) 14 | endif 15 | GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) 16 | endif 17 | GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ 18 | include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk 19 | GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) 20 | include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk 21 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-hdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-hdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-ldpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-ldpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-mdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-mdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-xhdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/drawable-xhdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 20 | 21 | 28 | 29 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-2/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | GStreamer tutorial 2 4 | Play 5 | Stop 6 | 7 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := tutorial-3 6 | LOCAL_SRC_FILES := tutorial-3.c 7 | LOCAL_SHARED_LIBRARIES := gstreamer_android 8 | LOCAL_LDLIBS := -llog -landroid 9 | include $(BUILD_SHARED_LIBRARY) 10 | 11 | ifndef GSTREAMER_SDK_ROOT 12 | ifndef GSTREAMER_SDK_ROOT_ANDROID 13 | $(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) 14 | endif 15 | GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) 16 | endif 17 | GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ 18 | include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk 19 | GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_SYS) $(GSTREAMER_PLUGINS_EFFECTS) 20 | GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 21 | include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk 22 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-hdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-hdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-ldpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-ldpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-mdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-mdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-xhdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/drawable-xhdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 21 | 22 | 29 | 30 | 37 | 38 | 39 | 44 | 45 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | GStreamer tutorial 3 4 | Play 5 | Stop 6 | 7 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-3/src/com/gst_sdk_tutorials/tutorial_3/GStreamerSurfaceView.java: -------------------------------------------------------------------------------- 1 | package com.gst_sdk_tutorials.tutorial_3; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.util.Log; 6 | import android.view.SurfaceView; 7 | import android.view.View; 8 | 9 | // A simple SurfaceView whose width and height can be set from the outside 10 | public class GStreamerSurfaceView extends SurfaceView { 11 | public int media_width = 320; 12 | public int media_height = 240; 13 | 14 | // Mandatory constructors, they do not do much 15 | public GStreamerSurfaceView(Context context, AttributeSet attrs, 16 | int defStyle) { 17 | super(context, attrs, defStyle); 18 | } 19 | 20 | public GStreamerSurfaceView(Context context, AttributeSet attrs) { 21 | super(context, attrs); 22 | } 23 | 24 | public GStreamerSurfaceView (Context context) { 25 | super(context); 26 | } 27 | 28 | // Called by the layout manager to find out our size and give us some rules. 29 | // We will try to maximize our size, and preserve the media's aspect ratio if 30 | // we are given the freedom to do so. 31 | @Override 32 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 33 | int width = 0, height = 0; 34 | int wmode = View.MeasureSpec.getMode(widthMeasureSpec); 35 | int hmode = View.MeasureSpec.getMode(heightMeasureSpec); 36 | int wsize = View.MeasureSpec.getSize(widthMeasureSpec); 37 | int hsize = View.MeasureSpec.getSize(heightMeasureSpec); 38 | 39 | Log.i ("GStreamer", "onMeasure called with " + media_width + "x" + media_height); 40 | // Obey width rules 41 | switch (wmode) { 42 | case View.MeasureSpec.AT_MOST: 43 | if (hmode == View.MeasureSpec.EXACTLY) { 44 | width = Math.min(hsize * media_width / media_height, wsize); 45 | break; 46 | } 47 | case View.MeasureSpec.EXACTLY: 48 | width = wsize; 49 | break; 50 | case View.MeasureSpec.UNSPECIFIED: 51 | width = media_width; 52 | } 53 | 54 | // Obey height rules 55 | switch (hmode) { 56 | case View.MeasureSpec.AT_MOST: 57 | if (wmode == View.MeasureSpec.EXACTLY) { 58 | height = Math.min(wsize * media_height / media_width, hsize); 59 | break; 60 | } 61 | case View.MeasureSpec.EXACTLY: 62 | height = hsize; 63 | break; 64 | case View.MeasureSpec.UNSPECIFIED: 65 | height = media_height; 66 | } 67 | 68 | // Finally, calculate best size when both axis are free 69 | if (hmode == View.MeasureSpec.AT_MOST && wmode == View.MeasureSpec.AT_MOST) { 70 | int correct_height = width * media_height / media_width; 71 | int correct_width = height * media_width / media_height; 72 | 73 | if (correct_height < height) 74 | height = correct_height; 75 | else 76 | width = correct_width; 77 | } 78 | 79 | // Obey minimum size 80 | width = Math.max (getSuggestedMinimumWidth(), width); 81 | height = Math.max (getSuggestedMinimumHeight(), height); 82 | setMeasuredDimension(width, height); 83 | } 84 | 85 | } 86 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := tutorial-4 6 | LOCAL_SRC_FILES := tutorial-4.c 7 | LOCAL_SHARED_LIBRARIES := gstreamer_android 8 | LOCAL_LDLIBS := -llog -landroid 9 | include $(BUILD_SHARED_LIBRARY) 10 | 11 | ifndef GSTREAMER_SDK_ROOT 12 | ifndef GSTREAMER_SDK_ROOT_ANDROID 13 | $(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) 14 | endif 15 | GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) 16 | endif 17 | GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ 18 | include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk 19 | GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) 20 | GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 21 | include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk 22 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-hdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-hdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-ldpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-ldpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-mdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-mdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-xhdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/drawable-xhdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 21 | 22 | 29 | 30 | 37 | 38 | 39 | 45 | 46 | 53 | 54 | 61 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | GStreamer tutorial 4 4 | Play 5 | Stop 6 | 7 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-4/src/com/gst_sdk_tutorials/tutorial_4/GStreamerSurfaceView.java: -------------------------------------------------------------------------------- 1 | package com.gst_sdk_tutorials.tutorial_4; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.util.Log; 6 | import android.view.SurfaceView; 7 | import android.view.View; 8 | 9 | // A simple SurfaceView whose width and height can be set from the outside 10 | public class GStreamerSurfaceView extends SurfaceView { 11 | public int media_width = 320; 12 | public int media_height = 240; 13 | 14 | // Mandatory constructors, they do not do much 15 | public GStreamerSurfaceView(Context context, AttributeSet attrs, 16 | int defStyle) { 17 | super(context, attrs, defStyle); 18 | } 19 | 20 | public GStreamerSurfaceView(Context context, AttributeSet attrs) { 21 | super(context, attrs); 22 | } 23 | 24 | public GStreamerSurfaceView (Context context) { 25 | super(context); 26 | } 27 | 28 | // Called by the layout manager to find out our size and give us some rules. 29 | // We will try to maximize our size, and preserve the media's aspect ratio if 30 | // we are given the freedom to do so. 31 | @Override 32 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 33 | int width = 0, height = 0; 34 | int wmode = View.MeasureSpec.getMode(widthMeasureSpec); 35 | int hmode = View.MeasureSpec.getMode(heightMeasureSpec); 36 | int wsize = View.MeasureSpec.getSize(widthMeasureSpec); 37 | int hsize = View.MeasureSpec.getSize(heightMeasureSpec); 38 | 39 | Log.i ("GStreamer", "onMeasure called with " + media_width + "x" + media_height); 40 | // Obey width rules 41 | switch (wmode) { 42 | case View.MeasureSpec.AT_MOST: 43 | if (hmode == View.MeasureSpec.EXACTLY) { 44 | width = Math.min(hsize * media_width / media_height, wsize); 45 | break; 46 | } 47 | case View.MeasureSpec.EXACTLY: 48 | width = wsize; 49 | break; 50 | case View.MeasureSpec.UNSPECIFIED: 51 | width = media_width; 52 | } 53 | 54 | // Obey height rules 55 | switch (hmode) { 56 | case View.MeasureSpec.AT_MOST: 57 | if (wmode == View.MeasureSpec.EXACTLY) { 58 | height = Math.min(wsize * media_height / media_width, hsize); 59 | break; 60 | } 61 | case View.MeasureSpec.EXACTLY: 62 | height = hsize; 63 | break; 64 | case View.MeasureSpec.UNSPECIFIED: 65 | height = media_height; 66 | } 67 | 68 | // Finally, calculate best size when both axis are free 69 | if (hmode == View.MeasureSpec.AT_MOST && wmode == View.MeasureSpec.AT_MOST) { 70 | int correct_height = width * media_height / media_width; 71 | int correct_width = height * media_width / media_height; 72 | 73 | if (correct_height < height) 74 | height = correct_height; 75 | else 76 | width = correct_width; 77 | } 78 | 79 | // Obey minimum size 80 | width = Math.max (getSuggestedMinimumWidth(), width); 81 | height = Math.max (getSuggestedMinimumHeight(), height); 82 | setMeasuredDimension(width, height); 83 | } 84 | 85 | } 86 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_MODULE := tutorial-5 6 | LOCAL_SRC_FILES := tutorial-5.c 7 | LOCAL_SHARED_LIBRARIES := gstreamer_android 8 | LOCAL_LDLIBS := -llog -landroid 9 | include $(BUILD_SHARED_LIBRARY) 10 | 11 | ifndef GSTREAMER_SDK_ROOT 12 | ifndef GSTREAMER_SDK_ROOT_ANDROID 13 | $(error GSTREAMER_SDK_ROOT_ANDROID is not defined!) 14 | endif 15 | GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID) 16 | endif 17 | GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build/ 18 | include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk 19 | GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_PLAYBACK) $(GSTREAMER_PLUGINS_CODECS) $(GSTREAMER_PLUGINS_NET) $(GSTREAMER_PLUGINS_SYS) 20 | G_IO_MODULES := gnutls 21 | GSTREAMER_EXTRA_DEPS := gstreamer-interfaces-0.10 gstreamer-video-0.10 22 | include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer.mk 23 | -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-hdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-hdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-ldpi/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-ldpi/file.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-ldpi/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-ldpi/folder.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-ldpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-ldpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-mdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-mdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-xhdpi/gst_sdk_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rubenrua/GstreamerCodeSnippets/f164eac29a6117bf647c9f888d95aa7910d305f6/Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/drawable-xhdpi/gst_sdk_icon.png -------------------------------------------------------------------------------- /Other/0.10/C/gst-sdk-tutorials/android-tutorial-5/res/layout/file_dialog_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 18 | 19 | 23 | 24 |