2008-07-26 16:44:34 +02:00
|
|
|
# $NetBSD: Makefile,v 1.17 2008/07/26 14:44:34 tonio Exp $
|
2003-04-05 00:37:33 +02:00
|
|
|
#
|
|
|
|
|
2008-07-26 16:44:34 +02:00
|
|
|
DISTNAME= live.2008.07.25
|
2008-07-17 12:11:19 +02:00
|
|
|
PKGNAME= lib${DISTNAME:S/./-/:S/.//g}
|
2003-04-05 00:37:33 +02:00
|
|
|
CATEGORIES= net
|
2006-11-19 23:36:20 +01:00
|
|
|
MASTER_SITES= http://www.live555.com/liveMedia/public/
|
2003-04-05 00:37:33 +02:00
|
|
|
|
2006-03-04 22:28:51 +01:00
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
2006-11-19 23:36:20 +01:00
|
|
|
HOMEPAGE= http://www.live555.com/liveMedia/
|
2003-07-21 19:10:16 +02:00
|
|
|
COMMENT= Set of C++ libraries for multimedia streaming
|
2003-04-05 00:37:33 +02:00
|
|
|
|
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.)
2008-04-26 13:38:43 +02:00
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
|
|
|
2004-01-20 13:18:15 +01:00
|
|
|
WRKSRC= ${WRKDIR}/live
|
2006-07-31 23:08:03 +02:00
|
|
|
USE_LANGUAGES= c c++
|
2003-04-05 00:37:33 +02:00
|
|
|
USE_LIBTOOL= YES
|
|
|
|
|
2005-06-17 05:50:19 +02:00
|
|
|
INSTALLATION_DIRS= bin lib
|
|
|
|
|
2003-04-05 00:37:33 +02:00
|
|
|
do-configure:
|
|
|
|
${CP} ${FILESDIR}/config.netbsd ${WRKSRC}
|
2006-03-22 23:51:52 +01:00
|
|
|
${CP} ${FILESDIR}/config.netbsd ${WRKSRC}/config.dragonfly
|
2008-07-26 16:44:34 +02:00
|
|
|
${CP} ${FILESDIR}/config.netbsd ${WRKSRC}/config.darwin
|
2003-04-05 00:37:33 +02:00
|
|
|
cd ${WRKSRC} && ${SH} ./genMakefiles ${LOWER_OPSYS}
|
|
|
|
|
|
|
|
do-install:
|
|
|
|
.for lib in BasicUsageEnvironment UsageEnvironment groupsock liveMedia
|
|
|
|
cd ${WRKSRC}/${lib} && \
|
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.)
2008-04-26 13:38:43 +02:00
|
|
|
${LIBTOOL} --mode=install ${INSTALL_LIB} lib${lib}.la ${DESTDIR}${PREFIX}/lib
|
2008-07-17 12:11:19 +02:00
|
|
|
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/include/${lib}
|
2003-04-05 00:37:33 +02:00
|
|
|
cd ${WRKSRC}/${lib}/include && \
|
|
|
|
for i in *.h *.hh ; do \
|
|
|
|
[ ! -f $$i ] || \
|
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.)
2008-04-26 13:38:43 +02:00
|
|
|
${INSTALL_DATA} $$i \
|
2008-07-17 12:11:19 +02:00
|
|
|
${DESTDIR}${PREFIX}/include/${lib} ; \
|
2003-04-05 00:37:33 +02:00
|
|
|
done
|
|
|
|
.endfor
|
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.)
2008-04-26 13:38:43 +02:00
|
|
|
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/examples/liblive
|
2006-11-19 23:36:20 +01:00
|
|
|
.for bin in testMP3Streamer testMPEG1or2VideoStreamer \
|
|
|
|
testMPEG1or2AudioVideoStreamer testMPEG2TransportStreamer \
|
|
|
|
testMPEG4VideoStreamer testWAVAudioStreamer testAMRAudioStreamer\
|
|
|
|
vobStreamer testMP3Receiver testMPEG1or2VideoReceiver sapWatch \
|
|
|
|
testRelay testOnDemandRTSPServer testMPEG1or2AudioVideoToDarwin \
|
|
|
|
testMPEG4VideoToDarwin openRTSP playSIP testMPEG1or2Splitter \
|
|
|
|
testMPEG1or2ProgramToTransportStream
|
2003-04-05 00:37:33 +02:00
|
|
|
cd ${WRKSRC}/testProgs && \
|
2006-11-19 23:36:20 +01:00
|
|
|
${LIBTOOL} --mode=install ${INSTALL_PROGRAM} \
|
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.)
2008-04-26 13:38:43 +02:00
|
|
|
${bin} ${DESTDIR}${PREFIX}/share/examples/liblive
|
2003-04-05 00:37:33 +02:00
|
|
|
.endfor
|
|
|
|
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|