Video Telephony接口和流程梳理

本文详细介绍了Android VideoTelephony的IMS ThinClient接口,包括初始化、设置远端Surface、流量管理、摄像头控制和通话流程。通过这些接口,应用程序可以实现视频通话功能。文中还涵盖了不同场景下的调用流程,如屏幕旋转、通话结束和升级/降级方案。
摘要由CSDN通过智能技术生成

未经允许不能转载

本文内容主要是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值