当前位置: 首页 > news >正文

【Android_14】ACodec-OMX跨IPC的一些类

在这里插入图片描述
可以看出:

  1. 跨IPC之前的类一般为 LWxxx, 表示 Legancy Wrapper (It wraps a Treble object inside a legacy object.)
  2. 跨IPC之后的类,一般为 TWxxx, 表示 Treble Wrapper (It wraps a legacy object inside a Treble object.)
  3. ACodec通过 OMXClient 的 connect 接口,建立了 media.codec 服务的链接,并返回局部 mOMX, 其中 IOMX 仅有三个接口,listNode/ allocateNode/ createInputSurface, 更多接口信息参考此链接
    其中 listNode使用地方较少, allocateNode用于编解码前创建 component, createInputSurface用于创建编码的 InputSurface
  4. allocateNode之后,ACodec获取 IOMXNode 的句柄,可以通过此句柄间接调用到 OMXNodeInstance, 继续往底层Component调用,其中 IOMXNode 仅提供了18个跨IPC的接口
    freeNode/ sendCommand/ getParameter/ setParameter/ getConfig/ setConfig/
    setPortMode/ prepareForAdaptivePlayback/ configureVideoTunnelMode/
    getGraphicBufferUsage/ setInputSurface/ allocateSecureBuffer/
    useBuffer/ freeBuffer/ fillBuffer/ emptyBuffer/ getExtensionIndex/ dispatchMessage
    更多接口信息参考此链接
  5. 涉及 BufferQueue 时, 需要消费者来创建BufferQueue, 并运行在消费者所在的进程中(如图中 编码时的 createInputSurface),生产者需要跨进程传递数据

http://www.mrgr.cn/news/55738.html

相关文章:

  • 使用 Docker compose 部署 Nacos(达梦数据库)
  • 【OpenAI】第二节(Token)什么是Token?如何计算ChatGPT的Token?
  • CCRC-DSO数据安全官的作用
  • 干货|react router- loader 和组件 useEffect 加载数据的选择
  • SpringBoot民宿预订系统:打造在线住宿新体验
  • 016集——c# 实现CAD类库 与窗体的交互(CAD—C#二次开发入门)
  • 【yolov8旋转框检测】微调yolov8-obb目标检测模型:数据集制作和训练
  • STM32G4系列MCU的启动项配置
  • 【luogu P2148】 ED(SG函数)
  • Python数值计算(27)—— 数值微分
  • 基于Springboot在线视频网站的设计与实现
  • 心觉:突破自己
  • 51单片机快速入门之 IIC I2C通信
  • UML之用例图详解
  • 【ShuQiHere】深入了解逻辑门与晶体管数量:CMOS技术详解
  • 毕业设计选题:基于Hadoop的热点新闻分析系统的设计与实现
  • js构造函数和原型对象,ES6中的class,四种继承方式
  • Python Flask 数据库开发
  • 提示词高级阶段学习day3.1
  • 目前最新 Reflector V11.1.0.2067版本 .NET 反编译软件
  • 【C++】拆分详解 - stack和queue
  • 03_深入理解Linux:系统组成、内核版本及文件系统详解
  • 【MySQL】索引和事务
  • JAVA继承
  • 时间数据可视化基础实验——Python实现
  • 【付费】Ambari集成Dolphin实战-002-bigtop下编译dolphin——下