android overlay,android 怎么编译overlay

AndroidOverlay学习1、 测试代码frameworks/base/libs/surfaceflinger/tests/overlays/overlays.cpp提供了一个简单的overlay调用流程,可惜这个测试程序有错误,在sp surface = client->createSurface(getpid(), 0, 320, 240,PIXEL_FORMAT_UNKNOWN,...
摘要由CSDN通过智能技术生成

Android

Overlay学习

1、 测试代码

frameworks/base/libs/surfaceflinger/tests/overlays/overlays.cpp提供了一个简单的overlay调用流程,可惜这个测试程序有错误,

在sp surface = client->createSurface(getpid(), 0, 320, 240,

PIXEL_FORMAT_UNKNOWN,

ISurfaceComposer::ePushBuffers);

这句话编译不过去,错误在Surface的申请,和overlay无关。

我们来看看这段代码:

int

main(int argc, char** argv)

{

// set up the thread-pool 建立线程池

sp proc(ProcessState::self());

ProcessState::self()->startThreadPool();

// create a client to surfaceflinger 创建一个SurfaceFlinger client

sp client = new SurfaceComposerClient();

// create pushbuffer surface 创建一个surface,最后那个参数是类型?

sp surface = client->createSurface(getpid(), 0, 320, 240,

PIXEL_FORMAT_UNKNOWN, ISurfaceComposer::ePushBuffers);

// get to the isurface 取得isurface接口

sp isurface =

Test::getISurface(surface);

printf("isurface = %p/n",

isurface.get());

// now request an overlay 创建一个overlay

sp ref = isurface->createOverlay(320, 240,

PIXEL_FORMAT_RGB_565);

sp overlay = new

Overlay(ref);

/*

* here we can use the overlay API

创建好overlay后,即可使用overlay的API,这些都对应到overlay HAL的具体实现

*/

overlay_buffer_t buffer;

overlay->dequeueBuffer(&buffer);

p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值