终于动手compile live555mediaserver.so了

如何编写Application.mk和Android.mk 参考https://github.com/boltonli/ohbee/tree/master/android 真是个好东西来着

碰到的问题:

1. xlocale.h找不到   加个compile条件

LOCAL_CPPFLAGS :=  -DLOCALE_NOT_USED 

2. 提示-fexceptions, 加上

LOCAL_CPPFLAGS :=   -fexceptions

3. compile  GroupsockHelper.cpp 发生 error:which is of non-class type '__u32'

改写GroupsockHelp.cpp的code segment如下:

Boolean socketJoinGroupSSM(UsageEnvironment& env, int socket,
  netAddressBits groupAddress,
  netAddressBits sourceFilterAddr) {
  if (!IsMulticastAddress(groupAddress)) return True; // ignore this case


  struct ip_mreq_source imr;
//  imr.imr_multiaddr.s_addr = groupAddress;
//  imr.imr_sourceaddr.s_addr = sourceFilterAddr;
//  imr.imr_interface.s_addr = ReceivingInterfaceAddr;
    imr.imr_multiaddr = groupAddress;
    imr.imr_sourceaddr = sourceFilterAddr;
    imr.imr_interface = ReceivingInterfaceAddr;
    
  if (setsockopt(socket, IPPROTO_IP, IP_ADD_SOURCE_MEMBERSHIP,
(const char*)&imr, sizeof (struct ip_mreq_source)) < 0) {
    socketErr(env, "setsockopt(IP_ADD_SOURCE_MEMBERSHIP) error: ");
    return False;
  }


  return True;
}


Boolean socketLeaveGroupSSM(UsageEnvironment& /*env*/, int socket,
   netAddressBits groupAddress,
   netAddressBits sourceFilterAddr) {
  if (!IsMulticastAddress(groupAddress)) return True; // ignore this case


  struct ip_mreq_source imr;
//  imr.imr_multiaddr.s_addr = groupAddress;
//  imr.imr_sourceaddr.s_addr = sourceFilterAddr;
//  imr.imr_interface.s_addr = ReceivingInterfaceAddr;    
    imr.imr_multiaddr = groupAddress;
    imr.imr_sourceaddr = sourceFilterAddr;
    imr.imr_interface= ReceivingInterfaceAddr;


  if (setsockopt(socket, IPPROTO_IP, IP_DROP_SOURCE_MEMBERSHIP,
(const char*)&imr, sizeof (struct ip_mreq_source)) < 0) {
    return False;
  }


  return True;
}


然后就搞定了。。。 泪流满面的在libs\armeabi中出现了 libmediaServer.so...


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值