|
|
|
|
Changelog for live555-devel-2024.06.26-83.1.x86_64.rpm :
* Thu Jul 18 2024 Dirk Müller - update to 2024-06-26: * Updated the \"OnDemandServerMediaSubsession\" implementation to output an error message if the \"sink->startPlaying()\" call failed (e.g., due to its source not being compatible with the sink). This makes some common errors (e.g, a proper \'framer\' not being used) easier to detect.- update to 2024-05-30: * Fixed a mistake that caused the config file \"config.raspberrypi\" to not appear in the distribution.- update to 2024-05-15: * Added a new config file \"config.raspberrypi\" that is known to work for building the code on/for a Raspberry Pi 5.- update to 2024-05-05: * Updated \"QuickTimeFileSink\" to add support for recording H.265 video streams. (This is not fully working yet; it appears to have some bugs.)- update to 2024-04-19: * Updated \"MPEG2TransportStreamFramer\" to ignore big jumps (2x or more) in the estimate for the duration of each Transport packet. This is likely caused by an unexpected jump in the PCR (not indicated by \"discontinuity_indicator\").- update to 2024-03-08: * Changed \"ServerTLSState::setup()\" (in \"TLSState.cpp\") to call \"SSL_CTX_use_certificate_chain_file()\" instead of \"SSL_CTX_use_certificate_file()\", to allow the server operator to specify a chain of certificates, rather than just one.- update to 2024.02.28: * Updated the code for \"dateHeader()\" (in \"RTSPCommon.cpp\") to avoid using \"strftime()\", because that can produce a localized date string that violates the RTSP specification (which uses section 3.3.1 of RFC 2068 (the HTTP/1.1 specification) to define the \"Date:\" header).- update to 2024.02.23: * Updated the code for \"dateHeader()\" (in \"RTSPCommon.cpp\") to use \"NULL\" instead of \"nullptr\"; the latter was causing compilation problems for someone.- update to 2024.02.15: * Updated the RTCP implementation so that reception stats for a SSRC are no longer deleted, even if a SSRC is reaped due to RTCP inactivity (no RTCP \"SR\" reports received recently). * Thu Jul 18 2024 Dirk Müller - update to 2024. * Fri Mar 01 2024 pgajdosAATTsuse.com- Use %autosetup macro. Allows to eliminate the usage of deprecated %patchN * Sun Jan 14 2024 Takashi Iwai - update up to 2023.11.30: * In the implementation of the \"MPEGVideoStreamFramer\" class, gave \"TimeCode::operator==()\" the \"const\" qualifier, to make some compilers happy. * Performed the annual update of the copyright years near the start of each file- update to 2023.11.08: * Changed the signature to the virtual function \"getRTPSinkandRTCP()\" (in \"ServerMediaSubession\", and its subclasses \"OnDemandServerMediaSession\" and \"PassiveServerMediaSubsession\") to make its \'result\' arguments \"rtpSink\" and \"rtcp\" no longer \"const *\". There was no real reason to make those \"const *\".- update to 2023.11.07: * In the class \"GenericMediaServer\", made the variables \"fServerMediaSessions\", \"fClientConnections\", and \"fClientSessions\" \'protected\' rather than \'private\', to allow subclasses to access them if desired.- update to 2023.10.30: * Fixed a bug in \"deleteEventTrigger()\" that had accidentally been introduced during the change to \'event trigger\' implementation back in June.- update to 2023.07.24: * Updated the event trigger implementation once again, to allow for the possibility of developers redefining MAX_NUM_EVENT_TRIGGERS (it must always be <= the number of bits in an \"EventTriggerId\", though.- update to 2023.06.20: * Updated the event trigger implementation again - in the case where \"NO_STD_LIB\" is defined. In this case, \"fTriggersAwaitingHandling\" is implemented as an array of \"Boolean volatile\"s, rather than as a 32-bit bitmap. This should make \'race conditions\' less likely even if \"NO_STD_LIB\" is defined (though you should use the preferred, default implementation - that uses an array of \"std::atomic_flag\"s - if possible).- update to 2023.06.16: * Changed the (default) implementation of \'event triggers\' in \"BasicTaskScheduler\" to implement \"fTriggersAwaitingHandling\" using \"std:atomic_flag\"s, rather than as a bitmap. This should overcome \'race conditions\' that some users experienced when calling \"triggerEvent()\" from a non-LIVE555 thread. * Note that this is the first time the LIVE555 code has required the C++ standard library. (If you cannot use the C++ standard library, then you can compile the code - but getting the old behavior - by defining \"NO_STD_LIB\".) * Minor change to \"RTSPCommon.cpp\" to overcome a compilation error in XCode on Mac OS X.- update to 2023.06.14: * Fixed a bug in the Matroska file parsing code that could sometimes cause a \'use after free\' error. (bsc#1218758, CVE-2023-20573)- update to 2023.06.10: * Minor change to \"GroupsockHelper.cpp\" to overcome a compilation error in XCode on Mac OS X.- update to 2023.06.08: * Updated the \"dateHeader()\" function in \"RTSPCommon.cpp\" to use \"gmtime_r()\" instead of the older, non-thread-safe \"gmtime()\".- Applied workarounds for the build error with atomic_flag test * Mon May 29 2023 Dirk Müller - update to 2023.5.10: * Fixed a minor memory leak in the \"RTSPServer\" code. * Calls to \"send()\" and \"sendto()\" now explicitly take \"MSG_NOSIGNAL\" rather than 0 as the \'flags\' parameter. In most systems, 0 seems to work, but apparently not in Debian Linux. * Sat Jan 21 2023 Dirk Müller - update to 2023.01.19: - By default, we no longer compile \"groupsock/NetAddress.cpp\" for Windows to use \"gethostbyname()\", because of a report that this breaks IPv6 name resolution. * Mon Jan 16 2023 Dirk Müller - update to 2023.01.11: * Updated the \"BasicTaskScheduler\"/\"DelayQueue\" implementation to make the \'token counter\' a field of the task scheduler object, rather than having it be a static variable. This avoids potential problems if an application uses more than one thread (with each thread having its own task scheduler). * Fri Dec 02 2022 Dirk Müller - update to 2022.12.01: - Yet another fix to the previous fix for RTSP-over-HTTP streaming. - The previous version\'s fix to \"RTSPClient\" (for RTSP-over-HTTP streaming) was incomplete. This should fix it for real. - Fixed a bug in \"RTSPClient\" that would cause RTSP-over-HTTP streaming over TLS to sometimes fail. (Thanks to Johannes Gajdosik for reporting this.) - Fixed a bug that would cause a RTSP server to use an incorrect URL if it accepted connections via TLS, but *without * streaming SRTP. * Tue Nov 22 2022 Dirk Müller - update to 2022.11.19: - Added a new global variable \"ReceivingInterfaceAddr6\" (analogous to the existing variable \"ReceivingInterfaceAddr\" for IPv4) to allow applications to optionally change the default receiving address for IPv6. * Sun Oct 02 2022 Dirk Müller - update to 2022.10.01: - Updated the previous revision so that the virtual function \"specialHandlingOfAuthenticationFailure()\" is now called only if there is an actual authentication failure - not on the first time that we send back a \"401 Unauthorized\" response. - Added a new virtual function \"specialHandlingOfAuthenticationFailure()\" to \"RTSPServer\" to allow a subclassed \"RTSPServer\" to take special action (e.g., statistics logging) whenever an authentication failure occurs. * Fri Jul 22 2022 Dirk Müller - update to 2022.07.14: * use SHA-1 rather than MD5 to hash the latest tarball of our code * Fri Jun 24 2022 Dominique Leuenberger - Update to version 2022.06.16: + Both our RTSP client and RTSP server implementations now support (optional) RTSP-over-HTTPS streaming, when RTSP-over-TLS would otherwise be available.- Changes from version 2022.06.14: + Added optional support (via #ifdefs) to the \"testOnDemandRTSPServer\" demo application for streaming via RTSPS (RTSP-over-TLS) and optionally SRTP (encrypted RTP/RTCP). To use this, you would need to define SERVER_USE_TLS, and PATHNAME_TO_CERTIFICATE_FILE and PATHNAME_TO_PRIVATE_KEY_FILE. * Wed May 04 2022 Christophe Giboudeaux - Update to 2022.04.26: * Ensure that we don\'t call \"delete[]\" on an uninitialized pointer.- Changes from version 2022.04.15: * Fixed a \"fprintf()\" argument-order-evaluation bug in the \"mikeyParse\" demo application.- Changes from version 2022.04.12: * Updated the \"openRTSP\" application (RTSP command-line client) to add an option \'-L\', meaning: receive only an \"application\" (e.g., \'metadata\') track, if present, outputting the data to \'stdout\'. * Tue Feb 15 2022 Dominique Leuenberger - Update to version 2022.02.07: + Updated the SRTP packet sending code in \"MultiFramedRTPSink.cp\" to not allocate a variable-sized buffer on the stack, because some compilers can\'t handle this. + Ensure that RTSP servers that serve SRTP do not also support streaming over the TCP connection, because that would add extra overhead for no benefit.- Changes from version 2022.01.21: + Fixed a bug in the \"groupsock\" library that could cause outgoing RTP packets to get duplicated when a RTSP \"PLAY\" command is sent after a \"PAUSE\".- Changes from version 2022.01.20: + More updates to the code for optional server SRTP streaming.- Changes from version 2022.01.17: + More updates to the code in preparation for optional server SRTP streaming.- Changes from version 2022.01.11: + Fixed a minor memory leak in \"RTSPClient\" when receiving a SRTP stream. + Updates to \"RTPSink\" in preparation for optional server SRTP streaming.- Changes from version 2022.01.06: + Made \"GenericMediaServer::addServerMediaSubsession()\" a virtual function, and redefine it in the subclass \"RTSPServer\" to call the base function, then set the \"ServerMediaSubsession\"s \"streamingIsEncrypted\" flag (if the RTSP server is streaming SRTP). * Mon Dec 20 2021 Dominique Leuenberger - Update to version 2021.12.18: + Fixed a bug in the way that \"RTSPClient\" handles its two separate TCP connections when it does RTSP-over-HTTP. + Updated \"RTPInterface::sendDataOverTCP()\" so that if it\'s necessary to do a blocking send(), we call \"makeSocketNonBlocking()\" immediately after the call to \"send()\". + Performed the annual update of the copyright years near the start of each file. * Sat Dec 18 2021 Dirk Müller - update to 2021.12.07: - Added #ifndef NO_OPENSSL/#endif around \"#include \" in \"liveMedia/TLSState.cpp\", so that the code will compile if you\'re compiling with no OpenSSL headers, and NO_OPENSSL defined. * Mon Dec 06 2021 Dirk Müller - update to 2021.11.23: * Updated the \"RTSPServer::setTLSState()\" function to take an optional parameter \"weServeSRTP\". For now, the default value of this parameter is False, but it will get changed to True later, when we implement server-side SRTP. * Updated the RTSP server implementation to (optionally) support connections via TLS. * Updated the \"TLSState\" interface and implementation to (1) reduce the amount of stuff that the compiler gets to see if you\'re compiling with NO_OPENSSL defined, and (2) add a new subclass \"ServerTLSState\" that will eventually be used to implement optional TLS connections to our RTSP server. * Split the \"TLSState\" class into two classes: \"TLSState\" (an abstract base class), and \"ClientTLSState\" (a subclass). This is in preparation for later defining second subclass \"ServerTLSState\" that will eventually be used to implement TLS connections in our RTSP server. * Updated the implementation of AES encryption/decryption (used by our client SRTP implementation) to use the new OpenSSL EVP interface. This makes it possible to use hardware acceleration (e.g., AES-NI), when it is available. * Updated the \"RTSPClient\"s implementation of receiving RTP/RTCP-over-TCP so that it will also work over a RTSP-over-TLS (including RTSPS) connection. * Fixed a bug in \"MatroskaFileParser\" that could cause delivery of data to a downstream object that wasn\'t expecting it (potentially causing an invalid memory access). * The final (I hope!) update to eliminate a \"depends on uninitialised value\" report from \'valgrind\'. * Mon Aug 23 2021 Fusion Future - Update to 2021.08.23: * Updated the \"readSocket()\" code in \"GroupsockHelper.cpp\" yet again to try to eliminate another (alleged) \"depends on uninitialised value\" report from \'valgrind\'. (If, after this, you still see this, then your implementation of \"recvfrom()\" is broken.)- Changes in 2021.08.19: * Updated the \"readSocket()\" code in \"GroupsockHelper.cpp\" to eliminate another possible \"depends on uninitialised value\" report from \'valgrind\'.- Changes in 2021.08.18: * Updated the \"readSocket()\" code in \"GroupsockHelper.cpp\" to eliminate a \"depends on uninitialised value\" report from \'valgrind\'.- Changes in 2021.08.17: * Updated the \'groupsock\' \"setPortNum()\" function to not rely upon the \"ss_family\" family field, in case it\'s uninitialized.- Changes in 2021.08.14: * Fixed a minor bug in the previous release (\"delete\" should have been \"delete[]\")- Changes in 2021.08.13: * Fixed a bug in \"MPEG1or2Demux\" that could cause a \'reading twice at the same time\" abort when streaming from a MPEG Program Stream file. (boo#1189726, CVE-2021-39283) * Fixed a potential memory leak in \"AC3AudioStreamFramer\". (boo#1189725, CVE-2021-39282) * Thu Aug 12 2021 Fusion Future - Update to 2021.08.09: - Fixed a bug in the MPEG-1 or 2 file server demultiplexors that could cause a RTSP server to crash if it received successive RTSP \"SETUP\" commands for the same track. (Thanks to Ba Jinsheng for reporting this.)(boo#1189352, CVE-2021-38381)- Update to 2021.08.06: - Fixed a bug in the Matroska and Ogg file server demultiplexors that could cause a RTSP server to crash if it received successive RTSP \"SETUP\" commands for the same track. (Thanks to Ba Jinsheng for reporting this.)(boo#1189353, CVE-2021-38382)- Update to 2021.08.04: - In the \"MP3FileSource\" implementation, we no longer do a recursive call to \"doEventLoop()\" when attempting to synchronously read from a MP3 file. This avoids a possible stack overflow in the RTSP server if multiple concurrent requests are made. (Thanks to Ba Jinsheng for reporting this.) The server still does some synchronous reads, when initializing, and when parsing MP3 frame headers. This should be fixed sometime in the future. (boo#1189351, CVE-2021-38380)- Update to 2021.07.20: - If a \"RTSPClient\" receives a response to a RTSP \"PLAY\" that changes the \'scale()\' or \'speed()\' of the whole session, then those parameters also need to be changed in each subsession (as that inheritance doesn\'t happen automatically). (Thanks to a developer in China for reporting this.)- Update to 2021.07.10: - Updated \"H264or5VideoStreamFramer.cpp\" once again to set the default value of \"DeltaTfiDivisor\" to 2.0 for H.265, and 1.0 for everything else. (This fixes the frame rate for another stream supplied by Paul Westlund.)- Update to 2021.06.29: - In the proxy server implementation, if a client closes one substream, but there are still other clients receiving other substream(s), then we no send a single-track RTSP \"PAUSE\" command downstream, because some back-end servers might handle that by pausing all tracks of the stream. So now, in this case, we don\'t send a RTSP \"PAUSE\" command at all. (Thanks to Jose Maria Infanzon for noting this issue.)- Update to 2021.06.25: - Updated \"H264or5VideoStreamFramer.cpp\" to set the default value of \"DeltaTfiDivisor\" to 1.0 (rather than 2.0), and to assume a frame rate of 30 fps (rather than 25 fps) if there is no VPS or SPS NAL unit that specifies a different frame rate. This seems to work the best for most raw H.264 and H.265 video streams. (Thanks to Paul Westlund for supplying an example file to motivate this.)- Change the so version of libliveMedia to 97 * Thu Jun 17 2021 tiwaiAATTsuse.de- Update to 2021.05.22: lots of fixes and updates, including the security fix for CVE-2021-28899 boo#1185874 See the list in http://live555.com/liveMedia/public/changelog.txt- Change the so version of libliveMedia to 94, libgroupsock to 30 * Sun Oct 18 2020 Dirk Mueller - update to 2020.10.16: - Changed \"TLSState::read()\" to treat any \"SSL_read()\" result of <=0 as if the TLS connection has closed (unless the error was SSL_ERROR_WANT_READ). This fixes a problem that could cause 100% CPU usage in RTSP client applications. (Thanks to Larry Wu for reporting this.) - Updated \"TLSState::setup()\" to use \"TLS_client_method()\" instead of the (deprecated) \"SSLv23_client_method()\". * Sat Oct 03 2020 Dirk Mueller - update to 2020.08.19: - Fixed a bug in \"QuickTimeFileSink\" that could cause malformed \"esds\" atoms to be generated. (Thanks to Chris Paucar for reporting this issue.) - In \"MPEG2TransportStreamFromESSource.cpp\", changed the name of the constant LOW_WATER_MARK to TS_FROM_ES_LOW_WATER_MARK, and \"#ifndef\"d it, so that, if you wish, you can redefine it at compile time. - Fixed a bug in the handling of pausing, when streaming from (multi-track) Matroska files. - Fixed another bug in the handling of seeking within Matroska files. - Fixed a bug in the handling of seeking within Matroska files. (Thanks to Jim Ham for reporting this problem.) - Changed the parameter signature of the \"RawVideoRTPSink\" constructor and \"createNew()\" functions so that the \"width\" parameter comes before the \"height\" parameter. This order - \"width\", \"height\" - is more common, and is the order used when these parameters are defined in RFC 4175. IMPORTANT NOTE: Because the types of these two parameters are the same, existing application code that uses \"RawVideoRTPSink\" will compile without error; however, it will not work properly unless the order of the parameters in the call to \"RawVideoRTPSink::createNew()\" is changed. - More cleanup of the implementation of \"RawVideoRTPSink\". - Cleaned up the implementation of \"RawVideoRTPSink\". - Updated the \"RawVideoRTPSource\" implementation to not set \"fCurrentPacketCompletesFrame\" until we are processing the last line in the packet. (Thanks to Andrey Lisovoy for reporting this issue.) - Fixed a potential buffer overflow bug in the server handling of a RTSP \"PLAY\" command, when the command specifies seeking by absolute time. (Thank to Xiaobo Xiang for reporting this.) - Fixed a memory leak in the \"sha1()\" function (a \"EVP_MD_CTX\" object was not being deleted). (Thanks to Amir Perlman for reporting this.) - Moved all definitions of PREFIX from \"Makefile.tail\" files to \"Makefile.head\" (so that it can be redefined by a \"config. *\" file, if desired. Also changed the definition of EXE in \"config.mingw\" to be \".exe\". (Thanks to Eric Beuque for this suggestion.) - Fixed a typo in the previous release that could cause a compilation problem for some developers. (Thanks to Eric Beuque for reporting this.) * Thu Jun 04 2020 Dominique Leuenberger - Update to version 2020.05.15: + Added a new filter class \"ADTSAudioStreamDiscreteFramer\" that prepends ADTS headers to incoming AAC audio frames. This makes the AAC audio playable (by media players). + Updated \"openRTSP\" to use a \"ADTSAudioStreamDiscreteFramer\" when outputting a AAC audio stream. + Updated the \"LIVE555 HLS Proxy\" to support AAC audio tracks (as well as H.264/5 video).- Changes from version 2020.05.14: + Updated \"H264or5VideoStreamDiscreteFramer\" to add VPS,SPS,PPS NAL units (if known) to the output stream, each time an \"access_unit_delimiter\" NAL unit is added. This makes it more likely that the Transport Stream segments produced by the \"LIVE555 HLS Proxy\" will be understandable by a client browser. + Added support for H.265 video streams to the \"LIVE555 HLS Proxy\".- Changes from version 2020.05.13: + Made the \"MPEG2TransportStreamMultiplexor\" segmentation mechanism (used by \"HLSSegmenter\") more robust in case the Transport Stream PTS is not monotonic non-decreasing. * Tue Apr 28 2020 Dominique Leuenberger - Update to version 2020.04.24: + Fixed an apparent bug in \"RTSPClient\" that was causing it to not always send an \"Authorization:\" header when sending a RTSP \"OPTIONS\" command. * Thu Apr 23 2020 munix9AATTgooglemail.com- Added pkgconfig(openssl) as a requirement for the devel package: iveMedia/TLSState.hh #includes openssl/ssl.h. * Tue Apr 14 2020 munix9AATTgooglemail.com- Update to version 2020.04.12: + Updated \"config.linux-with-shared-libraries\" (and \"liveMedia/Makefile.tail\") to ensure that \"libssl\" and \"libcrypto\" are linked when \"libliveMedia\" is built. (Thanks to Felix Kaechele for reporting this.)- Changes from version 2020.04.06: + Removed support for the classes \"RTSPServerSupportingHTTPStreaming\" and \"TCPStreamSink\". These were being used (in the \"LIVE555 Media Server\") for streaming using \"HTTP Live Streaming\" (HLS). This was always a hack; it is better to use a dedicated HTTP server to serve HLS segments, rather than trying to implement a HTTP server (serving \'virtual HLS segments) within our own (primarily RTSP) server. If you are looking for HLS support, note that we provide a source-code demo application \"testH264VideoToHLSSegments\" that converts a (static) H.264 Elementary Stream file to HLS segments, and the \"LIVE555 HLS Proxy\", which proxies a live RTSP/RTP stream to HLS segments. * Thu Apr 02 2020 Dominique Leuenberger - Update to version 2020.03.06 (boo#1146283, CVE-2019-15232): + Fixed a problem in \"H264or5VideoStreamFramer.cpp\" that was allegedly causing problems compiling for Windows.- Changes from version 2020.02.25: + Added full support for the \"LIVE555 HLS Proxy\"- Changes from version 2020.02.24: + Commented out a line of code that was preventing \"RTSPClientConnection\" objects from being closed when a RTSP server handles a \"TEARDOWN\" command (on a RTP-over-TCP stream).- Changes from version 2020.02.23: + Updated our (unicast) RTSP server implementation to handle \"PAUSE\" commands by calling \"stopGettingFrames()\" on the input source. + Fixed a bug in \"H264or5VideoStreamFramer\" that was causing it to not update its presentation times properly following a pause. + Updated \"openRTSP\" to improve the handling of the \"-R \" option.- Changes from version 2020.02.11: + Added support for receiving SRTP (encrypted) RTSP streams.- For changes between 2019.06.28 and 2020.02.10, please see the http://www.live555.com/liveMedia/public/changelog.txt.- Rebase live555-fpic.patch.
|
|
|