Linphone 杂记

Linphone android 版本在使用以太网rj45网线是无法进行视频通话。

解决办法:

     修改LinphoneUtils.java中的 isConnectionFast 方法,强制让其在所有情况下返回 true

Linphone 默认读取手机联系人,开放中使用的机顶盒有的已经将contacts包删除掉了,会造成linphone无法启动,或者无法接听电话。

!解决办法:

    1. 注释LinphoneActivity.java 中onResume方法中第1254行,prepareContactsInBackground();

    2. LinphoneUtils.java里面有 findUriPictureOfContactAndSetDisplayName( ) 方法,用于查找电话薄,显示联系人。注释掉里面的内容,直接return null 


Linphone jni动态链接库 “so文件” load:

在org.linphone.core.LinphoneCoreFactoryImpl.java(位置<. submodules/linphone/java/impl/org/linphone/core/LinphoneCoreFactoryImpl.java>) 文件中完成。

Linphone默认会启用蓝牙,如果设备没有蓝牙的话,会出现异常退出的行为,注释掉<src/org/linphone/LinphoneManager.java > 657行 org.linphone.LinphoneManager.initLiblinphone(LinphoneManager.java:657) startBluetooth();

关于linphone视频显示:

    linphone远程视频解码后使用Opengl es显示,具体实现:org.linphone.mediastream.video.display包。

    c端render实现在opengles_display.c文件中的 Java_org_linphone_mediastream_video_display_OpenGLESDisplay_render() ;   update_textures_with_yuv() 方法用于渲染yuv数据到opengl。

Android-opengl-display.c 中初始化显示,创建opengles_display.c中需要用到的显示对象struct opengles_display* d;

Android-opengl-display.c 中 140行处,(*jenv)->CallVoidMethod(jenv,window,ad->set_opengles_display_id, ptr); 用于设置显示所用的struct opengles_display*,够opengles使用。


Linphone通话中会更新视频状态,在linphonecore.c中实现,具体函数为 int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params);


.\submodules\linphone\mediastreamer2\src\voip\bitratedriver.c 中

static int dec_video_bitrate(MSAVBitrateDriver *obj, const MSRateControlAction *action);

方法用于在通话中改变编码的 比特率。


.\coreapi\callbacks   -> static void call_received(SalOp *h); 处理接收到电话事件。


Linphone 摄像头数据采集在org.linphone.mediastream.video.capture.AndroidVideoApi[x]JniWrapper.java中完成,

camera.setPreviewCallbackWithBuffer中AndroidVideoApi5JniWrapper.putImage(nativePtr, data);将采集到的数据传递到native层。AndroidVideo.cpp文件中实现jni接口。


!!! <377532905> Linphone 移植群,基于全志 A10/A20/A31,欢迎交流 !!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值