Moved source to https://github.com/columbia-irt/rtptools
Listing only major changes, see details in git log.
typedef unsigned char u_int8etc with
stdint.htypes. (Jan Stary)
recvmsg()on Solaris. (Jan Stary)
glibc is a feature-full C library, which has had support for Yellow Pages (and the rest of the SUN RPC stuff) for a long time. However, circa the 2.14 release, glibc stopped installing the RPC headers , on the principle that providing the RPC implementation would be better served by a third-party package, namely ti-rpc . That did not happen in time, so installing the RPC headers from glibc was re-instated circa 2.16.
uClibc (no longer maintained, replaced by a fork, uClibc-ng) is a fully configurable C library for embedded systems. It entirely lacks a SUN RPC implementation altogether.
musl is standards-conforming, lightweight C library. It also entirely lacks a SUN RPC implementation.
TI-RPC is a stand-alone package. It may or may not be available (because the user may not need SUN RPC stuff on an embedded device, for example). Besides, it is not yet as feature-full as the implementation in glibc, though for all practical means, it is totally useable.
So, there are cases where a SUN RPC implementation is not available.
This patch makes it so that the use of Yellow Pages is conditional on the presence of a SUN RPC implementation, by checking at ./configure whether the required header is present, and disabling the corresponding code if the header is missing.
At the same time, the legacy, long unsupported AM_C_PROTOTYPES directive is also removed, as it makes recent-ish autoconf fail.
Nick Birch (Nick.Birch@s-and-t.com): rtpsend -l (loop) flag does not work. Modified to rewind input file on feof if loop was set. Fails if length of line is greater than 2048 characters. Increased to 4096 (sufficient for typical MTU-sized message such as 7 MPEG TS packets)
rtpdump: Put space after ext_data=<hex extension data> so that it can be parsed by rtpsend. parse_header doesn't comprehend the possible extension header. As a consequence any extension header data is also dumped twice. Once in the ext_data report and then a second time in the data report. Modify parse_header to return hlen that comprehends the extension header if present.
The format for reporting contributing sources does not match the format accepted by rtpsend (i.e., reports "csrc[n] = xxxx" rather than "csrc[n]=0xxxxx"). Fixed. Note: the documentation is less than clear on the csrc syntax accepted by rtpsend.
parse()routine should store
unsigned longinto n->num, instead of
int. This caused an error for large SSRC values. (Ping Pan)
rtpsend(). (Ping Pan)
packet.p.hdr.plen = ctrl ? 0 : len;[David M., email@example.com]
rtpdump -ffile now shows a "from" address of 0.0.0.0:0.
-xflag supported for dump format so that only RTP/RTCP and media headers are logged.