模块分析-------Merge

功能介绍:从前N个link中获取帧信息,并且把这些帧传到一个队列钟,下一个link获取时会把当前队列所有的buffer获取并组成一个数组

位置:links_fw/src/rtos/links_common/merge      rtos

           links_fw/src/hlos/links_a15/merge             hlos

使用示例:

Capture -> Dup -> alg_dsp0 -> merge

Dup -> Merge

Merge -> sync -> Display

 

一些重要参数及回调:

outBufQue:提供给下一link取帧数据的队列

inQueChNumMap:帧数据号匹配表,用于下一link匹配实际需要的chn使用

linkObj.linkGetFullBuffers  = &MergeLink_getFullBuffers;        下一link获取数据
linkObj.linkPutEmptyBuffers = &MergeLink_putEmptyBuffers;   下一link释放buf
linkObj.getLinkInfo         = &MergeLink_getLinkInfo;         下一link获取本link信息

重要函数解析

Int32 MergeLink_drvProcessData(MergeLink_Obj * pObj)   //merge处理函数

1、for ( pre link in num )    //

          pBuf->chNum = pObj->inQueChNumMap[inQue][pBuf->chNum];  //下一link用该参数判断使用哪个通道数据

        System_getLinksFullBuffers(pCreateArgs->inQueParams[inQue].prevLinkId,
                                  pCreateArgs->inQueParams[inQue].prevLinkQueId,
                                  &pObj->inBufList);   //每个前节点分别放入outBufQue,同一节点内的多数据都放在一个inBufList中

2、Utils_bufPutFull  //放入outBufQue,供下一link获取

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值