mDNS移植Android系统简介
2017-09-25 20:13
846 查看
最近有个客户,需要在他的机顶盒上支持Airplay, 其机顶盒系统是Android4.0.4, 此版本系统没有mDNS(需要Android4.1+)及MediaCodec接口 (需要Android4.1.2+), 所以我们需要移植mDNS及使用软解码来实现. 此文介绍mDNS的移植.
mDNS我们选型使用Apple的开源软件mDNSResponder, 下载地址为https://opensource.apple.com/tarballs/mDNSResponder/
使用mDNSResponder, 需要解决两个问题: 1个是解决Android移植问题,另外一个是解决CS问题,我们要求是以库文件的方式提供给Airplay协议栈使用.
mDNSResponder解压之后, 会出现如下文件夹
APPLE_LICENSE Clients Makefile mDNSCore mDNSMacOS9 mDNSMacOSX mDNSPosix mDNSShared mDNSVxWorks mDNSWindows README.txt
我们实际只需要使用mDNSCore/mDNSPosix/mDNSShared, 其他目录都不需要.修改步骤如下:
将自己使用的NDK生成独立的gcc的tool chain目录
进入mDNSPosix目录,修改Makefile,将CC/LD/修改为NDK Tool Chain的gcc/ld路径
make os=linux
编译的时候可能会遇到编译错误,主要是Android的某些函数定义没有或者和POSIX Linux不一致, 修改掉即可
编译成功,则会生成一个服务器端的service, 我们不需要使用它,接下来我们需要修改源代码及makefile,使其生成库文件
所有确定我们的库文件提供4个接口:初始化mDNSService/结束mDNSService/PublishService/DePublishService
参考mDNSPosix/PosixDaemon.c文件,修改或者重新撰写,实现以上4个接口
修改mDNSPosix/PosixDaemon.c文件,取消main函数
修改Makefile, 将生成可执行文件修改为生成库文件
撰写测试程序,测试
技术交流有兴趣请加:
音视频技术交流群:308601278
无线投屏技术交流群:582349005
无线投屏官网: http://www.wirelessdisplay.cn/
无线投屏DEMO下载: https://github.com/wirelessdisplay
公司官网
www.bijienetworks.com
我司有成熟的视频会议/视频监控/视频调度/无线投屏盒子销售,也可做音视频相关产品和技术的定制化开发
商务合作请至邮件marketing@bijienetworks.com
mDNS我们选型使用Apple的开源软件mDNSResponder, 下载地址为https://opensource.apple.com/tarballs/mDNSResponder/
使用mDNSResponder, 需要解决两个问题: 1个是解决Android移植问题,另外一个是解决CS问题,我们要求是以库文件的方式提供给Airplay协议栈使用.
mDNSResponder解压之后, 会出现如下文件夹
APPLE_LICENSE Clients Makefile mDNSCore mDNSMacOS9 mDNSMacOSX mDNSPosix mDNSShared mDNSVxWorks mDNSWindows README.txt
我们实际只需要使用mDNSCore/mDNSPosix/mDNSShared, 其他目录都不需要.修改步骤如下:
将自己使用的NDK生成独立的gcc的tool chain目录
进入mDNSPosix目录,修改Makefile,将CC/LD/修改为NDK Tool Chain的gcc/ld路径
make os=linux
编译的时候可能会遇到编译错误,主要是Android的某些函数定义没有或者和POSIX Linux不一致, 修改掉即可
编译成功,则会生成一个服务器端的service, 我们不需要使用它,接下来我们需要修改源代码及makefile,使其生成库文件
所有确定我们的库文件提供4个接口:初始化mDNSService/结束mDNSService/PublishService/DePublishService
参考mDNSPosix/PosixDaemon.c文件,修改或者重新撰写,实现以上4个接口
修改mDNSPosix/PosixDaemon.c文件,取消main函数
修改Makefile, 将生成可执行文件修改为生成库文件
撰写测试程序,测试
技术交流有兴趣请加:
音视频技术交流群:308601278
无线投屏技术交流群:582349005
无线投屏官网: http://www.wirelessdisplay.cn/
无线投屏DEMO下载: https://github.com/wirelessdisplay
公司官网
www.bijienetworks.com
我司有成熟的视频会议/视频监控/视频调度/无线投屏盒子销售,也可做音视频相关产品和技术的定制化开发
商务合作请至邮件marketing@bijienetworks.com
相关文章推荐
- Android图形系统的分析与移植--一、Android GUI系统简介
- Android图形系统的分析与移植--一、Android GUI系统简介
- Android系统移植与调试之------->Android的编译系统简介
- Android图形系统分析与移植 -- 四、Surface Manager(Surface Flinger简介)
- Android图形系统分析与移植--四、Surface Manager(Surface Flinger简介)
- Android图形系统分析与移植--五、Android FrameBuffer简介
- andriod驱动之旅-了解:移植内核+Android系统到S3C2440(9)
- 深入浅出 - Android系统移植与平台开发(八)- Android系统的本地服务
- Android系统移植(三)-按键字符表
- 内核移植和文件系统制作(3)Ramdisk简介和常见问题
- Android系统移植与调试之------->如何修改Android设备的默认休眠时间
- 深入浅出 - Android系统移植与平台开发(八)- HAL Stub框架分析
- Android系统架构和程序结构简介
- 深入浅出 - Android系统移植与平台开发(十三) - Sensor HAL框架分析之三
- Android系统服务-简介
- android编译系统 整体 简介
- Android动画学习(一)——Android动画系统框架简介
- Android系统移植(二)-按键移植
- Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程
- Android 广播BroadcastReceiver静态/动态注册,获取系统电量广播【开机广播】,获取网络状态广播,Timer的使用简介