I am seeing a problem with the long term capture of video on the DM368. When I start capturing video (via the DMAI interface @720p) , I get regular intervals of frame capture all fairly close to 33.333 ms, with occasional sample slightly less or more. But when I do a run over night, at some point these values start to diverge and I start getting timing between frame captures ranging between 1.5 ms and 110 ms. The really long term average looks to run close to the 33.333 one would expect for 30 frames a second capture rate.
In one case after about 30 minutes of capture, I start seeing two captures close together of about 16 ms and an occasional capture of about 65 ms, than these start to happen more and more frequently. I am not seeing any contention of waiting for buffers at my application level. I have narrowed it down to the call to the DMAI routine Capture_get. I am taking the timings before and after Capture_get(). I am encoding with the h264 encoder, whose timings remain fairly constant and are much less than the time for the capture. I am also capturing and encoding AAC audio at the same time.
In another case I ran for several hours and got Zero size buffer out of the h264 encoder, my application detected this, destroyed all the DMAI objects and recreated them. Immediately after this I started seeing the capture frames having large variances in the collection times. But for the all night runs I have seen it I have ran with the original DMAI objects that were created.
Via top I have lots of idle time >30% while streaming and >50% if not streaming, have seen the problem in both situations. For memory we have 90 MegaBytes free, so it does not look like a contention problem with these.
My environment is DVSDK 3_10_00_19 and linux 2.6.32-rc2 PSP-37
Any idea what could be going on and how to fix it?