ios - AVFoundation I use setActiveVideoMinFrameDuration didn't work -


i use avcapturevideodataoutput in demo ,for take photos in loop (like scanner) without sound, set fps low level

[device setactivevideominframeduration:cmtimemake(1, 1)]; [device setactivevideomaxframeduration:cmtimemake(1, 1)]; 

in code, this

- (void)captureoutput:(avcaptureoutput *)captureoutput didoutputsamplebuffer:(cmsamplebufferref)samplebuffer    fromconnection:(avcaptureconnection *)connection {      nslog(@"date"); } 

for check work, found print 24 times in second,not 1 times 1 second

ps: device edition iphone 5c , ios 8.12

i met same problem.you should take @ function explanation setactivevideominframeduration or setactivevideomaxframeduration. apple says:

on ios, receiver's activevideominframeduration resets default value under following conditions:
- receiver's activeformat changes
- receiver's avcapturedeviceinput's session's sessionpreset changes
- receiver's avcapturedeviceinput added session

so, should call setactivevideominframeduration , setactivevideomaxframeduration after changing activeformat,sessionpreset , avcapturesession's addinput.