[Live-devel] live555MediaServer: RTP source address does not match RTSP source address

David Stegbauer david.stegbauer at acision.com
Wed Sep 22 03:19:32 PDT 2010


Hello Ross,

when I run live555MediaServer on linux, it listens on all network interfaces. 
Lets say I have two: 172.16.105.9 and 172.16.105.3.
Lets suppose I start RTSP communication  from RTSP client (openRTSP on 
172.16.105.8) to server on 172.16.105.9. Client sends SETUP command, server 
responds and there is header
Transport: 
RTP/AVP;unicast;destination=172.16.105.8;source=172.16.105.9;client_port=10004-10005;server_port=6970-6971
So far so good.
But now in response to PLAY, the live555MediaServer starts to transmit RTP 
packets from interface 172.16.105.3. See attached dump, can be viewed by 
wireshark.

I have analyzed the code and I think the problem is that the RTP source socket 
(in live555MediaServer) has INADDR_ANY.
As a quick hack I have patched RTSPServer.cpp, see attachment. I know that the 
preferred way is to subclass, I do not ask for inclusion, I just ask for your 
advice.

My questions are:
 Am I really supposed to set SendingInterfaceAddr and ReceivingInterfaceAddr 
(defined in GroupSockHelper.cpp lines 35-36)?
 Are there any undesirable interferences between RTSPServer::RTSPClientSession 
instances if I use my hack? I don't see any as live555 is not multithread.
 Do you suggest to me to subclass, to use the above mentioned hack, or even to 
modify GroupSockHelper.cpp (setupDatagramSocket, socketJoinGroup, 
socketJoinGroupSSM) and OnDemandServerMediaSubsession
::getStreamParameters?

Best Regards
David Stegbauer


This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump_server
Type: application/octet-stream
Size: 49974 bytes
Desc: dump_server
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100922/4cb993f2/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtspserver.diff
Type: text/x-patch
Size: 1416 bytes
Desc: rtspserver.diff
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100922/4cb993f2/attachment-0001.bin>


More information about the live-devel mailing list