When I run this (test) code on the HDC dream I get null address for buffer and address. I can create the isurface and overlay ok (no segfaults).
printf("buffer = %p\n", buffer); (prints buffer = 0x0) printf("address = %p\n", address); (prints address = 0x0) Is this because the dream does not support hardware overlays? What can I do to make this work? On Apr 30, 3:53 pm, "Jill.Zhou" <ruohong.z...@gmail.com> wrote: > After debug into SurfaceFringer, I found the following code can work > to set overlay position: > > sp<SurfaceComposerClient> client = new SurfaceComposerClient(); > > // create pushbuffer surface > sp<Surface> surface = client->createSurface(getpid(), 0, 320, > 240, > PIXEL_FORMAT_UNKNOWN, ISurfaceComposer::ePushBuffers); > > // get to the isurface > sp<ISurface> isurface = Test::getISurface(surface); > printf("isurface = %p\n", isurface.get()); > > // now request an overlay > sp<OverlayRef> ref = isurface->createOverlay(320, 240, > PIXEL_FORMAT_RGB_565); > sp<Overlay> overlay = new Overlay(ref); > > /* Code to set position */ > client->openTransaction(); > surface->setPosition(30, 30); > client->closeTransaction(); > > /* > * here we can use the overlay API > */ > > overlay_buffer_t buffer; > overlay->dequeueBuffer(&buffer); > printf("buffer = %p\n", buffer); > > void* address = overlay->getBufferAddress(buffer); > printf("address = %p\n", address); > > overlay->queueBuffer(buffer); --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "android-framework" group. To post to this group, send email to android-framework@googlegroups.com To unsubscribe from this group, send email to android-framework+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-framework?hl=en -~----------~----~----~----~------~----~------~--~---