VDR version 2.4.4 is now available at
ftp://ftp.tvdr.de/vdr/vdr-2.4.4.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-2.4.1-2.4.4.diff
MD5 checksums:
ccf724c157740b2b153ca41ad38f1217 vdr-2.4.4.tar.bz2 12845052da407da62748982c01cc5d52 vdr-2.4.1-2.4.4.diff
You can also get the latest version at the official VDR GIT archive with
git clone git://git.tvdr.de/vdr.git
This version fixes a few bugs that came up after the release of version 2.4.1.
The changes since version 2.4.1:
- Fixed moving channels between number groups in SVDRP's MOVC command and the Channels menu, in case a channel is moved to a higher number and into a numbered group (reported by Manuel Reimer). - Now retuning if the received transponder's SDT doesn't contain the expected values for NID and TID (thanks to Uwe Scheffler for reporting a problem with failed tuning in SCR systems, and Helmut Binder for helping with the implementation). - Fixed compatibility with current versions of glibc (thanks to Manuel Reimer). - The SVDRP command DELC now also accepts a channel id (suggested by Manuel Reimer). - Fixed dropping capabilities in case cap_sys_time is not available. - Added the language code for Bulgarian (thanks to Helmut Binder). - Fixed handling multi part ExtendedEventDescriptors where only the first part contains information about the character table (based on a patch from Helmut Binder). - When setting the system character table, it is no longer checked against the known entries that are hard coded in libsi/si.c, but rather given to iconv_open() and the result of that call is used to check whether the given name is valid. - Checking whether the system character table is "single byte" is now done by checking the result of a sample call to iconv(). - Setting the override character table now checks and reports whether the given value is valid (suggested by Helmut Binder). - The isSingleByte parameter in the call to getCharacterTable() is deprecated and only present for backwards compatibility. - Fixed a possible crash in case replay is started and stopped in rapid sequence, by adding missing locking to cControl::Control(). The caller of this function must now provide a cMutexLock which stays alive as long as the result of this call is used. The old version of this function is still there for backwards compatibility with plugins, because this problem appears to occur only under very rare circumstances. Authors of plugins that use this function should switch to the new version, because the old one is deprecated and will be removed in a future version. The version numbers (both VDRVERSNUM and APIVERSNUM) have been bumped to 2.4.2, so that plugins can detect the presence of the new cControl::Control(). - Added a missing '-D' to the 'plugins' target of the Makefile (thanks to Johann Friedrichs). - Fixed the size of cChannel::dtypes[] (thanks to Winfried Köhler). The version numbers (both VDRVERSNUM and APIVERSNUM) have been bumped to 2.4.3 to indicate this change. - Added a device hook for detecting whether a device provides EIT data (thanks to Winfried Köhler). - Fixed memory handling in cString::Append() (reported by Stefan Herdler). - Revised 'Fixed a possible deadlock when detaching a receiver from a device' from version 2.3.9, which sometimes caused a black screen when switching channels (thanks to Stefan Verse). - Added failsafe defaults for 'make LCLBLD=1' to the Makefile (thanks to Stefan Herdler). - Added codes for more languages and special audio tracks (thanks to Helmut Binder). - Added cMtdCamSlot::TsPostProcess() (thanks to Helmut Binder). - Added cMtdHandler::StopDecrypting() (thanks to Helmut Binder). - Added support for detecting new channels broadcast in HEVC (thanks to Helmut Binder). - Added support for detecting 'advanced codec digital radio sound service' (thanks to Helmut Binder). - Added handling shared PMT pids and multiple PMT sections (thanks to Helmut Binder). - Changed the country code in the generated ParentalRatingDescriptor from 'DEU' to '902' to make it valid for all countries (thanks to Helmut Binder). - Added optional verbose output to the libsi Makefile (thanks to Tobias Grimm). - Made the call to pkg_config configurable via the PKG_CONFIG macro, which is necessary for cross-building VDR (thanks to Tobias Grimm). Plugin authors may want to modify their Makefiles accordingly by adding the line 'PKG_CONFIG ?= pkg-config' and replacing every occurrence of 'pkg-config' with '$(PKG_CONFIG)', as can be seen in the Makefiles of the plugins that come with the VDR source. - Fixed a typo in svdrp.c (thanks to Tobias Grimm). - Added support for HEVC-video and AC-4-audio (thanks to Christoph Haubrich). - Added a comment about the semantics of cTimeMs::Set(). - Adjusted device selection in GetDeviceForTransponder() to that in GetDevice() (thanks to Helmut Binder). - Now adding CPPFLAGS to CXXFLAGS to allow extra preprocessor flags to be given when doing make (suggested by Tobisa Grimm). - Added CRC check of the CAT in cCaPidReceiver::Receive() (thanks to Helmut Binder). - Fixed the 'else if' branch in cDevice::GetDeviceForTransponder(), which hasn't been active since version 1.7.29 (reported by Helmut Binder). The original purpose of this branch was to use a device that is currently not recording for switching to the transponder of an upcoming VPS timer. However, this caused problems with more than two bonded devices, which was "fixed" in version 1.7.29. Apparently this fix merely rendered the whole code branch inactive. Now this branch is only executed for devices that are not bonded. - Improved deleting plugins in case the plugin uses its own memory management (thanks to Winfried Köhler). Plugins that have been compiled with previous versions of VDR do not need to be recompiled, they will silently be handled as before. - Now setting currentDisplayChannel = NULL before calling cStatus::MsgOsdClear() in ~cDisplayChannel(), to avoid possible problems in case a plugin calls IsOpen() (reported by Thomas Reufer). - Fixed handling inactive shared CA pids (thanks to Helmut Binder). - Implemented handling multi packet CATs with MTD (thanks to Helmut Binder). - Fixed a possible 'invalid lock sequence' when switching to an unavailable channel with the main menu open. - Official release.
Have fun!
Klaus