3

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

1)根据上层命令的返回状态,进入函数DoSourceNodeQueryInterfaceOptional(aNodeContext.iCmdId, aNodeContext.iCmdContext)

2)RunIfNotReady()运行调度,函数退出;

函数PVPlayerEngine::DoSourceNodeQueryInterfaceOptional(PVCommandId aCmdId, OsclAny* aCmdContext)

此函数连续6次调用iSourceNode->QueryInterface,每个QueryInterface都对应不同的UUID,context

分别是:

PVMF_TRACK_LEVEL_INFO_INTERFACE_UUID,iSourceNodePVInterfaceTrackLevelInfo(没有查询到相应接口)

PvmfDataSourcePlaybackControlUuid,iSourceNodePVInterfacePBCtrl(成功)

PvmfDataSourceDirectionControlUuid,iSourceNodePVInterfaceDirCtrl(失败)

KPVMFMetadataExtensionUuid,iSourceNodePVInterfaceMetadataExt(成功)

PVMI_CAPABILITY_AND_CONFIG_PVUUID,iSourceNodePVInterfaceCapConfig(失败)

PVMF_DATA_SOURCE_NODE_REGISRTY_INIT_INTERFACE_UUID,iSourceNodePVInterfaceRegInit(失败)

函数的作用就是根据命令的类型将查询到的接口指针保存到引擎中去,而本函数是对可选的接口进行处理的;

3)完成上面的接口查询命令则整个添加数据源的操作就算完成了;

添加数据源的命令完成后就会调用到函数PVPlayer::run_init(status_t s, void *cookie, bool cancelled)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值