我正在尝试为marmalade Framework编写GPUImage的扩展名。为此,我使用了官方文档和扩展开发工具包(EDK)Marmalade。我写了一些示例代码,编译:
mkb s3egpuimage_iphone.mkb --arm --release --compiler clang
编译正常,我得到库和标题,并与部署工具marlmalade和链接完成正常链接。但我把ipa写入iPod touch并运行此代码,我得到或freez应用程序或崩溃应用程序。我打电话的崩溃或freez开始:
[videoCamera startCameraCapture]
当然我用
初始化了videoCamera[[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
轻松实现目标:
textureOutput = [[GPUImageTextureOutput alloc] init];
...
[videoCamera addTarget:textureOutput];
[videoCamera startCameraCapture];
NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"];
unlink([pathToMovie UTF8String]);
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(480.0, 640.0)];
movieWriter.shouldPassthroughAudio = YES;
videoCamera.audioEncodingTarget = movieWriter;
[movieWriter startRecording];
我想到了这一点,但我不明白。
请帮忙吗?
答案 0 :(得分:0)
我再次评论是否可以......但所以这是一个部分答案。
值得查看日志,看看是否有任何消息出现,你没想到。但是,您没有显示s4e文件,只需要考虑一些事项:
1)在较低级别,您是在OS线程上运行(通过在s4e文件中说明它还是自己滚动)?找出它应该被访问的内容,并保持一致 - 不要混合搭配。
2)如果您在os线程中,请注意任何异常。 [通过os线程调用的橘子酱代码不喜欢未处理的异常。]
3)跨线程调用的API使用varargs(...)。这看起来很强大,但是varargs存在已知问题,我们现在建议反对 - 问题与64位和类似的对齐问题有关。建议为每个函数创建一个参数块,然后传递它。
如果您发现任何更多信息,请随时发布。