lshl/live555 — pull request #13 by lshl (2014-03-26 08:28:22+00:00)
Title: Changes from 25/3/2014.

Changelog:
2014.03.25:
- We can now handle incoming RTCP packets that are multiplexed on the same port as RTP packets.
A "RTCPInstance" does this by 'registering' itself with the corresponding "RTPSource".
The "RTPSource" network handler then forwards any multiplexed RTCP packets to the
"RTCPInstance".
Multiplexed RTP/RTCP packets are signaled by an "a=rtcp-mux" line in the SDP descriptor.
- Allow a RTP-transmitting server to (optionally) multiplex RTCP on the same port as RTP.
If this is done, a "a=rtcp-mux" line (as defined in RFC 5761) will be automatically added
to the SDP description.
Also, if this option is chosen, the RTP (and RTCP) port may be odd-numbered.
For "OnDemandServerMediaSubsession"s, this option is specified via a parameter
"multiplexRTCPWithRTP" (default value: False) in the constructor, or using a new
public member function "multiplexRTCPWithRTP()".
For "PassiveServerMediaSubsession"s, this option is specified by passing (in "createNew()")
a "rtcpInstance" parameter that has the same 'groupsock' as the "rtpSink" parameter.
NOTE: RTSP clients that are built using previous versions of this library (or perhaps using
some other software) will not handle RTCP that's multiplexed with RTP. Therefore, this
option should be enabled ONLY IF you know that all RTSP clients will be using this version
of the software, or later.
- Fixed a bug in "QuickTimeFileSink" and "AVIFileSink" that could apparently cause a NULL
pointer to be dereferenced. (Thanks to Martijn van den Broek for reporting this.)
- Fixed an issue in the "RTPInterface" code that could cause "SetSpecificRRHandler()" to not
work properly when RTP/RTCP is being carried over TCP.