Does that mean postBuffer() doesn't memcpy and SurfaceFlinger always
works on the same buffer passed in by camera service? It seems unsafe,
because I found software composition of SufaceFlinger consumes a lot
of MIPS on our platform with QVGA screen. For a larger resolution, say
VGA, SurfaceFlinger probably can't achieve 60 fps.

On Mar 11, 2:01 pm, Dave Sparks <[email protected]> wrote:
> SurfaceFlinger always posts the last frame it receives. It refreshes
> at 60 fps on the G1, so this should not be an issue.
>
> If your display is refreshing at less than 30 fps, you are going to
> have complaints about the UI.
>
> On Mar 10, 6:53 pm, Jia Meng <[email protected]> wrote:
>
> > 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to