summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavi Artigas <xartigas@fluendo.com>2013-04-30 11:03:43 (GMT)
committerXavi Artigas <xartigas@fluendo.com>2013-04-30 11:03:43 (GMT)
commit8dc3c7d96a631d128f1f58af709ca3e846fbc427 (patch)
tree2e525bf79b1ce94fdfd376376882c2139e74fb14
parentd2c4104a9e7e35fb2c9b414b5425a42eba2a2ff9 (diff)
downloadgst-sdk-tutorials-8dc3c7d96a631d128f1f58af709ca3e846fbc427.tar.gz
gst-sdk-tutorials-8dc3c7d96a631d128f1f58af709ca3e846fbc427.tar.xz
Initial import of Tutorial 2 from thiagoss
-rw-r--r--gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj288
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.h7
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.m38
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/Default-568h@2x.pngbin0 -> 18594 bytes
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/Default.pngbin0 -> 6540 bytes
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/Default@2x.pngbin0 -> 16107 bytes
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h18
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m133
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h9
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist49
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Prefix.pch14
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial2-Info.plist49
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h14
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m67
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/InfoPlist.strings2
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard77
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard92
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c995
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h25
-rw-r--r--gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m13
20 files changed, 1890 insertions, 0 deletions
diff --git a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj
index 2c6245e..e877b1d 100644
--- a/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj
+++ b/gst-sdk/tutorials/xcode iOS/GStreamer iOS Tutorials.xcodeproj/project.pbxproj
@@ -22,6 +22,21 @@
C67B40EE172EBEA3008359CC /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B40ED172EBEA3008359CC /* ViewController.m */; };
C67B40F0172EBEA3008359CC /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C67B40EF172EBEA3008359CC /* gst_ios_init.c */; };
C67B40FA172EC27D008359CC /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B40F9172EC27D008359CC /* GStreamerBackend.m */; };
+ C67B4100172FC7F4008359CC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CC172EBEA3008359CC /* UIKit.framework */; };
+ C67B4101172FC7F4008359CC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40CE172EBEA3008359CC /* Foundation.framework */; };
+ C67B4102172FC7F4008359CC /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D0172EBEA3008359CC /* CoreGraphics.framework */; };
+ C67B4103172FC7F4008359CC /* GStreamer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C67B40D2172EBEA3008359CC /* GStreamer.framework */; };
+ C67B4109172FC7F4008359CC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = C67B4107172FC7F4008359CC /* InfoPlist.strings */; };
+ C67B410B172FC7F4008359CC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B410A172FC7F4008359CC /* main.m */; };
+ C67B410F172FC7F5008359CC /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B410E172FC7F5008359CC /* AppDelegate.m */; };
+ C67B4111172FC7F5008359CC /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4110172FC7F5008359CC /* Default.png */; };
+ C67B4113172FC7F5008359CC /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4112172FC7F5008359CC /* Default@2x.png */; };
+ C67B4115172FC7F5008359CC /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C67B4114172FC7F5008359CC /* Default-568h@2x.png */; };
+ C67B4118172FC7F5008359CC /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B4116172FC7F5008359CC /* MainStoryboard_iPhone.storyboard */; };
+ C67B411B172FC7F5008359CC /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C67B4119172FC7F5008359CC /* MainStoryboard_iPad.storyboard */; };
+ C67B411E172FC7F5008359CC /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B411D172FC7F5008359CC /* ViewController.m */; };
+ C67B412A172FC85D008359CC /* gst_ios_init.c in Sources */ = {isa = PBXBuildFile; fileRef = C67B4128172FC85D008359CC /* gst_ios_init.c */; };
+ C67B412E172FCC4C008359CC /* GStreamerBackend.m in Sources */ = {isa = PBXBuildFile; fileRef = C67B412C172FCC4C008359CC /* GStreamerBackend.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -47,6 +62,25 @@
C67B40F1172EBEA3008359CC /* gst_ios_init.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = "<group>"; };
C67B40F8172EC27D008359CC /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = "<group>"; };
C67B40F9172EC27D008359CC /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = "<group>"; };
+ C67B40FF172FC7F4008359CC /* Tutorial 2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tutorial 2.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ C67B4106172FC7F4008359CC /* Tutorial 2-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tutorial 2-Info.plist"; sourceTree = "<group>"; };
+ C67B4108172FC7F4008359CC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ C67B410A172FC7F4008359CC /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ C67B410C172FC7F5008359CC /* Tutorial 2-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tutorial 2-Prefix.pch"; sourceTree = "<group>"; };
+ C67B410D172FC7F5008359CC /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ C67B410E172FC7F5008359CC /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ C67B4110172FC7F5008359CC /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
+ C67B4112172FC7F5008359CC /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
+ C67B4114172FC7F5008359CC /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
+ C67B4117172FC7F5008359CC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = "<group>"; };
+ C67B411A172FC7F5008359CC /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = "<group>"; };
+ C67B411C172FC7F5008359CC /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
+ C67B411D172FC7F5008359CC /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
+ C67B4128172FC85D008359CC /* gst_ios_init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gst_ios_init.c; sourceTree = "<group>"; };
+ C67B4129172FC85D008359CC /* gst_ios_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gst_ios_init.h; sourceTree = "<group>"; };
+ C67B412B172FCC4C008359CC /* GStreamerBackend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackend.h; sourceTree = "<group>"; };
+ C67B412C172FCC4C008359CC /* GStreamerBackend.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GStreamerBackend.m; sourceTree = "<group>"; };
+ C67B412D172FCC4C008359CC /* GStreamerBackendDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GStreamerBackendDelegate.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -61,6 +95,17 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C67B40FC172FC7F4008359CC /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C67B4100172FC7F4008359CC /* UIKit.framework in Frameworks */,
+ C67B4101172FC7F4008359CC /* Foundation.framework in Frameworks */,
+ C67B4102172FC7F4008359CC /* CoreGraphics.framework in Frameworks */,
+ C67B4103172FC7F4008359CC /* GStreamer.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -68,6 +113,7 @@
isa = PBXGroup;
children = (
C67B40D4172EBEA3008359CC /* Tutorial 1 */,
+ C67B4104172FC7F4008359CC /* Tutorial 2 */,
C67B40CB172EBEA3008359CC /* Frameworks */,
C67B40CA172EBEA3008359CC /* Products */,
);
@@ -77,6 +123,7 @@
isa = PBXGroup;
children = (
C67B40C9172EBEA3008359CC /* Tutorial 1.app */,
+ C67B40FF172FC7F4008359CC /* Tutorial 2.app */,
);
name = Products;
sourceTree = "<group>";
@@ -124,6 +171,39 @@
name = "Supporting Files";
sourceTree = "<group>";
};
+ C67B4104172FC7F4008359CC /* Tutorial 2 */ = {
+ isa = PBXGroup;
+ children = (
+ C67B412B172FCC4C008359CC /* GStreamerBackend.h */,
+ C67B412C172FCC4C008359CC /* GStreamerBackend.m */,
+ C67B410D172FC7F5008359CC /* AppDelegate.h */,
+ C67B410E172FC7F5008359CC /* AppDelegate.m */,
+ C67B4116172FC7F5008359CC /* MainStoryboard_iPhone.storyboard */,
+ C67B4119172FC7F5008359CC /* MainStoryboard_iPad.storyboard */,
+ C67B411C172FC7F5008359CC /* ViewController.h */,
+ C67B411D172FC7F5008359CC /* ViewController.m */,
+ C67B4105172FC7F4008359CC /* Supporting Files */,
+ );
+ path = "Tutorial 2";
+ sourceTree = "<group>";
+ };
+ C67B4105172FC7F4008359CC /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ C67B4106172FC7F4008359CC /* Tutorial 2-Info.plist */,
+ C67B4107172FC7F4008359CC /* InfoPlist.strings */,
+ C67B410A172FC7F4008359CC /* main.m */,
+ C67B410C172FC7F5008359CC /* Tutorial 2-Prefix.pch */,
+ C67B4110172FC7F5008359CC /* Default.png */,
+ C67B4112172FC7F5008359CC /* Default@2x.png */,
+ C67B4114172FC7F5008359CC /* Default-568h@2x.png */,
+ C67B4128172FC85D008359CC /* gst_ios_init.c */,
+ C67B4129172FC85D008359CC /* gst_ios_init.h */,
+ C67B412D172FCC4C008359CC /* GStreamerBackendDelegate.h */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -144,6 +224,23 @@
productReference = C67B40C9172EBEA3008359CC /* Tutorial 1.app */;
productType = "com.apple.product-type.application";
};
+ C67B40FE172FC7F4008359CC /* Tutorial 2 */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C67B4125172FC7F5008359CC /* Build configuration list for PBXNativeTarget "Tutorial 2" */;
+ buildPhases = (
+ C67B40FB172FC7F4008359CC /* Sources */,
+ C67B40FC172FC7F4008359CC /* Frameworks */,
+ C67B40FD172FC7F4008359CC /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "Tutorial 2";
+ productName = "Tutorial 2";
+ productReference = C67B40FF172FC7F4008359CC /* Tutorial 2.app */;
+ productType = "com.apple.product-type.application";
+ };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -165,6 +262,7 @@
projectRoot = "";
targets = (
C67B40C8172EBEA3008359CC /* Tutorial 1 */,
+ C67B40FE172FC7F4008359CC /* Tutorial 2 */,
);
};
/* End PBXProject section */
@@ -183,6 +281,19 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C67B40FD172FC7F4008359CC /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C67B4109172FC7F4008359CC /* InfoPlist.strings in Resources */,
+ C67B4111172FC7F5008359CC /* Default.png in Resources */,
+ C67B4113172FC7F5008359CC /* Default@2x.png in Resources */,
+ C67B4115172FC7F5008359CC /* Default-568h@2x.png in Resources */,
+ C67B4118172FC7F5008359CC /* MainStoryboard_iPhone.storyboard in Resources */,
+ C67B411B172FC7F5008359CC /* MainStoryboard_iPad.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -198,6 +309,18 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C67B40FB172FC7F4008359CC /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C67B410B172FC7F4008359CC /* main.m in Sources */,
+ C67B410F172FC7F5008359CC /* AppDelegate.m in Sources */,
+ C67B411E172FC7F5008359CC /* ViewController.m in Sources */,
+ C67B412A172FC85D008359CC /* gst_ios_init.c in Sources */,
+ C67B412E172FCC4C008359CC /* GStreamerBackend.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
@@ -225,6 +348,30 @@
name = MainStoryboard_iPad.storyboard;
sourceTree = "<group>";
};
+ C67B4107172FC7F4008359CC /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ C67B4108172FC7F4008359CC /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ C67B4116172FC7F5008359CC /* MainStoryboard_iPhone.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ C67B4117172FC7F5008359CC /* en */,
+ );
+ name = MainStoryboard_iPhone.storyboard;
+ sourceTree = "<group>";
+ };
+ C67B4119172FC7F5008359CC /* MainStoryboard_iPad.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ C67B411A172FC7F5008359CC /* en */,
+ );
+ name = MainStoryboard_iPad.storyboard;
+ sourceTree = "<group>";
+ };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -372,6 +519,138 @@
};
name = Release;
};
+ C67B4126172FC7F5008359CC /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = armv7;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "\"~/Library/Developer/GStreamer/iPhone.sdk\"",
+ "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+ );
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tutorial 2/Tutorial 2-Prefix.pch";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = "\"~/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers\"";
+ INFOPLIST_FILE = "Tutorial 2/Tutorial 2-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 6.1;
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_LDFLAGS = (
+ "-lresolv",
+ "-lstdc++",
+ "-framework",
+ CoreFoundation,
+ "-framework",
+ Foundation,
+ "-framework",
+ AVFoundation,
+ "-framework",
+ CoreMedia,
+ "-framework",
+ CoreVideo,
+ "-framework",
+ CoreAudio,
+ "-framework",
+ AudioToolbox,
+ "-framework",
+ OpenGLES,
+ "-framework",
+ AssetsLibrary,
+ "-framework",
+ QuartzCore,
+ "-framework",
+ AssetsLibrary,
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C67B4127172FC7F5008359CC /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = armv7;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "\"~/Library/Developer/GStreamer/iPhone.sdk\"",
+ "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+ );
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tutorial 2/Tutorial 2-Prefix.pch";
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = "\"~/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers\"";
+ INFOPLIST_FILE = "Tutorial 2/Tutorial 2-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 6.1;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ OTHER_LDFLAGS = (
+ "-lresolv",
+ "-lstdc++",
+ "-framework",
+ CoreFoundation,
+ "-framework",
+ Foundation,
+ "-framework",
+ AVFoundation,
+ "-framework",
+ CoreMedia,
+ "-framework",
+ CoreVideo,
+ "-framework",
+ CoreAudio,
+ "-framework",
+ AudioToolbox,
+ "-framework",
+ OpenGLES,
+ "-framework",
+ AssetsLibrary,
+ "-framework",
+ QuartzCore,
+ "-framework",
+ AssetsLibrary,
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -393,6 +672,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ C67B4125172FC7F5008359CC /* Build configuration list for PBXNativeTarget "Tutorial 2" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C67B4126172FC7F5008359CC /* Debug */,
+ C67B4127172FC7F5008359CC /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = C67B40BF172EBDF1008359CC /* Project object */;
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.h
new file mode 100644
index 0000000..a5a8b38
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.h
@@ -0,0 +1,7 @@
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.m
new file mode 100644
index 0000000..31ef04e
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/AppDelegate.m
@@ -0,0 +1,38 @@
+#import "AppDelegate.h"
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ // Override point for customization after application launch.
+ return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+ // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+ // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+ // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+ // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+@end
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default-568h@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default-568h@2x.png
new file mode 100644
index 0000000..0891b7a
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default-568h@2x.png
Binary files differ
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default.png b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default.png
new file mode 100644
index 0000000..4c8ca6f
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default.png
Binary files differ
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default@2x.png b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default@2x.png
new file mode 100644
index 0000000..35b84cf
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Default@2x.png
Binary files differ
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h
new file mode 100644
index 0000000..a5bda8e
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.h
@@ -0,0 +1,18 @@
+#import <Foundation/Foundation.h>
+#import "GStreamerBackendDelegate.h"
+
+@interface GStreamerBackend : NSObject
+
+@property (nonatomic,assign) id delegate;
+
+-(NSString*) getGStreamerVersion;
+
+-(BOOL) initializePipeline;
+
+-(void) play;
+-(void) pause;
+-(void) stop;
+
+
+
+@end \ No newline at end of file
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m
new file mode 100644
index 0000000..27bfaa0
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackend.m
@@ -0,0 +1,133 @@
+#import "GStreamerBackend.h"
+
+#include <gst/gst.h>
+
+@interface GStreamerBackend()
+-(void)notifyError:(gchar*) message;
+-(void)notifyEos;
+-(void) _poll_gst_bus;
+@end
+
+@implementation GStreamerBackend {
+ GstElement *pipeline;
+}
+
+@synthesize delegate;
+
+-(void) dealloc
+{
+ if (pipeline) {
+ gst_element_set_state(pipeline, GST_STATE_NULL);
+ gst_object_unref(pipeline);
+ pipeline = NULL;
+ }
+}
+
+-(void)notifyError:(gchar*) message
+{
+ NSString *string = [NSString stringWithUTF8String:message];
+ if(delegate && [delegate respondsToSelector:@selector(gstreamerError:from:)])
+ {
+ [delegate gstreamerError:string from:self];
+ }
+}
+
+-(void)notifyEos
+{
+ if(delegate && [delegate respondsToSelector:@selector(gstreamerEosFrom)])
+ {
+ [delegate gstreamerEosFrom:self];
+ }
+}
+
+-(void) _poll_gst_bus
+{
+ GstBus *bus;
+ GstMessage *msg;
+
+ /* Wait until error or EOS */
+ bus = gst_element_get_bus (self->pipeline);
+ msg = gst_bus_timed_pop_filtered(bus, GST_CLOCK_TIME_NONE,
+ (GstMessageType) (GST_MESSAGE_ERROR | GST_MESSAGE_EOS));
+ gst_object_unref(bus);
+
+ switch (GST_MESSAGE_TYPE(msg)) {
+ case GST_MESSAGE_EOS:
+ [self stop];
+ [self notifyEos];
+ NSLog(@"EOS");
+ break;
+ case GST_MESSAGE_ERROR: {
+ GError *gerr = NULL;
+ gchar *debug;
+
+ gst_message_parse_error(msg, &gerr, &debug);
+
+ [self stop];
+ NSLog(@"Error %s - %s", gerr->message, debug, nil);
+ [self notifyError:gerr->message];
+ g_free(debug);
+ g_error_free(gerr);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+-(BOOL) initializePipeline
+{
+ GError *error = NULL;
+
+ if (pipeline)
+ return YES;
+
+ pipeline = gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! autoaudiosink", &error);
+ if (error) {
+ gchar *message = g_strdup_printf("Unable to build pipeline: %s", error->message);
+ g_clear_error (&error);
+ [self notifyError:message];
+ g_free (message);
+ return NO;
+ }
+
+ /* start the bus polling. This will the bus being continuously polled */
+ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
+ while (1) {
+ [self _poll_gst_bus];
+ }
+ });
+
+ return YES;
+}
+
+-(void) play
+{
+ if(gst_element_set_state(pipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) {
+ [self notifyError:"Failed to set pipeline to playing"];
+ }
+}
+
+-(void) pause
+{
+ if(gst_element_set_state(pipeline, GST_STATE_PAUSED) == GST_STATE_CHANGE_FAILURE) {
+ [self notifyError:"Failed to set pipeline to paused"];
+ }
+}
+
+-(void) stop
+{
+ if(pipeline)
+ gst_element_set_state(pipeline, GST_STATE_NULL);
+}
+
+-(NSString*) getGStreamerVersion
+{
+ char *str = gst_version_string();
+ NSString *version = [NSString stringWithUTF8String:str];
+ g_free(str);
+ return version;
+}
+
+@end
+
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h
new file mode 100644
index 0000000..2414408
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/GStreamerBackendDelegate.h
@@ -0,0 +1,9 @@
+#import <Foundation/Foundation.h>
+
+@protocol GStreamerBackendDelegate <NSObject>
+
+@optional
+-(void) gstreamerError:(NSString *)message from:(id)sender;
+-(void) gstreamerEosFrom:(id)sender;
+
+@end
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist
new file mode 100644
index 0000000..7a9f934
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Info.plist
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>gstreamer-sdk.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UIMainStoryboardFile</key>
+ <string>MainStoryboard_iPhone</string>
+ <key>UIMainStoryboardFile~ipad</key>
+ <string>MainStoryboard_iPad</string>
+ <key>UIRequiredDeviceCapabilities</key>
+ <array>
+ <string>armv7</string>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Prefix.pch b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Prefix.pch
new file mode 100644
index 0000000..69d1459
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial 2-Prefix.pch
@@ -0,0 +1,14 @@
+//
+// Prefix header for all source files of the 'Tutorial 2' target in the 'Tutorial 2' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_5_0
+#warning "This project uses features only available in iOS SDK 5.0 and later."
+#endif
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+#endif
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial2-Info.plist b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial2-Info.plist
new file mode 100644
index 0000000..91c26b9
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/Tutorial2-Info.plist
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>gstsdk.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UIMainStoryboardFile</key>
+ <string>MainStoryboard_iPhone</string>
+ <key>UIMainStoryboardFile~ipad</key>
+ <string>MainStoryboard_iPad</string>
+ <key>UIRequiredDeviceCapabilities</key>
+ <array>
+ <string>armv7</string>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h
new file mode 100644
index 0000000..df3a6f7
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.h
@@ -0,0 +1,14 @@
+#import <UIKit/UIKit.h>
+#import "GStreamerBackendDelegate.h"
+
+@interface ViewController : UIViewController <GStreamerBackendDelegate> {
+}
+
+-(IBAction) play:(id)sender;
+-(IBAction) pause:(id)sender;
+
+/* From GStreamerBackendDelegate */
+-(void) gstreamerError:(NSString *)message from:(id)sender;
+-(void) gstreamerEosFrom:(id)sender;
+
+@end
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m
new file mode 100644
index 0000000..f477537
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/ViewController.m
@@ -0,0 +1,67 @@
+#import "ViewController.h"
+#import "GStreamerBackend.h"
+#import <UIKit/UIKit.h>
+
+@interface ViewController () {
+ GStreamerBackend *gst_backend;
+}
+
+@end
+
+@implementation ViewController
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view, typically from a nib.
+
+ gst_backend = [[GStreamerBackend alloc] init];
+
+ if (![gst_backend initializePipeline]) {
+
+ }
+ gst_backend.delegate = self;
+}
+
+- (void)didReceiveMemoryWarning
+{
+ [super didReceiveMemoryWarning];
+ // Dispose of any resources that can be recreated.
+}
+
+-(IBAction) play:(id)sender
+{
+ [gst_backend play];
+}
+
+-(IBAction) pause:(id)sender
+{
+ [gst_backend pause];
+}
+
+-(void) gstreamerError:(NSString *)message from:(id)sender
+{
+ NSLog(@"Error %@", message, nil);
+
+ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"GStreamer error"
+ message:message
+ delegate:nil
+ cancelButtonTitle:@"OK"
+ otherButtonTitles:nil];
+ dispatch_async(dispatch_get_main_queue(), ^{
+ /* make sure it runs from the main thread */
+ [alert show];
+ });
+}
+
+-(void) gstreamerEosFrom:(id)sender
+{
+ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"EOS" message:@"End of stream" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
+
+ dispatch_async(dispatch_get_main_queue(), ^{
+ /* make sure it runs from the main thread */
+ [alert show];
+ });
+}
+
+@end
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/InfoPlist.strings b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard
new file mode 100644
index 0000000..54dcba8
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPad.storyboard
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="11G63" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES" initialViewController="2">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="4">
+ <objects>
+ <viewController id="2" customClass="ViewController" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="5">
+ <rect key="frame" x="0.0" y="20" width="768" height="1004"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nMR-rP-TAZ" userLabel="Buttons">
+ <subviews>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="elU-wp-Qp2">
+ <constraints>
+ <constraint firstAttribute="width" constant="180" type="user" id="uTI-bm-bpQ"/>
+ </constraints>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" title="Play">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <connections>
+ <action selector="play:" destination="2" eventType="touchUpInside" id="Rji-r8-PDd"/>
+ </connections>
+ </button>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="w2M-v5-UAa">
+ <constraints>
+ <constraint firstAttribute="width" constant="180" type="user" id="S8q-2J-07k"/>
+ </constraints>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" title="Pause">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <connections>
+ <action selector="pause:" destination="2" eventType="touchUpInside" id="zwv-tc-xE7"/>
+ </connections>
+ </button>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstAttribute="centerX" secondItem="w2M-v5-UAa" secondAttribute="centerX" type="user" id="7jU-ts-TJx"/>
+ <constraint firstAttribute="centerX" secondItem="elU-wp-Qp2" secondAttribute="centerX" type="user" id="EuX-Nw-e9K"/>
+ <constraint firstAttribute="bottom" secondItem="w2M-v5-UAa" secondAttribute="bottom" constant="20" symbolic="YES" type="default" id="Rdi-ax-p63"/>
+ <constraint firstItem="w2M-v5-UAa" firstAttribute="top" secondItem="elU-wp-Qp2" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="ZJv-bm-2N8"/>
+ <constraint firstItem="elU-wp-Qp2" firstAttribute="top" secondItem="nMR-rP-TAZ" secondAttribute="top" constant="20" symbolic="YES" type="default" id="etT-xj-mf4"/>
+ </constraints>
+ </view>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstItem="nMR-rP-TAZ" firstAttribute="leading" secondItem="5" secondAttribute="leading" constant="20" symbolic="YES" type="user" id="E7n-88-e9Y"/>
+ <constraint firstAttribute="centerY" secondItem="nMR-rP-TAZ" secondAttribute="centerY" type="user" id="VKP-3B-S4N"/>
+ <constraint firstAttribute="centerX" secondItem="nMR-rP-TAZ" secondAttribute="centerX" type="user" id="cFL-r5-ip5"/>
+ </constraints>
+ </view>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="3" sceneMemberID="firstResponder"/>
+ </objects>
+ </scene>
+ </scenes>
+ <simulatedMetricsContainer key="defaultSimulatedMetrics">
+ <simulatedStatusBarMetrics key="statusBar" statusBarStyle="blackTranslucent"/>
+ <simulatedOrientationMetrics key="orientation"/>
+ <simulatedScreenMetrics key="destination"/>
+ </simulatedMetricsContainer>
+</document> \ No newline at end of file
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard
new file mode 100644
index 0000000..fc46a36
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/en.lproj/MainStoryboard_iPhone.storyboard
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="2.0" toolsVersion="3084" systemVersion="11G63" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="pxQ-Ha-9Mf">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="2083"/>
+ </dependencies>
+ <scenes>
+ <!--View Controller-->
+ <scene sceneID="Vig-3P-QBd">
+ <objects>
+ <viewController id="pxQ-Ha-9Mf" customClass="ViewController" sceneMemberID="viewController">
+ <view key="view" contentMode="scaleToFill" id="OMs-0e-qTd">
+ <rect key="frame" x="0.0" y="20" width="320" height="548"/>
+ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+ <subviews>
+ <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GxN-0E-u6U" userLabel="Buttons">
+ <subviews>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="vb0-jC-MBX">
+ <constraints>
+ <constraint firstAttribute="width" constant="180" type="user" id="JWj-Ts-QpO"/>
+ </constraints>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" title="Play">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <connections>
+ <action selector="play:" destination="pxQ-Ha-9Mf" eventType="touchUpInside" id="720-pe-ZQg"/>
+ </connections>
+ </button>
+ <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eNS-GM-32O">
+ <constraints>
+ <constraint firstAttribute="width" constant="180" type="user" id="qyb-TL-L8J"/>
+ </constraints>
+ <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+ <state key="normal" title="Pause">
+ <color key="titleColor" red="0.19607843459999999" green="0.30980393290000002" blue="0.52156865600000002" alpha="1" colorSpace="calibratedRGB"/>
+ <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <state key="highlighted">
+ <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+ </state>
+ <connections>
+ <action selector="pause:" destination="pxQ-Ha-9Mf" eventType="touchUpInside" id="prA-YD-hYl"/>
+ </connections>
+ </button>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstItem="vb0-jC-MBX" firstAttribute="top" secondItem="GxN-0E-u6U" secondAttribute="top" constant="20" symbolic="YES" type="default" id="06u-Jm-lfM"/>
+ <constraint firstAttribute="centerX" secondItem="eNS-GM-32O" secondAttribute="centerX" type="user" id="Sep-Aj-htp"/>
+ <constraint firstAttribute="centerX" secondItem="vb0-jC-MBX" secondAttribute="centerX" type="user" id="gmk-PR-KdB"/>
+ <constraint firstItem="eNS-GM-32O" firstAttribute="top" secondItem="vb0-jC-MBX" secondAttribute="bottom" constant="8" symbolic="YES" type="default" id="lun-xW-CAi"/>
+ <constraint firstAttribute="bottom" secondItem="eNS-GM-32O" secondAttribute="bottom" constant="20" symbolic="YES" type="default" id="xWq-oD-d5F"/>
+ </constraints>
+ </view>
+ </subviews>
+ <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
+ <constraints>
+ <constraint firstItem="GxN-0E-u6U" firstAttribute="leading" secondItem="OMs-0e-qTd" secondAttribute="leading" constant="20" symbolic="YES" type="user" id="H5s-xz-Nfc"/>
+ <constraint firstAttribute="centerX" secondItem="GxN-0E-u6U" secondAttribute="centerX" type="user" id="dKd-jH-42g"/>
+ <constraint firstAttribute="centerY" secondItem="GxN-0E-u6U" secondAttribute="centerY" type="user" id="x24-bd-at0"/>
+ </constraints>
+ </view>
+ <simulatedStatusBarMetrics key="simulatedStatusBarMetrics"/>
+ </viewController>
+ <placeholder placeholderIdentifier="IBFirstResponder" id="3Wk-O5-Z1z" sceneMemberID="firstResponder"/>
+ </objects>
+ <point key="canvasLocation" x="423" y="158"/>
+ </scene>
+ </scenes>
+ <classes>
+ <class className="NSLayoutConstraint" superclassName="NSObject">
+ <source key="sourceIdentifier" type="project" relativePath="./Classes/NSLayoutConstraint.h"/>
+ </class>
+ <class className="ViewController" superclassName="UIViewController">
+ <source key="sourceIdentifier" type="project" relativePath="./Classes/ViewController.h"/>
+ <relationships>
+ <relationship kind="action" name="pause:"/>
+ <relationship kind="action" name="play:"/>
+ <relationship kind="outlet" name="label" candidateClass="UILabel"/>
+ </relationships>
+ </class>
+ </classes>
+ <simulatedMetricsContainer key="defaultSimulatedMetrics">
+ <simulatedStatusBarMetrics key="statusBar"/>
+ <simulatedOrientationMetrics key="orientation"/>
+ <simulatedScreenMetrics key="destination" type="retina4"/>
+ </simulatedMetricsContainer>
+</document> \ No newline at end of file
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c
new file mode 100644
index 0000000..cffa57e
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.c
@@ -0,0 +1,995 @@
+#include "gst_ios_init.h"
+
+#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(coreelements);
+#endif
+#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(coreindexers);
+#endif
+#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(adder);
+#endif
+#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(app);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(audioconvert);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(audiorate);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(audioresample);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(audiotestsrc);
+#endif
+#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(ffmpegcolorspace);
+#endif
+#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(gdp);
+#endif
+#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(gio);
+#endif
+#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(pango);
+#endif
+#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(typefindfunctions);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(videorate);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(videoscale);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(videotestsrc);
+#endif
+#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(volume);
+#endif
+#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(autodetect);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE)
+GST_PLUGIN_STATIC_DECLARE(videofilter);
+#endif
+#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE)
+GST_PLUGIN_STATIC_DECLARE(camerabin2);
+#endif
+#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(asfmux);
+#endif
+#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(dtsdec);
+#endif
+#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(faad);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mpegdemux2);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mpegpsmux);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mpegtsdemux);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mpegtsmux);
+#endif
+#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(a52dec);
+#endif
+#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(amrnb);
+#endif
+#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(amrwbdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(asf);
+#endif
+#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mad);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mpeg2dec);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mpegaudioparse);
+#endif
+#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(realmedia);
+#endif
+#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(x264);
+#endif
+#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(ffmpeg);
+#endif
+#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING)
+GST_PLUGIN_STATIC_DECLARE(encoding);
+#endif
+#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD)
+GST_PLUGIN_STATIC_DECLARE(indvd);
+#endif
+#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD)
+GST_PLUGIN_STATIC_DECLARE(dvdlpcmdec);
+#endif
+#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD)
+GST_PLUGIN_STATIC_DECLARE(dvdread);
+#endif
+#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL)
+GST_PLUGIN_STATIC_DECLARE(assrender);
+#endif
+#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED)
+GST_PLUGIN_STATIC_DECLARE(mms);
+#endif
+#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS)
+GST_PLUGIN_STATIC_DECLARE(osxaudio);
+#endif
+#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS)
+GST_PLUGIN_STATIC_DECLARE(eglglessink);
+#endif
+#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS)
+GST_PLUGIN_STATIC_DECLARE(applemedia_nonpublic);
+#endif
+#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS)
+GST_PLUGIN_STATIC_DECLARE(libvisual);
+#endif
+#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS)
+GST_PLUGIN_STATIC_DECLARE(goom);
+#endif
+#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS)
+GST_PLUGIN_STATIC_DECLARE(goom2k1);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS)
+GST_PLUGIN_STATIC_DECLARE(audiovisualizers);
+#endif
+#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK)
+GST_PLUGIN_STATIC_DECLARE(uridecodebin);
+#endif
+#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK)
+GST_PLUGIN_STATIC_DECLARE(playback);
+#endif
+#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(alpha);
+#endif
+#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(alphacolor);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(audiofx);
+#endif
+#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(cairo);
+#endif
+#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(cutter);
+#endif
+#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(debug);
+#endif
+#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(deinterlace);
+#endif
+#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(effectv);
+#endif
+#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(equalizer);
+#endif
+#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(gdkpixbuf);
+#endif
+#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(imagefreeze);
+#endif
+#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(interleave);
+#endif
+#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(level);
+#endif
+#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(multifile);
+#endif
+#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(replaygain);
+#endif
+#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(shapewipe);
+#endif
+#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(smpte);
+#endif
+#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(spectrum);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(videobox);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(videocrop);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(videomixer);
+#endif
+#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(autoconvert);
+#endif
+#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(bayer);
+#endif
+#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(coloreffects);
+#endif
+#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(faceoverlay);
+#endif
+#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(fieldanalysis);
+#endif
+#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(freeverb);
+#endif
+#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(frei0r);
+#endif
+#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(gaudieffects);
+#endif
+#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(geometrictransform);
+#endif
+#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(interlace);
+#endif
+#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(jp2kdecimator);
+#endif
+#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(liveadder);
+#endif
+#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(rawparse);
+#endif
+#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(removesilence);
+#endif
+#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(scaletempo);
+#endif
+#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(segmentclip);
+#endif
+#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(smooth);
+#endif
+#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(soundtouch);
+#endif
+#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(speed);
+#endif
+#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(stereo);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(videofiltersbad);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(videomeasure);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS)
+GST_PLUGIN_STATIC_DECLARE(videosignal);
+#endif
+#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(subparse);
+#endif
+#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(ogg);
+#endif
+#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(theora);
+#endif
+#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(vorbis);
+#endif
+#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(ivorbisdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(alaw);
+#endif
+#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(annodex);
+#endif
+#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(apetag);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(audioparsers);
+#endif
+#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(auparse);
+#endif
+#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(avi);
+#endif
+#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(dv);
+#endif
+#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(flac);
+#endif
+#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(flv);
+#endif
+#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(flxdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(icydemux);
+#endif
+#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(id3demux);
+#endif
+#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(isomp4);
+#endif
+#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(jpeg);
+#endif
+#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(matroska);
+#endif
+#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(mulaw);
+#endif
+#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(multipart);
+#endif
+#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(png);
+#endif
+#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(speex);
+#endif
+#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(taglib);
+#endif
+#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(wavenc);
+#endif
+#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(wavpack);
+#endif
+#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(wavparse);
+#endif
+#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(y4menc);
+#endif
+#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(adpcmdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(adpcmenc);
+#endif
+#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(aiff);
+#endif
+#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(cdxaparse);
+#endif
+#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(dccp);
+#endif
+#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(dtmf);
+#endif
+#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(dvbsuboverlay);
+#endif
+#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(dvdspu);
+#endif
+#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(fragmented);
+#endif
+#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(hdvparse);
+#endif
+#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(id3tag);
+#endif
+#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(ivfparse);
+#endif
+#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(jp2k);
+#endif
+#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(kate);
+#endif
+#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(mve);
+#endif
+#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(mxf);
+#endif
+#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(nsf);
+#endif
+#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(nuvdemux);
+#endif
+#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(opus);
+#endif
+#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(pcapparse);
+#endif
+#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(pnm);
+#endif
+#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(schro);
+#endif
+#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(gstsiren);
+#endif
+#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(subenc);
+#endif
+#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(tta);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(videoparsersbad);
+#endif
+#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(vmnc);
+#endif
+#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(vp8);
+#endif
+#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
+GST_PLUGIN_STATIC_DECLARE(y4mdec);
+#endif
+#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(tcp);
+#endif
+#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(rtsp);
+#endif
+#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(rtp);
+#endif
+#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(gstrtpmanager);
+#endif
+#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(soup);
+#endif
+#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(udp);
+#endif
+#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(dataurisrc);
+#endif
+#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(rtpmux);
+#endif
+#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(rtpvp8);
+#endif
+#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET)
+GST_PLUGIN_STATIC_DECLARE(sdp);
+#endif
+
+void
+gst_ios_init (void)
+{
+ gst_init (NULL, NULL);
+ gst_debug_set_colored(FALSE);
+ gst_debug_set_default_threshold(GST_LEVEL_WARNING);
+
+#if defined(GST_IOS_PLUGIN_COREELEMENTS) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(coreelements);
+#endif
+#if defined(GST_IOS_PLUGIN_COREINDEXERS) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(coreindexers);
+#endif
+#if defined(GST_IOS_PLUGIN_ADDER) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(adder);
+#endif
+#if defined(GST_IOS_PLUGIN_APP) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(app);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOCONVERT) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(audioconvert);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIORATE) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(audiorate);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIORESAMPLE) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(audioresample);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOTESTSRC) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(audiotestsrc);
+#endif
+#if defined(GST_IOS_PLUGIN_FFMPEGCOLORSPACE) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(ffmpegcolorspace);
+#endif
+#if defined(GST_IOS_PLUGIN_GDP) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(gdp);
+#endif
+#if defined(GST_IOS_PLUGIN_GIO) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(gio);
+#endif
+#if defined(GST_IOS_PLUGIN_PANGO) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(pango);
+#endif
+#if defined(GST_IOS_PLUGIN_TYPEFINDFUNCTIONS) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(typefindfunctions);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEORATE) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(videorate);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOSCALE) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(videoscale);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOTESTSRC) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(videotestsrc);
+#endif
+#if defined(GST_IOS_PLUGIN_VOLUME) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(volume);
+#endif
+#if defined(GST_IOS_PLUGIN_AUTODETECT) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(autodetect);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOFILTER) || defined(GST_IOS_PLUGINS_CORE)
+ GST_PLUGIN_STATIC_REGISTER(videofilter);
+#endif
+#if defined(GST_IOS_PLUGIN_CAMERABIN2) || defined(GST_IOS_PLUGINS_CAPTURE)
+ GST_PLUGIN_STATIC_REGISTER(camerabin2);
+#endif
+#if defined(GST_IOS_PLUGIN_ASFMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(asfmux);
+#endif
+#if defined(GST_IOS_PLUGIN_DTSDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(dtsdec);
+#endif
+#if defined(GST_IOS_PLUGIN_FAAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(faad);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGDEMUX2) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mpegdemux2);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGPSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mpegpsmux);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGTSDEMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mpegtsdemux);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGTSMUX) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mpegtsmux);
+#endif
+#if defined(GST_IOS_PLUGIN_A52DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(a52dec);
+#endif
+#if defined(GST_IOS_PLUGIN_AMRNB) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(amrnb);
+#endif
+#if defined(GST_IOS_PLUGIN_AMRWBDEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(amrwbdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ASF) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(asf);
+#endif
+#if defined(GST_IOS_PLUGIN_MAD) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mad);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEG2DEC) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mpeg2dec);
+#endif
+#if defined(GST_IOS_PLUGIN_MPEGAUDIOPARSE) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mpegaudioparse);
+#endif
+#if defined(GST_IOS_PLUGIN_REALMEDIA) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(realmedia);
+#endif
+#if defined(GST_IOS_PLUGIN_X264) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(x264);
+#endif
+#if defined(GST_IOS_PLUGIN_FFMPEG) || defined(GST_IOS_PLUGINS_CODECS_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(ffmpeg);
+#endif
+#if defined(GST_IOS_PLUGIN_ENCODING) || defined(GST_IOS_PLUGINS_ENCODING)
+ GST_PLUGIN_STATIC_REGISTER(encoding);
+#endif
+#if defined(GST_IOS_PLUGIN_INDVD) || defined(GST_IOS_PLUGINS_DVD)
+ GST_PLUGIN_STATIC_REGISTER(indvd);
+#endif
+#if defined(GST_IOS_PLUGIN_DVDLPCMDEC) || defined(GST_IOS_PLUGINS_DVD)
+ GST_PLUGIN_STATIC_REGISTER(dvdlpcmdec);
+#endif
+#if defined(GST_IOS_PLUGIN_DVDREAD) || defined(GST_IOS_PLUGINS_DVD)
+ GST_PLUGIN_STATIC_REGISTER(dvdread);
+#endif
+#if defined(GST_IOS_PLUGIN_ASSRENDER) || defined(GST_IOS_PLUGINS_CODECS_GPL)
+ GST_PLUGIN_STATIC_REGISTER(assrender);
+#endif
+#if defined(GST_IOS_PLUGIN_MMS) || defined(GST_IOS_PLUGINS_NET_RESTRICTED)
+ GST_PLUGIN_STATIC_REGISTER(mms);
+#endif
+#if defined(GST_IOS_PLUGIN_OSXAUDIO) || defined(GST_IOS_PLUGINS_SYS)
+ GST_PLUGIN_STATIC_REGISTER(osxaudio);
+#endif
+#if defined(GST_IOS_PLUGIN_EGLGLESSINK) || defined(GST_IOS_PLUGINS_SYS)
+ GST_PLUGIN_STATIC_REGISTER(eglglessink);
+#endif
+#if defined(GST_IOS_PLUGIN_APPLEMEDIA_NONPUBLIC) || defined(GST_IOS_PLUGINS_SYS)
+ GST_PLUGIN_STATIC_REGISTER(applemedia_nonpublic);
+#endif
+#if defined(GST_IOS_PLUGIN_LIBVISUAL) || defined(GST_IOS_PLUGINS_VIS)
+ GST_PLUGIN_STATIC_REGISTER(libvisual);
+#endif
+#if defined(GST_IOS_PLUGIN_GOOM) || defined(GST_IOS_PLUGINS_VIS)
+ GST_PLUGIN_STATIC_REGISTER(goom);
+#endif
+#if defined(GST_IOS_PLUGIN_GOOM2K1) || defined(GST_IOS_PLUGINS_VIS)
+ GST_PLUGIN_STATIC_REGISTER(goom2k1);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOVISUALIZERS) || defined(GST_IOS_PLUGINS_VIS)
+ GST_PLUGIN_STATIC_REGISTER(audiovisualizers);
+#endif
+#if defined(GST_IOS_PLUGIN_URIDECODEBIN) || defined(GST_IOS_PLUGINS_PLAYBACK)
+ GST_PLUGIN_STATIC_REGISTER(uridecodebin);
+#endif
+#if defined(GST_IOS_PLUGIN_PLAYBACK) || defined(GST_IOS_PLUGINS_PLAYBACK)
+ GST_PLUGIN_STATIC_REGISTER(playback);
+#endif
+#if defined(GST_IOS_PLUGIN_ALPHA) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(alpha);
+#endif
+#if defined(GST_IOS_PLUGIN_ALPHACOLOR) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(alphacolor);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOFX) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(audiofx);
+#endif
+#if defined(GST_IOS_PLUGIN_CAIRO) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(cairo);
+#endif
+#if defined(GST_IOS_PLUGIN_CUTTER) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(cutter);
+#endif
+#if defined(GST_IOS_PLUGIN_DEBUG) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(debug);
+#endif
+#if defined(GST_IOS_PLUGIN_DEINTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(deinterlace);
+#endif
+#if defined(GST_IOS_PLUGIN_EFFECTV) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(effectv);
+#endif
+#if defined(GST_IOS_PLUGIN_EQUALIZER) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(equalizer);
+#endif
+#if defined(GST_IOS_PLUGIN_GDKPIXBUF) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(gdkpixbuf);
+#endif
+#if defined(GST_IOS_PLUGIN_IMAGEFREEZE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(imagefreeze);
+#endif
+#if defined(GST_IOS_PLUGIN_INTERLEAVE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(interleave);
+#endif
+#if defined(GST_IOS_PLUGIN_LEVEL) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(level);
+#endif
+#if defined(GST_IOS_PLUGIN_MULTIFILE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(multifile);
+#endif
+#if defined(GST_IOS_PLUGIN_REPLAYGAIN) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(replaygain);
+#endif
+#if defined(GST_IOS_PLUGIN_SHAPEWIPE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(shapewipe);
+#endif
+#if defined(GST_IOS_PLUGIN_SMPTE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(smpte);
+#endif
+#if defined(GST_IOS_PLUGIN_SPECTRUM) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(spectrum);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOBOX) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(videobox);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOCROP) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(videocrop);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOMIXER) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(videomixer);
+#endif
+#if defined(GST_IOS_PLUGIN_AUTOCONVERT) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(autoconvert);
+#endif
+#if defined(GST_IOS_PLUGIN_BAYER) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(bayer);
+#endif
+#if defined(GST_IOS_PLUGIN_COLOREFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(coloreffects);
+#endif
+#if defined(GST_IOS_PLUGIN_FACEOVERLAY) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(faceoverlay);
+#endif
+#if defined(GST_IOS_PLUGIN_FIELDANALYSIS) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(fieldanalysis);
+#endif
+#if defined(GST_IOS_PLUGIN_FREEVERB) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(freeverb);
+#endif
+#if defined(GST_IOS_PLUGIN_FREI0R) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(frei0r);
+#endif
+#if defined(GST_IOS_PLUGIN_GAUDIEFFECTS) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(gaudieffects);
+#endif
+#if defined(GST_IOS_PLUGIN_GEOMETRICTRANSFORM) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(geometrictransform);
+#endif
+#if defined(GST_IOS_PLUGIN_INTERLACE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(interlace);
+#endif
+#if defined(GST_IOS_PLUGIN_JP2KDECIMATOR) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(jp2kdecimator);
+#endif
+#if defined(GST_IOS_PLUGIN_LIVEADDER) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(liveadder);
+#endif
+#if defined(GST_IOS_PLUGIN_RAWPARSE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(rawparse);
+#endif
+#if defined(GST_IOS_PLUGIN_REMOVESILENCE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(removesilence);
+#endif
+#if defined(GST_IOS_PLUGIN_SCALETEMPO) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(scaletempo);
+#endif
+#if defined(GST_IOS_PLUGIN_SEGMENTCLIP) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(segmentclip);
+#endif
+#if defined(GST_IOS_PLUGIN_SMOOTH) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(smooth);
+#endif
+#if defined(GST_IOS_PLUGIN_SOUNDTOUCH) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(soundtouch);
+#endif
+#if defined(GST_IOS_PLUGIN_SPEED) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(speed);
+#endif
+#if defined(GST_IOS_PLUGIN_STEREO) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(stereo);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOFILTERSBAD) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(videofiltersbad);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOMEASURE) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(videomeasure);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOSIGNAL) || defined(GST_IOS_PLUGINS_EFFECTS)
+ GST_PLUGIN_STATIC_REGISTER(videosignal);
+#endif
+#if defined(GST_IOS_PLUGIN_SUBPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(subparse);
+#endif
+#if defined(GST_IOS_PLUGIN_OGG) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(ogg);
+#endif
+#if defined(GST_IOS_PLUGIN_THEORA) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(theora);
+#endif
+#if defined(GST_IOS_PLUGIN_VORBIS) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(vorbis);
+#endif
+#if defined(GST_IOS_PLUGIN_IVORBISDEC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(ivorbisdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ALAW) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(alaw);
+#endif
+#if defined(GST_IOS_PLUGIN_ANNODEX) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(annodex);
+#endif
+#if defined(GST_IOS_PLUGIN_APETAG) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(apetag);
+#endif
+#if defined(GST_IOS_PLUGIN_AUDIOPARSERS) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(audioparsers);
+#endif
+#if defined(GST_IOS_PLUGIN_AUPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(auparse);
+#endif
+#if defined(GST_IOS_PLUGIN_AVI) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(avi);
+#endif
+#if defined(GST_IOS_PLUGIN_DV) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(dv);
+#endif
+#if defined(GST_IOS_PLUGIN_FLAC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(flac);
+#endif
+#if defined(GST_IOS_PLUGIN_FLV) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(flv);
+#endif
+#if defined(GST_IOS_PLUGIN_FLXDEC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(flxdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ICYDEMUX) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(icydemux);
+#endif
+#if defined(GST_IOS_PLUGIN_ID3DEMUX) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(id3demux);
+#endif
+#if defined(GST_IOS_PLUGIN_ISOMP4) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(isomp4);
+#endif
+#if defined(GST_IOS_PLUGIN_JPEG) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(jpeg);
+#endif
+#if defined(GST_IOS_PLUGIN_MATROSKA) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(matroska);
+#endif
+#if defined(GST_IOS_PLUGIN_MULAW) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(mulaw);
+#endif
+#if defined(GST_IOS_PLUGIN_MULTIPART) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(multipart);
+#endif
+#if defined(GST_IOS_PLUGIN_PNG) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(png);
+#endif
+#if defined(GST_IOS_PLUGIN_SPEEX) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(speex);
+#endif
+#if defined(GST_IOS_PLUGIN_TAGLIB) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(taglib);
+#endif
+#if defined(GST_IOS_PLUGIN_WAVENC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(wavenc);
+#endif
+#if defined(GST_IOS_PLUGIN_WAVPACK) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(wavpack);
+#endif
+#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(wavparse);
+#endif
+#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(y4menc);
+#endif
+#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(adpcmdec);
+#endif
+#if defined(GST_IOS_PLUGIN_ADPCMENC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(adpcmenc);
+#endif
+#if defined(GST_IOS_PLUGIN_AIFF) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(aiff);
+#endif
+#if defined(GST_IOS_PLUGIN_CDXAPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(cdxaparse);
+#endif
+#if defined(GST_IOS_PLUGIN_DCCP) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(dccp);
+#endif
+#if defined(GST_IOS_PLUGIN_DTMF) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(dtmf);
+#endif
+#if defined(GST_IOS_PLUGIN_DVBSUBOVERLAY) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(dvbsuboverlay);
+#endif
+#if defined(GST_IOS_PLUGIN_DVDSPU) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(dvdspu);
+#endif
+#if defined(GST_IOS_PLUGIN_FRAGMENTED) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(fragmented);
+#endif
+#if defined(GST_IOS_PLUGIN_HDVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(hdvparse);
+#endif
+#if defined(GST_IOS_PLUGIN_ID3TAG) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(id3tag);
+#endif
+#if defined(GST_IOS_PLUGIN_IVFPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(ivfparse);
+#endif
+#if defined(GST_IOS_PLUGIN_JP2K) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(jp2k);
+#endif
+#if defined(GST_IOS_PLUGIN_KATE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(kate);
+#endif
+#if defined(GST_IOS_PLUGIN_MVE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(mve);
+#endif
+#if defined(GST_IOS_PLUGIN_MXF) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(mxf);
+#endif
+#if defined(GST_IOS_PLUGIN_NSF) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(nsf);
+#endif
+#if defined(GST_IOS_PLUGIN_NUVDEMUX) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(nuvdemux);
+#endif
+#if defined(GST_IOS_PLUGIN_OPUS) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(opus);
+#endif
+#if defined(GST_IOS_PLUGIN_PCAPPARSE) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(pcapparse);
+#endif
+#if defined(GST_IOS_PLUGIN_PNM) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(pnm);
+#endif
+#if defined(GST_IOS_PLUGIN_SCHRO) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(schro);
+#endif
+#if defined(GST_IOS_PLUGIN_GSTSIREN) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(gstsiren);
+#endif
+#if defined(GST_IOS_PLUGIN_SUBENC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(subenc);
+#endif
+#if defined(GST_IOS_PLUGIN_TTA) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(tta);
+#endif
+#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(videoparsersbad);
+#endif
+#if defined(GST_IOS_PLUGIN_VMNC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(vmnc);
+#endif
+#if defined(GST_IOS_PLUGIN_VP8) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(vp8);
+#endif
+#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
+ GST_PLUGIN_STATIC_REGISTER(y4mdec);
+#endif
+#if defined(GST_IOS_PLUGIN_TCP) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(tcp);
+#endif
+#if defined(GST_IOS_PLUGIN_RTSP) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(rtsp);
+#endif
+#if defined(GST_IOS_PLUGIN_RTP) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(rtp);
+#endif
+#if defined(GST_IOS_PLUGIN_GSTRTPMANAGER) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(gstrtpmanager);
+#endif
+#if defined(GST_IOS_PLUGIN_SOUP) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(soup);
+#endif
+#if defined(GST_IOS_PLUGIN_UDP) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(udp);
+#endif
+#if defined(GST_IOS_PLUGIN_DATAURISRC) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(dataurisrc);
+#endif
+#if defined(GST_IOS_PLUGIN_RTPMUX) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(rtpmux);
+#endif
+#if defined(GST_IOS_PLUGIN_RTPVP8) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(rtpvp8);
+#endif
+#if defined(GST_IOS_PLUGIN_SDP) || defined(GST_IOS_PLUGINS_NET)
+ GST_PLUGIN_STATIC_REGISTER(sdp);
+#endif
+}
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h
new file mode 100644
index 0000000..7b8e013
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/gst_ios_init.h
@@ -0,0 +1,25 @@
+#ifndef __GST_IOS_INIT_H__
+#define __GST_IOS_INIT_H__
+
+#include <gst/gst.h>
+
+/* Uncomment each line to enable the plugin categories that your application needs.
+ * You can also enable individual plugins. See gst_ios_init.c to see their names
+ */
+#define GST_IOS_PLUGINS_CORE
+//#define GST_IOS_PLUGINS_CAPTURE
+//#define GST_IOS_PLUGINS_CODECS_RESTRICTED
+//#define GST_IOS_PLUGINS_ENCODING
+//#define GST_IOS_PLUGINS_DVD
+//#define GST_IOS_PLUGINS_CODECS_GPL
+//#define GST_IOS_PLUGINS_NET_RESTRICTED
+#define GST_IOS_PLUGINS_SYS
+//#define GST_IOS_PLUGINS_VIS
+#define GST_IOS_PLUGINS_PLAYBACK
+//#define GST_IOS_PLUGINS_EFFECTS
+//#define GST_IOS_PLUGINS_CODECS
+//#define GST_IOS_PLUGINS_NET
+
+void gst_ios_init ();
+
+#endif
diff --git a/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m b/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m
new file mode 100644
index 0000000..3ca3507
--- /dev/null
+++ b/gst-sdk/tutorials/xcode iOS/Tutorial 2/main.m
@@ -0,0 +1,13 @@
+
+#import <UIKit/UIKit.h>
+
+#import "AppDelegate.h"
+#include "gst_ios_init.h"
+
+int main(int argc, char *argv[])
+{
+ @autoreleasepool {
+ gst_ios_init();
+ return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
+ }
+}