2

在源节点查询完接口后就会调用函数PVMFNodeInterfaceImpl::CommandComplete(PVMFNodeCommand& aCmd, PVMFStatus aStatus,PVInterface* aExtMsg, OsclAny* aEventData, PVUuid* aEventUUID, int32* aEventCode, int32 aEventDataLen)通知上层命令的完成情况;

PVMFNodeInterfaceImpl::CommandComplete(iCurrentCommand, status, NULL, eventData),

1)构建对象PVMFCmdResp resp(aCmd.iId, aCmd.iContext, aStatus, extif, aEventData),其中的命令是上面处理的查询接口的命令,aStatus就是执行命令的返回状态,eventData为NULL;

类PVMFCmdResp继承类PVMFEventBase,用于将先前处理的命令的状态返回到上层去;

2)ReportCmdCompleteEvent(session, resp)      PVMFSessionId session = aCmd.iSession

函数PVMFNodeInterfaceImpl::ReportCmdCompleteEvent(PVMFSessionId aSession, PVMFCmdResp &aResponse)

3)又调用函数PVPlayerEngine::NodeCommandCompleted(const PVMFCmdResp& aResponse)

函数PVPlayerEngine::NodeCommandCompleted(const PVMFCmdResp& aResponse)

首先从参数aResponse中读取aCmd.iContext,就是前面提到的context(PVPlayerEngineContext*),在函数中,通过context获得命令的类型,来做进一步的操作;

1)进入函数HandleSourceNodeQueryInitIF(*nodecontext, aResponse),因为context->iCmdType的值为PVP_CMD_SourceNodeQueryInitIF;

PVPlayerEngine::HandleSourceNodeQueryInitIF(PVPlayerEngineContext& aNodeContext, const PVMFCmdResp& aNodeResp)

2)释放掉指向context的参数,函数返回;

函数PVPlayerEngine::HandleSourceNodeQueryInitIF(PVPlayerEngineContext& aNodeContext, const PVMFCmdResp& aNodeResp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值