I have the same question about SurfaceFlinger. When previewing, camera service keeps posting frame buffers (from a circular queue) to SurfaceFlinger using postBuffer(). Will SurfaceFlinger copy the received buffer out immediately? If not, it might fall behind of camera input too.
On Mar 11, 1:21 am, Dave Sparks <[email protected]> wrote: > There is a change in our internal tree to add a separate callback > mechanism for encoder frames. When the encoder is done encoding the > frame, it calls WriteComplete on the camera MIO, which in turn calls > the camera hardware driver to release the frame. > > I suspect the problem you are seeing is that the encoder can't keep up > with the camera input. I've found that OpenCore usually asserts after > this. On our internal tree, we have modified the OpenCore assert to de- > reference a NULL pointer so we can get a stack trace. > > On Mar 10, 2:14 am, Jia Meng <[email protected]> wrote: > > > Hi, > > > I'm trying video recording on Cupcake (hasn’t updated to OpenCore 2.1 > > yet). I'm curious about the buffer communications between Camera > > service and PV Author. > > > PV Author registers a callback to Camera service through > > setFrameCallback(). After Camera service posted a buffer to PV Author > > (without memcpy), how can it be notified when the buffer has been > > consumed? If capture frame rate is faster than Author’s consuming > > rate, could there be any problem? > > > Also, when I tried Camera application under high quality recording > > mode (352x288), it will hang with a binder failure followed by several > > media services died. Below are some lines picked from PV log. I think > > the 5th SendInputBufferToOMXComponent() shouldn’t happen before > > EmptyBufferDoneProcessing, and PV log stops after > > EmptyBufferDoneProcessing on the last line. How does PV Author handles > > data congestion internally? > > > Thanks, > > Jia > > > PVLOG:TID(0x20260):Time=7059:PVMFOMXEncNode- > > Video_H263::SendInputBufferToOMXComponent() - Buffer 0x407e8000 of > > size 202752, 1 frag out of tot. 1, TS=0 > > PVLOG:TID(0x20260):Time=7120:PVMFOMXEncNode- > > Video_H263::SendInputBufferToOMXComponent() - Buffer 0x40819800 of > > size 202752, 1 frag out of tot. 1, TS=59 > > PVLOG:TID(0x20260):Time=7149:PVMFOMXEncNode- > > Video_H263::SendInputBufferToOMXComponent() - Buffer 0x4084b000 of > > size 202752, 1 frag out of tot. 1, TS=79 > > PVLOG:TID(0x20260):Time=7181:PVMFOMXEncNode- > > Video_H263::SendInputBufferToOMXComponent() - Buffer 0x4087c800 of > > size 202752, 1 frag out of tot. 1, TS=124 > > PVLOG:TID(0x20260):Time=7212:PVMFOMXEncNode- > > Video_H263::SendInputBufferToOMXComponent() - Buffer 0x407e8000 of > > size 202752, 1 frag out of tot. 1, TS=154 > > PVLOG:TID(0x20260):Time=8589:PVMFOMXEncNode- > > Video_H263::EmptyBufferDoneProcessing: Release input buffer (with 0 > > refcount remaining of input message) > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "android-framework" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-framework?hl=en -~----------~----~----~----~------~----~------~--~---
