DLNA开发
最近在基于dlna开源库重新实现dlna服务,对于手机端来说主要提供ControlPoint+媒体文件HttpServer功能。 调研了国内APP和友商的实现,以使用libupnp和Cling的居多,部分使用Platinum; Cling Java开发的,对于APP来说容易导入,缺陷就是github上现在不再维护了; Libupnp以C实现,设备和服务封装不如cling及Platinum,开发起来不如后两者容易,但胜在BSD license; Platinum C++实现,对于device和服务封装的较好,使用起来简单;只是在用NDK R20进行编译时需要修改config文件,费了半天功夫才编出可用.a文件; Platinum GPL license,商用时有一定代价;但提供的mediacontroller 对象及FileMediaServer对象提供CP及媒体文件传输功能,只需要再实现代理对象的回调函数即可,开发难度相对简单,DIDL功能在代码里也有实现。另外提供的测试可执行文件,对于理解DIDL,封装的filemediaserver, MicMediaController这些对象很有帮助. 另外记录下github上找到的各种方案的实现demo easydlna(libupnp) geniusgithub/MediaRender(platinum)