VDR version 2.6.2 is now available at the official VDR GIT archive
git://git.tvdr.de
You can also get the latest stable version with
git clone --branch stable/2.6 git://git.tvdr.de/vdr.git
or as a tar archive with
http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/2.6.2;sf=tbz2
This version fixes a few bugs that came up after the release of version 2.6.1.
The changes since version 2.6.1:
- Added UPDATE-2.6.0, which was missing in the official 2.6.0 release. - Fixed unexpected calls of the '-r' script when a recording is interrupted and the timer has not yet finished. - Now dropping capabilities after opening terminal. - Now assuming the lock when removing deleted recordings even if the disk is full (reported by Claus Muus). - When checking whether a recording is still active, VDR no longer checks whether the index file is being written, but rather checks for the presence of a '.timer' file. The cutter now writes a dummy '.timer' file with timer ID '0' to make this work for recordings that are currently being edited. - Fixed a possible crash if an editing process is canceled while the edited recording is being replayed. - Added a warning if an attempt is made to obtain a write lock twice from the same thread. - Fixed default values for DVB-T (thanks to Winfried Köhler and Jose Angel). - Removed some unnecessary locks from SVDRPClientHandler. - Fixed a possible deadlock in case two SVDRP clients send each other POLL commands at the same time. - Added a missing 'const' to cTimers::GetTimerForEvent() (reported by Markus Ehrnsperger). - Added a chapter about locking to PLUGINS.html (suggested by Markus Ehrnsperger). - Implemented parsing frame rate and image size for MPEG2, H.264 and H.265 (thanks to Christoph Haubrich). - Using the frame rate parsed from the stream, with fall back to determining it from PTS values. - Fixed printing/scanning values for systems where %ld doesn't work for time_t. - Added support for kernel based LIRC driver (thanks to Marko Mäkelä). Use the command line option '--lirc=/dev/lirc0' to use this. Requires kernel version 5.10 or above. - Added periodic calls to malloc_trim(0) to reduce memory consumption (thanks to Onur Sentürk). - Fixed regenerating the index file of a recording in case it is present, but empty (reported by Stefan Herdler). - Added missing rounding when dividing frequencies in processing the NIT (thanks to Winfried Köhler).
Homepage: http://www.tvdr.de Facebook: https://www.facebook.com/VideoDiskRecorder
Have fun!
Wed, Nov 30, 2022 at 02:01:13PM +0100, Klaus Schmidinger wrote:
VDR version 2.6.2 is now available at the official VDR GIT archive
git://git.tvdr.de
Thank you, Klaus!
While debugging hangs or crashes during the shutdown of rpihddevice (see https://github.com/reufer/rpihddevice/pull/6 for my fixes), I noticed that AddressSanitizer (enabled by -fsanitize=address in GCC or clang) would report some heap-use-after-free also in cDvbTuner::Action(), accessing a deleted cSdtFilter.
The attached patch fixes the issues for me. The Cancel(3) call in cDevice::~cDevice() is moved to cDevice::Shutdown(), because cDevice::~cDevice() would be executed too late, while cDvbDevice::~cDvbDevice() had already deleted the objects.
The Cancel(-1) calls in cDevice::Shutdown() are an optimization to reduce the shutdown time on systems when there are multiple devices.
The change to cDvbDevice::~cDvbDevice() is necessary to shut down all users of cDvbTuner before it is deleted. Without this last hunk, I would still occasionally get heap-use-after-free reports.
Marko