[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