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" <[email protected]> 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 [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
-~----------~----~----~----~------~----~------~--~---