diff --git a/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter.xcodeproj/project.pbxproj b/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter.xcodeproj/project.pbxproj index 239163d54..2ccacccb0 100755 --- a/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter.xcodeproj/project.pbxproj +++ b/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter.xcodeproj/project.pbxproj @@ -383,6 +383,7 @@ BCB5DDE314E86899000AF3C2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ENABLE_BITCODE = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "SimpleVideoFileFilter/SimpleVideoFileFilter-Prefix.pch"; INFOPLIST_FILE = "SimpleVideoFileFilter/SimpleVideoFileFilter-Info.plist"; @@ -394,6 +395,7 @@ BCB5DDE414E86899000AF3C2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ENABLE_BITCODE = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "SimpleVideoFileFilter/SimpleVideoFileFilter-Prefix.pch"; INFOPLIST_FILE = "SimpleVideoFileFilter/SimpleVideoFileFilter-Info.plist"; diff --git a/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter/SimpleVideoFileFilterAppDelegate.m b/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter/SimpleVideoFileFilterAppDelegate.m index 18c6ce77c..4faf44d99 100755 --- a/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter/SimpleVideoFileFilterAppDelegate.m +++ b/examples/iOS/SimpleVideoFileFilter/SimpleVideoFileFilter/SimpleVideoFileFilterAppDelegate.m @@ -19,7 +19,8 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( rootViewController = [[SimpleVideoFileFilterViewController alloc] initWithNibName:@"SimpleVideoFileFilterViewController" bundle:nil]; rootViewController.view.frame = [[UIScreen mainScreen] bounds]; - [self.window addSubview:rootViewController.view]; + self.window.rootViewController = rootViewController; +// [self.window addSubview:rootViewController.view]; [self.window makeKeyAndVisible]; [self.window layoutSubviews]; diff --git a/examples/iOS/SimpleVideoFilter/SimpleVideoFilter.xcodeproj/project.pbxproj b/examples/iOS/SimpleVideoFilter/SimpleVideoFilter.xcodeproj/project.pbxproj index 736b03314..57782a279 100755 --- a/examples/iOS/SimpleVideoFilter/SimpleVideoFilter.xcodeproj/project.pbxproj +++ b/examples/iOS/SimpleVideoFilter/SimpleVideoFilter.xcodeproj/project.pbxproj @@ -26,6 +26,7 @@ BCB5DDFF14E87783000AF3C2 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCB5DDFE14E87783000AF3C2 /* QuartzCore.framework */; }; BCB5DE0114E87789000AF3C2 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCB5DE0014E87789000AF3C2 /* OpenGLES.framework */; }; BCF867511725AB5300912E34 /* libGPUImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BCF8674C1725AB2100912E34 /* libGPUImage.a */; }; + D30ACF271BAFE43F00E9759C /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D30ACF261BAFE43F00E9759C /* AssetsLibrary.framework */; }; E5066F611855AC78008C7682 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E5066F601855AC78008C7682 /* Default-568h@2x.png */; }; /* End PBXBuildFile section */ @@ -78,6 +79,7 @@ BCB5DDFB14E876ED000AF3C2 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; BCB5DDFE14E87783000AF3C2 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; BCB5DE0014E87789000AF3C2 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + D30ACF261BAFE43F00E9759C /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; E5066F601855AC78008C7682 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -86,6 +88,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D30ACF271BAFE43F00E9759C /* AssetsLibrary.framework in Frameworks */, BCF867511725AB5300912E34 /* libGPUImage.a in Frameworks */, BCB5DE0114E87789000AF3C2 /* OpenGLES.framework in Frameworks */, BCB5DDFF14E87783000AF3C2 /* QuartzCore.framework in Frameworks */, @@ -122,6 +125,7 @@ BCB5DDCD14E86899000AF3C2 /* Frameworks */ = { isa = PBXGroup; children = ( + D30ACF261BAFE43F00E9759C /* AssetsLibrary.framework */, BCB5DDEA14E8756A000AF3C2 /* GPUImage.xcodeproj */, BCB5DE0014E87789000AF3C2 /* OpenGLES.framework */, BCB5DDFE14E87783000AF3C2 /* QuartzCore.framework */, @@ -202,6 +206,11 @@ attributes = { LastUpgradeCheck = 0500; ORGANIZATIONNAME = "Cell Phone"; + TargetAttributes = { + BCB5DDC914E86899000AF3C2 = { + DevelopmentTeam = V2DTUY5PQ8; + }; + }; }; buildConfigurationList = BCB5DDC414E86899000AF3C2 /* Build configuration list for PBXProject "SimpleVideoFilter" */; compatibilityVersion = "Xcode 3.2"; @@ -371,9 +380,11 @@ BCB5DDE314E86899000AF3C2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "SimpleVideoFilter/SimpleVideoFilter-Prefix.pch"; INFOPLIST_FILE = "SimpleVideoFilter/SimpleVideoFilter-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -382,9 +393,11 @@ BCB5DDE414E86899000AF3C2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "SimpleVideoFilter/SimpleVideoFilter-Prefix.pch"; INFOPLIST_FILE = "SimpleVideoFilter/SimpleVideoFilter-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; diff --git a/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.m b/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.m index 7f30d620f..bbe0aaba4 100755 --- a/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.m +++ b/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.m @@ -1,4 +1,5 @@ #import "SimpleVideoFilterViewController.h" +#import @implementation SimpleVideoFilterViewController @@ -88,6 +89,26 @@ - (void)viewDidLoad [movieWriter finishRecording]; NSLog(@"Movie completed"); + ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; + if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:movieURL]) + { + [library writeVideoAtPathToSavedPhotosAlbum:movieURL completionBlock:^(NSURL *assetURL, NSError *error) + { + dispatch_async(dispatch_get_main_queue(), ^{ + + if (error) { + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Video Saving Failed" + delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; + [alert show]; + } else { + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Video Saved" message:@"Saved To Photo Album" + delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; + [alert show]; + } + }); + }]; + } + // [videoCamera.inputCamera lockForConfiguration:nil]; // [videoCamera.inputCamera setTorchMode:AVCaptureTorchModeOff]; // [videoCamera.inputCamera unlockForConfiguration]; diff --git a/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.xib b/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.xib index 1213d5a75..5b6df9cd5 100755 --- a/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.xib +++ b/examples/iOS/SimpleVideoFilter/SimpleVideoFilter/SimpleVideoFilterViewController.xib @@ -1,174 +1,30 @@ - - - - 1280 - 11D50 - 2182 - 1138.32 - 568.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1179 - - - IBProxyObject - IBUIView - IBUISlider - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 266 - {{18, 418}, {284, 23}} - - - - _NS:623 - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - {{0, 20}, {320, 460}} - - - - - 3 - MQA - - 2 - - - - IBCocoaTouchFramework - - - - - - - view - - - - 3 - - - - updateSliderValue: - - - 13 - - 6 - - - - - - 0 - - - - - - 1 - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 4 - - - - - - - SimpleVideoFilterViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - GPUImageView - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 6 - - - - - GPUImageView - UIView - - IBProjectSource - ./Classes/GPUImageView.h - - - - SimpleVideoFilterViewController - UIViewController - - updateSliderValue: - id - - - updateSliderValue: - - updateSliderValue: - id - - - - IBProjectSource - ./Classes/SimpleVideoFilterViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - 1179 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/framework/GPUImage.xcodeproj/project.pbxproj b/framework/GPUImage.xcodeproj/project.pbxproj index 52ba2185e..b51e383c1 100644 --- a/framework/GPUImage.xcodeproj/project.pbxproj +++ b/framework/GPUImage.xcodeproj/project.pbxproj @@ -712,6 +712,7 @@ C04C8D1815F8059F00449601 /* GPUImageColorBlendFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = C04C8D1615F8059F00449601 /* GPUImageColorBlendFilter.m */; }; C2EDA90615BB136D007CBA0F /* GPUImageHueFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = C2EDA90415BB136D007CBA0F /* GPUImageHueFilter.h */; }; C2EDA90715BB136D007CBA0F /* GPUImageHueFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = C2EDA90515BB136D007CBA0F /* GPUImageHueFilter.m */; }; + D30ACF231BAFE3DD00E9759C /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D30ACF221BAFE3DD00E9759C /* AssetsLibrary.framework */; }; D443237A17C81C0C00204484 /* GPUImageMovieComposition.h in Headers */ = {isa = PBXBuildFile; fileRef = D443237817C81C0C00204484 /* GPUImageMovieComposition.h */; }; D443237B17C81C0C00204484 /* GPUImageMovieComposition.m in Sources */ = {isa = PBXBuildFile; fileRef = D443237917C81C0C00204484 /* GPUImageMovieComposition.m */; }; /* End PBXBuildFile section */ @@ -1069,6 +1070,7 @@ C04C8D1615F8059F00449601 /* GPUImageColorBlendFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GPUImageColorBlendFilter.m; path = Source/GPUImageColorBlendFilter.m; sourceTree = SOURCE_ROOT; }; C2EDA90415BB136D007CBA0F /* GPUImageHueFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GPUImageHueFilter.h; path = Source/GPUImageHueFilter.h; sourceTree = SOURCE_ROOT; }; C2EDA90515BB136D007CBA0F /* GPUImageHueFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GPUImageHueFilter.m; path = Source/GPUImageHueFilter.m; sourceTree = SOURCE_ROOT; }; + D30ACF221BAFE3DD00E9759C /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; }; D443237817C81C0C00204484 /* GPUImageMovieComposition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GPUImageMovieComposition.h; path = Source/GPUImageMovieComposition.h; sourceTree = SOURCE_ROOT; }; D443237917C81C0C00204484 /* GPUImageMovieComposition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GPUImageMovieComposition.m; path = Source/GPUImageMovieComposition.m; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ @@ -1092,6 +1094,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D30ACF231BAFE3DD00E9759C /* AssetsLibrary.framework in Frameworks */, BCB5E77914E20BAF00701302 /* CoreMedia.framework in Frameworks */, BCB5E77714E20BA800701302 /* CoreVideo.framework in Frameworks */, BCB5E77514E20B9700701302 /* OpenGLES.framework in Frameworks */, @@ -1518,6 +1521,7 @@ BCF1A33614DDB1EC00852800 /* Frameworks */ = { isa = PBXGroup; children = ( + D30ACF221BAFE3DD00E9759C /* AssetsLibrary.framework */, BCB5E77814E20BAF00701302 /* CoreMedia.framework */, BCB5E77614E20BA800701302 /* CoreVideo.framework */, BCB5E77414E20B9700701302 /* OpenGLES.framework */,