문제

I am working on GPUImage framework , to record video using GPUImageVideoCamera .

it used to work sometime very flawlessly, but sometimes i go back and forth from my cameraScreen, it does crash sometime . I donot what is happening . I am Using ARC and IOS 6.

I am adding images of my error please have a look .

This is first one

enter image description here

The crash happens in the GpuImageVideoCamera dealloc method when releasing the frameRenderingSemaphore:

// ARC forbids explicit message send of 'release'; since iOS 6 even for dispatch_release() calls: stripping it out in that case is required.
#if ( (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0) || (!defined(__IPHONE_6_0)) )    
    if (frameRenderingSemaphore != NULL)
    {
        dispatch_release(frameRenderingSemaphore);
    }
#endif
도움이 되었습니까?

해결책

It appears that this is not an issue with ARC/not ARC (I've tried GPUImage builds with and without ARC enabled).

What I have found instead is that before releasing the GPUImageVideoCamera, you need to stop it from capturing any frames. Then schedule the call to [camera release] on the GPUImageContext.contextQueue, which will make sure the release is called after all frames have been processed.

Sorry for not posting more sample code, right now using GPUImage from Xamarin/C# hence translations a bit cumbersome.

다른 팁

Try to remove all breakpoints in project, and do product --> clean

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top