ts,ps,mpeg2 decoder and analysis

分析工具,免费下载.

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  55 随笔 :: 0 文章 :: 168 评论 :: 0 Trackbacks
<2016年1月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

公告

TS,MPEG2, EPG, dvbc,数字电视 专家, wifi 6, 5G ,opencv, AI 等高科技领域专家 !

常用链接

留言簿(40)

随笔档案(55)

文章分类

相册

排名

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

by default live library includes winsock.h through windows.h instead of winsock2.h, but requires Winsock 2 in  initializeWinsockIfNecessary(...) function.
IP_ADD_MEMBERSHIP value for Winsock1 is 5, and for Winsock 2 is 12.
Therefore socketJoinGroup(...) function is trying to call setsockopt(IP_ADD_MEMBERSHIP) from Winsock 2 with optname from Winsock 1.
There is the confusion between Winsock versions.


live555的 组播的code如下 :

 testAddr.s_addr = our_inet_addr("228.67.43.91"); // arbitrary
      Port testPort(15947); // ditto

      sock = setupDatagramSocket(env, testPort);
      if (sock < 0) break;

      if (!socketJoinGroup(env, sock, testAddr.s_addr))
   {
    env<<"Failed to socket Join Group\n";
    break;
   }


结果:

 if (setsockopt(socket, IPPROTO_IP, IP_ADD_MEMBERSHIP,
   (const char*)&imr, sizeof (struct ip_mreq)) < 0) {

一直失败:错误提示为: 10042:

修改为: if (setsockopt(socket, IPPROTO_IP, 12,
   (const char*)&imr, sizeof (struct ip_mreq)) < 0) {


因为不同的socket版本,定义IP_ADD_MEMBERSHIP 的值不同:

in socket ver1.0中:
#define IP_ADD_MEMBERSHIP 5

in socket ver2.0中:
#define IP_ADD_MEMBERSHIP 12
posted on 2012-10-15 21:54 TS,MPEG2,dvbc专家 阅读(5705) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。