Android6.0显示系统(三)管理图像缓冲区

Android6.0显示系统(三)管理图像缓冲区

ID:36489350

大小:75.50 KB

页数:9页

时间:2019-05-11

Android6.0显示系统(三)管理图像缓冲区_第1页
Android6.0显示系统(三)管理图像缓冲区_第2页
Android6.0显示系统(三)管理图像缓冲区_第3页
Android6.0显示系统(三)管理图像缓冲区_第4页
Android6.0显示系统(三)管理图像缓冲区_第5页
资源描述:

《Android6.0显示系统(三)管理图像缓冲区》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android6.0显示系统(三)管理图像缓冲区一、BufferQueueCoreBufferQueueProducerBufferQueueConsumer上篇博客在Layer的onFirstRef函数中,调用了下面函数,创建了3个对象BufferQueueCoreBufferQueueProducerBufferQueueConsumer。其中BufferCore是核心,把BufferQueueProducer和BufferQueueConsumer对象连接在一起。[cpp]viewplaincopy在CODE上查看代码片派生到我的代码片voidBuff

2、erQueue::createBufferQueue(sp*outProducer,sp*outConsumer,constsp&allocator){spcore(newBufferQueueCore(allocator));spproducer(newBufferQueueProducer(core));sp

3、Consumer>consumer(newBufferQueueConsumer(core));*outProducer=producer;*outConsumer=consumer;}1.1生产者和core的联系IGraphicBufferProducer的大致接口如下,BufferQueueProducer类是接口IGraphicBufferProducer的实现,使用BufferQueueProducer之前先要调用connect函数,使用结束后调用disconnect断开连接。[cpp]viewplaincopy在CODE上查看代码片派生到我的代码片

4、classIGraphicBufferProducer:publicIInterface{public:virtualstatus_trequestBuffer(intslot,sp*buf)=0;virtualstatus_tsetBufferCount(intbufferCount)=0;virtualstatus_tdequeueBuffer(int*slot,sp*fence,boolasync,uint32_tw,uint32_th,PixelFormatformat,uint32_tusage)=0;v

5、irtualstatus_tdetachBuffer(intslot)=0;virtualstatus_tdetachNextBuffer(sp*outBuffer,sp*outFence)=0;virtualstatus_tattachBuffer(int*outSlot,constsp&buffer)=0;virtualstatus_tqueueBuffer(intslot,constQueueBufferInput&input,QueueBufferOutput*output)=

6、0;virtualvoidcancelBuffer(intslot,constsp&fence)=0;virtualintquery(intwhat,int*value)=0;virtualstatus_tconnect(constsp&listener,intapi,boolproducerControlledByApp,QueueBufferOutput*output)=0;virtualstatus_tdisconnect(intapi)=0;virtualstatus_tsetSidebandStr

7、eam(constsp&stream)=0;virtualvoidallocateBuffers(boolasync,uint32_twidth,uint32_theight,PixelFormatformat,uint32_tusage)=0;virtualstatus_tallowAllocation(boolallow)=0;virtualstatus_tsetGenerationNumber(uint32_tgenerationNumber)=0;virtualString8getConsumerName()const=0

8、;};在BufferQueueCore类中定义了一个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。