[Live-devel] Client issue with large IP packets during interrop tests
Ross Finlayson
finlayson at live555.com
Mon Apr 12 11:29:33 PDT 2010
IP fragmentation is a very bad idea, and should be avoided. (The
reason for this is that if any IP fragment is lost, the whole IP
packet will be discarded, even if the remaining fragments happened to
contain useful data.) Instead, RTP/UDP/IP packets should always be
small enough to fit within a network's MTU (even if the theoretical
maximum size of an IP packet is much larger). For almost all
networks, the MTU will be at least 1500 bytes, which is why we set
the maximum RTP packet size - by default - to 1448 bytes. Note the
call to
setPacketSizes(1000, 1448);
in "MultiFramedRTPSink.cpp".
If you want to increase this number (i.e., for a larger MTU), then
you can do this by calling "setPacketSizes()" on your
"MultiFramedRTPSink" (subclass) object. Note that you *do not* need
to modify the existing supplied source code to do this.
It is true, however, that we currently 'hardwire' a 7
Transport-Packets-per-RTP-packet limit when streaming Transport
Stream data - i.e., the definition of
"TRANSPORT_PACKETS_PER_NETWORK_PACKET" in
"MPEG2TransportFileServerMediaSubsession.cpp". This is one case
where you would need to modify the supplied code if you wanted to
change this.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list