Android音视频——OMX 中 Nodeinstance 列表的管理与节点的操作

本文介绍了在Android音视频开发中,如何管理OMX Componentinstance的Nodeinstance列表,以及Nodeinstance的操作,包括节点的生成和删除。详细解析了OMXNodelnstance如何通过CallbackDispatcher处理组件的回调事件,并通过静态方法注册到OMX_CALLBACKTYPE。此外,还探讨了CallbackDispatcher内部的工作机制,以及事件从OMX组件传递到AwesomePlayer的流程。
摘要由CSDN通过智能技术生成

在我们创建Componentinstance (OMX组件实例)后,需要对它里面的Nodelnstance列表 进行管理。

  • OMX对解码器组件Component的使用,是通过OMXNodelnstance来实现的。 OMXNodelnstance
    自身的动作包括 Nodeinstance 的生成(allocateNode )和删除
    (freeNode)o其实就是对niDispatchers和mNode】DToInstance进行添加和删除。
  • mNodelDToInstance 就是一个 key 为 node id» value 为 Nodeinstance 的键/值对列表。而
    niDispatchers 就是一个 key 为 node id, value 为 OMX::CallbackDispatcher
    的键/值对列 表。并且,每个 Nodeinstance 都拥有一个 0MX::CalIbackDispatchero
  • CallbackDispatcher的主要作用是在解码器组件Component发出回调动作后,将message
    分发给对应的OMXCodec客户端。

在我们了解到OMXNodelnstance列表管理后,每个OMXNodelnstance中都有Node节 点,若你需要给这些Node节点分配一些Buffer,下面看看对Node节点的操作过程。
在/frameworks/av/media/libstagefright/include/OMXNodeInstance.h 中:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程思扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值