Path to this page:
Subject: CVS commit: pkgsrc/net/liblive
From: OBATA Akio
Date: 2008-04-26 13:38:43
Message id: 20080426113843.666E0175D0@cvs.netbsd.org
Log Message:
Update liblive to 2008.04.09.
draw upon a patch to update for 2007.01.17 in PR 38038
While here, add DESTDIR support and fix permission of installed libraries.
2008.04.09:
- Corrected a type-related bug in "RTPInterface::handleRead()". \
(Thanks to Brain Lai for noting this.)
- Fixed a bug in "RTSPClient" that would prevent RTCP "RR" \
reports from being sent to
the correct multicast address when we are receiving a multicast stream. \
(Thanks to Changjin Liu for noticing this.)
2008.04.03:
- Fixed a bug that was introduced in the "2007.12.27" release. The \
"timeout" parameter to the call to
"readSocket" in "SocketDescriptor::tcpReadHandler()" in \
"RTPInterface.cpp" needed to be initialized
(to zero) first. (Thanks to Lodewijk Loos for alerting us to this problem.)
- Added a new config file "config.bfin-linux-uclibc", and renamed \
"config.bfin_uclinux" as "config.bfin-uclinux".
(Thanks to Mike Frysinger.)
2008.02.08:
- Added a hack (suggested by "Romain") to \
"MPEG2TransportStreamFramer" to (perhaps)
produce more accurate per-transport-packet duration estimates for wildly VBR \
streams.
- Updated "MPEG2TransportStreamMultiplexor" to support the addition of \
MPEG-4 Audio or Video Elementary Streams.
- Updated "RTSPOverHTTPServer.cpp" (a work in progress) so that it \
complies properly for some versions of
Visual Studio on Windows. (Thanks to Eric Flickner for noting this.)
2008.01.19:
- Corrected the "getNormalPlayTime()" function - introduced in the \
previous release - to allow for 'trick play'
scale factors other than 1.
2008.01.18:
- Added a new member function
float MediaSubsession::getNormalPlayTime()
which - given a stream's current presentation time - returns the "Normal \
Play Time".
This function is useful for RTSP streams.
- Added support for a "a=control:" URL specified in the SDP \
description at the session level.
2008.01.04:
- Changed the "RTSPClient" timeout - introduced in the previous \
release - from
5s to 30s.
- Added support for setting and returning the RTSP session start time (as well \
as the end time).
(This eliminates the need for the "live-starttime.patch" file that \
VLC was using.)
- Updated some of the system-specific configuration files, to eliminate the need \
for many of the patches that
the VLC developers added to their code.
2007.12.27:
- Added a 5s timeout to the "RTSPClient" code that checks for RTSP \
responses.
This mirrors a change that was already being done to VLC's copy of the code.
(This is still a short-term fix, until the "RTSPClient" code is \
rewritten to
properly use asynchronous I/O, using the event loop.)
- Added a timeout to the "readSocket()" call in \
"SocketDescriptor::tcpReadHandler()" in "RTPInterface.cpp",
to handle reading RTP-over-TCP data. This allows for the possibility of \
non-cooperative RTSP clients.
(Thanks to Peter Leese for this suggestion.) This is probably not a complete \
solution;
more thought is needed...
2007.12.07:
- Fixed "H2633plusVideoFileServerMediaSubsession" to properly use a \
dynamic RTP payload type, rather than the
static type 34 (which is reserved for the now-obsolete old \
"video/H263" RTP payload format).
2007.12.06:
- Updated "JPEGVideoRTPSource" to take optional 'default width' and \
'default height' parameters.
These parameters can be set by fields in the SDP description, and can be used \
to specifiy unusually
large frame widths and/or heights. (Thanks to Andrey Filippov.)
2007.11.18:
- Fixed a couple of memory leaks in "DarwinInjector". (Thanks to Eyal \
Beit-Halachmi for noting these.)
- Removed old 'backwards compatibility' stuff from "FramedSource". \
(Noone should be relying upon this any more.)
- Fixed a bounds-checking error in "parseRTSPRequestString()" caused \
by an int vs. unsigned problem.
(Thanks to Luigi Auriemma for noting this.)
- In "RTSPClient.cpp", fixed a couple of "unsigned" vs. \
"int" nits. (Thanks for Brain Lai for noting this.)
2007.11.01:
- Several of the options to "openRTSP" have now been changed, with two \
new options added:
-s <initial-seek-time>
-z <scale>
See the "openRTSP" documentation \
<http://www.live555.com/openRTSP/> for details.
- Fixed a bug in the way that "MPEG4VideoStreamDiscreteFramer" parses \
'config' information (for inclusion in
the stream's SDP description). (Thanks to Nicola Bova for helping to identify \
this bug.)
- Eliminated a potential memory (and socket) leak when allocating server \
RTP,RTCP socket pairs.
(Thanks to David Pan for reporting this.)
- Updated "ByteStreamFileSource" to treat a 0-byte file read the same \
as EOF.
- Ensure that we have reasonable OS buffering for writes on non-blocking sockets.
2007.08.03a:
- Removed a debugging printf() that had been left in by mistake. (Thanks to \
Massimo Zito for noticing this.)
2007.08.03:
- Updated the "RTSPServer" implementation to work better on systems \
with more than one IP address.
The server will now include - in its RTSP responses - the IP address on which \
the corresponding incoming request
was received.
2007.07.25:
- Added some sanity checks to various "MediaSink" subclasses, in case \
"fSource" is NULL.
(Thanks to Andrey Kaminsky for noting one of these.)
2007.07.10:
- Made sure that "MPEG2TransportStreamFramer"s estimate of the average \
duration of each Transport Packet
gets updated correctly after each 'seek' operation. (Thanks to Massimo Zito \
for suggesting this.)
- Fixed a bug in "MPEG2TransportStreamFromESSource" that was causing \
presentation
timestamps to not be generated correctly. (Thanks to Massimo Zito for \
noticing this.)
2007.07.01:
- Fixed a bug in "RTSPServer" and "RTSPClient" that would \
cause problems when streaming
files whose names have spaces in them.
- Fixed a bug in "OnDemandServerMediaSubsession::deleteStream". \
(Thanks to Igor Bukanov.)
- Make the sockets for "RTPSource", "RTCPInstance" and \
"BasicUDPSource" non-blocking, even though they will be read
from only asynchronously, when packets arrive. The reason for this is that, \
in some OSs, reads on a blocking
socket can (allegedly) sometimes block, even if the socket was previously \
reported (e.g., by "select()") as
having data available. (This can supposedly happen if the UDP checksum fails, \
for example.)
(Thanks to Marc Neuberger for pointing this out.)
- Fixed a bug in "MPEG2TransportFileServerMediaSubsession.cpp" that \
was causing 2x
fast-forward to fail. (Some debugging code had been left in by mistake.)
2007.05.24:
- Modified "setupDatagramSocket()" to better handle setting \
"ReceivingInterfaceAddr" when creating a socket
to be used to send/receive multicast.
- Made a couple of minor changes to overcome some compilation errors that some \
people were apparently seeing.
2007.05.23:
- The RTSP server now includes the "source=" parameter in the response \
to a RTSP "SETUP" command.
This works around a bug in QuickTime Player that would cause it to not send \
RTCP "RR" packets
(when playing a unicast stream, and running on Mac OS X). (Thanks to Dave \
Singer et al at Apple for tracking
down this problem.)
- The RTSP server implementation no longer terminates the session if it returns \
400 or 405 errors.
2007.04.24a:
- Fixed a problem in the new "RTSPOverHTTPServer" code that was \
causing some people compilation problems.
2007.04.24:
- Fixed a typo in "testOnDemandRTSPServer.cpp". (Thanks to Nils \
Grundback for noticing this.)
- Modified the signature of "RTSPServer::specialClientAccessCheck()" \
(defined in the previous revision) to add
a new "clientAddr" parameter (a "struct sockaddr_in"), to \
allow special access checking based on clients' IP
address.
- Make sure that the locale is set to "POSIX" when calling \
"toupper()" or "tolower()" on human-supplied strings.
(Thanks to Ismail Doenmez for noting this.)
2007.04.20:
- Modified "MPEG2TransportStreamMultiplexor" to set the \
"discontinuity_indicator" flag for the first
"adaptation_field" in the output Transport Stream.
- Changed "AMRAudioRTPSource" to more accurately report whether/when \
an interleaved frame's timestamp has
been synchronized using RTCP.
(Thanks to David Bertrand for this patch.)
- Made to a small fix to the previous revision's support for multicast streaming \
of raw UDP (nonstandard)
- Added a virtual function to "OnDemandServerMediaSubsession" for \
closing the stream source.
Subclasses can redefine this, if they wish, to do something smarter. (Thanks \
to Igor Bukanov for this patch.)
- Added support to "RTSPServer" for optionally performing special \
per-client access control, beyond the
standard Digest Authentication method. (Thanks to Igor Bukanov for this patch.)
- Made a minor optimization to "Groupsock.cpp". (Thanks to Maxim \
Petrov for this suggestion.)
- Added an initial implementation of RTSP-over-HTTP at the server level (it was \
already supported at the client level).
(Note: This code has not yet been completed, and doesn't yet work, so don't \
try to use it.)
2007.02.20:
- Updated "RTSPServer" to support multicast streaming of raw UDP \
streams (nonstandard).
(Thanks to Aesmund Grammeltvedt for this modification.)
- Made "RTSPClient" a little more robust in case the TCP connection fails.
- Made "RTPSink::rtpmapLine()" virtual (as requested by Andrew Voznytsa).
- Removed an archaic (no longer used) declaration in \
"groupsock/include/Groupsock.hh".
- Added an optional "allowKasennaProtocol" parameter to \
"RTSPClient::describeWithPassword()"
(similar to "RTSPClient::describeURL()"). (Thanks to Igor Bukanov \
for this suggestion.)s
2007.01.17:
- Fixed a bug that would cause the "MPEG2TransportStreamIndexer" \
application to fail when run on a big-endian
architecture.
- Added a new class "H264VideoFileSink", that prepends each incoming \
H.264 NAL unit with the prefix 0x000001,
before writing it to the file. Also updated the "openRTSP" code to \
use this, when receiving H.264/RTP streams.
(Thanks to Chris Kuiper for contributing this.)
- Added a temporary #ifdef to "GroupsockHelper.cpp" to work around a \
compliation problem when building
for Cygwin.
2007.01.11:
- Improved the "MPEG2IndexFromTransportStream" class to recogize \
Transport Stream
PAT and PMT (tables). This in turn makes the \
"MPEG2TransportStreamIndexer"
utility more robust.
- Fixed a minor bug in "MPEG2TransportStreamFromESSource".
2007.01.09:
- Added RTSP server support for 'trick play' operations on MPEG-2 Transport Stream
files. This requires the presence of a ".tsx" index file for each \
".ts" file.
(This functionality will shortly be documented on the LIVE555 web site,
and announced on the "live-devel" mailing list.)
- Improved the performance of asynchronous file reading in \
"ByteStreamFileSource".
(Thanks to Aesmund Grammeltvedt for this suggestion.)
- Added "-D_FILE_OFFSET_BITS=64" to the "COMPILE_OPTS" line \
for each of the Linux config files, in order to
alleviate possible problems with I/O on large files.
2006.12.31:
- We now implement "ByteStreamFileSource" on Windows using synchronous \
file reads,
by default. I had thought that Windows XP had fixed the problem - present in
earlier versions of Windows - whereby open files are not treated as select()able
sockets. But apparently the problem is still there.
- Added code that will - probably in the next release, very soon - support server
'trick mode' operations on MPEG-2 Transport Stream files. At present, we have two
new applications - in the "testProgs" directory - that help support this:
"MPEG2TransportStreamIndexer" (to create a special index file for a \
Transport Stream
file), and "testMPEG2TransportStreamTrickPlay" (to generate a new \
Transport Stream
file that simulates a 'trick play' operation performed on the original Transport
Stream file). See my forthcoming post to the "live-devel" mailing \
list for more
details.
- Fixed a bug in the Base64 encoding routine. (Thanks to Sebastian Gracias for \
reporting this.)
2006.12.08:
- Made sure that each TCP socket used by a "RTSPserver" is \
non-blocking, so that a slow or hanging client
cannot hang a server. (Thanks to "jers (at) inwind.it" for this \
suggestion.)
Files: