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
-~----------~----~----~----~------~----~------~--~---

Reply via email to