未经允许不能转载
本文内容主要是IMS ThinClient对应用程序公开的api的概述,通过这些api,应用程序可以通过modem进行视频通话,此外,本文仅提供Qualcomm的Android VideoTelephony方案。
第一部分:IMS ThinClient
这部分挑选了部分重要的API接口进行描述
1.initImsThinClient()/initImsThinClient2(unsigned short sessionID)
初始化IMS ThinClient,初始化成功了之后才能接收QMI指令进行更多的操作,返回值如下:
Return value |
Value |
Description |
IMS_ERROR_OK |
0 |
初始化成功 |
IMS_GENERIC_ERROR |
-1 |
初始化失败 |
IMS_MULTIPLE_INIT |
-2 |
重复初始化 |
该接口是整个VT call的第一步,这两个api的区别在于后者需要传入唯一的sessionID,为应用唯一识别码
2.deInitImsThinClient()
反初始化IMS ThinClient,也就是清空所有数据,关闭ThinClient,这是整个VT流程的最后一步,返回值如下:
Return value |
Value |
Description |
IMS_ERROR_OK |
0 |
成功 |
IMS_GENERIC_ERROR |
-1 |
失败 |
IMS_NOT_INITIALIZED |
-2 |
反初始化一个未初始化的库 |
3.setFarEndSurface(Surfacefar)
设置farend Surface,让设备可以解码和渲染,播放器可以开始工作,简单来说就是可以播放视频,返回值如下:
Return value |
Value |
Description |
IMS_ERROR_OK |
0 |
成功 |
IMS_GENERIC_ERROR |
-1 |
失败 |
这里附加一个api 文档的流程图:
可以看到最后把surface的句柄传到了播放器,让其渲染,如果有视频过来就可以播放了
4.void registerAppEventCallback2(IMS_EVENT_NOTIFY_CALLBACK2 fnPtr)
注册APP的callback,其中IMS_EVENT_NOTIFY_CALLBACK2 的返回值如下:
Return value |
Value |
Description |
PARAM_READY_EVENT |
1 |