BradLarson / GPUImage

An open source iOS framework for GPU-based image and video processing
http://www.sunsetlakesoftware.com/2012/02/12/introducing-gpuimage-framework
BSD 3-Clause "New" or "Revised" License
20.2k stars 4.61k forks source link

iOS8 custom photo editing extension GPUImage crash on photo taken with camera roll #1759

Open twentyfourapp opened 9 years ago

twentyfourapp commented 9 years ago

In my finishContentEditingWithCompletionHandler method for my custom photo editing extension I am able to correctly filter with GPUimage and save images that are NOT taken by the camera. But when I take a picture with the camera and then use my photo editing extension and hit "Done" the extension just sits there on a blank screen with the activity spinner going. Has anyone else encountered this issue?

Getting gputoolsd crashreports if that helps.

bzeeman commented 9 years ago

Same issues here. Any fixes would be appreciated. Even a response or progress report. :)

twentyfourapp commented 9 years ago

We tried for weeks but unfortunately the memory needed in GPUImage is far to much for an app extension. GPUImage spikes sometimes past 70 mb on some of our filters and it seems like app extensions cannot handle spikes that high. 40mb looks to be a max sometimes that iOS allows but its unclear. Let us know of any progress you may have too. We may unfortunately have to drop GPUImage if in the near future this isn't resolved. We are really hoping it is though.

bzeeman commented 9 years ago

We tried too, however from the profiler we only saw it go as high as 31MB, but it still didn't work. Most of the time it didn't go over 25. We even saved the processed image to storage and then displayed the image from the resulting file path inside the completion handler. Even after all of this something seems to cause it to fail. GPU image was no longer processing anything. Since we have seen no response, we have dropped GPU image.

Edit: Using iOS 8.1 and Xcode 6.1, the profiler now reads that we are spiking upwards of 85MB. We may have to filter larger images in pieces.