when hw_get_module is called the hardware.c forms the complete path to the
library based on certain predefined values which by default comes to
/system/lib/hw/overlay.default.so


Another things is in the sample
programs*frameworks/base/libs/surfaceflinger/tests/overlay/
*
*

sp<OverlayRef> ref = isurface->createOverlay(320, 240,
PIXEL_FORMAT_RGB_565);
*

ref is used in sp<Overlay> overlay = new Overlay(ref);

which comes to the code give below.

    if (overlayRef != 0) {
        if (hw_get_module(OVERLAY_HARDWARE_MODULE_ID, &module) == 0) {
            if (overlay_data_open(module, &mOverlayData) == NO_ERROR) {
               mStatus = mOverlayData->initialize(mOverlayData,
                        overlayRef->mOverlayHandle);
            }

However the condition is failing  if (overlayRef != 0) and hence overlay
object creation fails.

Any idea on what is going wrong ?

the function isurface->createOverlay
comes to
remote()->transact(CREATE_OVERLAY, data, &reply); in
file*frameworks/base/libs/ui/ISurface.cpp
*
from here I was not able to trace where the control is going to.


On Mon, May 10, 2010 at 8:09 PM, Deva R <[email protected]> wrote:

>
> when overlay is created, it walks through overlay hardware module
>
> >    if (overlayRef != 0) {
> >        if (hw_get_module(OVERLAY_HARDWARE_MODULE_ID, &module) == 0) {
> >            if (overlay_data_open(module, &mOverlayData) == NO_ERROR) {
> >               mStatus = mOverlayData->initialize(mOverlayData,
> >                        overlayRef->mOverlayHandle);
> >            }
>
>
>
> so, instead of generating generic liboverlay.so, its better to generate
> module with hardware name appeneded.
>
> you can update your overlay -> Android.mk module name as below..
> LOCAL_MODULE := overlay.$(TARGET_BOARD_PLATFORM)
>
>
> Not sure if you leave it as just liboverlay.so, it will work or not..
>
>
>
>  On Fri, May 7, 2010 at 7:18 PM, Sambhav <[email protected]> wrote:
>
>>  Hi,
>>
>> By default overlay module at *hardware\libhardware\modules\overlay* is a
>> skeleton implementation.
>> I am calling the V4L2 driver calls from these functions.
>> I have build the module - liboverlay.so
>>
>> Where should I indicate that Overlay calls made from *
>> frameworks/base/libs/ui/Overlay.cpp* to use the services from *liboverlay.so
>> *created above.
>>
>> Regards,
>> Sambhav
>>
>>
>> --
>> unsubscribe: 
>> [email protected]<android-porting%[email protected]>
>> website: http://groups.google.com/group/android-porting
>>
>
>

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to