RTCP协议的SDES items字段中多出两个字节,是怎么回事?在线等,急!

wisdom7730 2011-07-01 09:19:06
我现在在做一个项目,需要板子跟pc通信,使用jrtplib库进行rtp/rtcp通信,现在的问题是能通信,但是播不了。
抓包后发现在SDES items下多出两个字节,如下设置好了cname和note:

sessparams.SetCNAME(cname);
sessparams.SetOwnTimestampUnit(1.0/2.0);
sessparams.SetAcceptOwnPackets(true);
transparams.SetPortbase(1000);
status = sess.Create(sessparams,&transparams);

unsigned int destip = inet_addr("192.168.20.46");
destip = ntohl(destip);
RTPIPv4Address addr(destip,destport);

// sess.SetNameInterval(-1);
sess.SetNoteInterval(1);

//status = sess.SetLocalName("v1(h264)",strlen("v1(h264)"));
status = sess.SetLocalNote("m=3;br=256;fr=10;w=352;h=240",strlen("m=3;br=256;fr=10;w=352;h=240"));

但是抓包提示以下错误:

SDES items
Type: CNAME (user and domain) (1)
Length: 8
Text: \004
Type: Unknown (52)
Length: 41
[Malformed Packet: RTCP]
Expert Info (Error/Malformed): Malformed Packet (Exception occurred)
Message: Malformed Packet (Exception occurred)

0000 81 ca 00 0d b2 20 c0 e6 01 08 04 00 76 31 28 68 ..... ......v1(h
0010 32 36 34 29 07 1c 04 00 6d 3d 33 3b 62 72 3d 32 264)....m=3;br=2
0020 35 36 3b 66 72 3d 31 30 3b 77 3d 33 35 32 3b 68 56;fr=10;w=352;h
0030 3d 32 34 30 00 00 00 00 =240....

也就是说在v1(h264)前面多出了两个字节04 00,请高手帮忙解答一下。万分感谢!在线等。。
...全文
377 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wisdom7730 2011-07-01
  • 打赏
  • 举报
回复
问题解决了,是字节对齐的问题,有两个char构成一个struct,不够四个字节,按四个字节来算。
默认是四个字节对齐
当我遇上-你 2011-07-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wisdom7730 的回复:]
我在pc上相同的程序,抓包结果是对的,但是在板子上就解析错误,这是为啥啊?寻求高手帮忙解决,急啊。郁闷了好久。。
[/Quote]
啥板子啊?运行环境是能跟PC一样?
wisdom7730 2011-07-01
  • 打赏
  • 举报
回复
我在pc上相同的程序,抓包结果是对的,但是在板子上就解析错误,这是为啥啊?寻求高手帮忙解决,急啊。郁闷了好久。。

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧