iphone - Capturing the output of a video file for frame by frame processing -
i trying grab individual frames video file (7 seconds long) , running huge memory issues.
i loading asset avurlasset creating avassetreader
, accompanying avassetreadertrackoutput
(with pixel format kcvpixelformattype_32bgra
). seems work fine except massive memory hit ends getting app shutdown os instantly.
as call [myavassetreader startreading]
memory spikes 25 megs , gets worse there.
even if call [myavassetreader startreading]
[myavassetreader cancelreading]
, [myavassetreader release]
25 megs never released. gets worse once go loop gathering frames:
cmsamplebufferref sample = [output copynextsamplebuffer]; while( sample != null ) { cvimagebufferref imagebuffer = cmsamplebuffergetimagebuffer( sample ); // lock image buffer cvpixelbufferlockbaseaddress( imagebuffer, 0 ); // stuff imagebuffer // unlock image buffer cvpixelbufferunlockbaseaddress( imagebuffer, 0 ); // done sample cfrelease( sample ); sample = [output copynextsamplebuffer]; }
any clues how free memory avassetreader
using?
Comments
Post a Comment