VDR version 2.8.3 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/latest git://git.tvdr.de/vdr.git
or as a tar archive with
https://git.tvdr.de/?p=vdr.git;a=snapshot;h=stable/latest;sf=tbz2
The changes since version 2.8.2:
- Fixed wrong credits in HISTORY and CONTRIBUTORS.
- Unified the German translations of 'folder' (thanks to Stefan Hofmann).
- Fixed frame detection in MPEG2 video.
- Workaround for MPEG2 video where only I-frames have PTS.
- Tolerating missing frames in the last GOP.
- Fixed cPatPmtGenerator::MakeAC3Descriptor().
- Enabled access to the data array in cVector.
- Added some access functions to cChannel.
- Rearranged PAT/PMT handling.
- Added the --pes2ts option and the pes2ts script to convert legacy PES recordings to the
TS format as used from VDR version 1.7.3 upward.
- APIVERSNUM is now 30014.
- Fixed the warning in case the frame type was not detected within the expected number of
TS packets.
- Fixed calling the --record script when a recording has ended because the timer has been
deleted or otherwise stopped before its end time.
- Fixed the description of reccmds.conf (reported by Markus Ehrnsperger).
- Removed an unused variable from cResumeFile::Read() (thanks to Dirk Nehring).
- Now caching the thread id in cThread::ThreadId() (thanks to Dirk Nehring).
- Moved locking mutexReceiver outside the loop in cDevice::Action() (thanks to Dirk Nehring).
- The first column in the Setup menus now uses a width of 36 characters (as before version
2.8.2) in case no text area font is available (suggested by Matthias Senzel).
- If an SVDRP default host has been defined, but there are currently no other VDRs running,
"Setup/Miscellaneous/SVDRP default host" now shows a string item instead of the usual list
(reported by Markus Ehrnsperger).
- Updated the Dutch OSD texts (thanks to Carel Willemse).
- Added missing 'folders.conf' to vdr.1 (reported by Stefan Hofmann).
- Added the new function strtrim().
- Now removing leading and trailing blanks from all string input fields (except the pattern
in pattern timers) (following a suggestion by Stefan Hofmann).
- Replaced all occurrences of stripspace(skipspace()) (and vice versa) with strtrim().
- Removed the fixed buffer length in syslog_with_tid().
- cDvbPlayer no longer repeats the last frame when hitting the beginning or end of a recording.
+ cDevice::Flush() is now deprecated and may be removed in a future version. Output devices
should implement DrainDevice() instead.
+ cPlayer::DeviceFlush() is now deprecated and may be removed in a future version. Players
should use DeviceDrain() instead.
+ The default implementation of cDevice::DrainDevice() returns false, in order to allow the player's
timeout to kick in. Therefore the default return value of cDevice::Flush() has also been
changed to false.
(with help from Andreas Baierl and Dirk Nehring).
- Removed the option "Setup/DVB/Use Dolby Digital" (suggested by Markus Ehrnsperger). Dolby Digital
tracks now always appear in the "Audio" menu.
- Removed non-ASCII characters from UPDATE-1.4.0 and channels.conf.* (reported by Dirk Nehring).
- Fixed checking whether the character table is known and "single byte" (thanks to Dirk Nehring).
- Fixed the charset setting in PLUGINS/src/hello/po/fr_FR.po (thanks to Dirk Nehring).
- Replaced non-ASCII characters in libsi/gendescr with their hex codes (reported by Dirk Nehring).
- The "Edit recording" menu no longer shows actions if this is the destination of an ongoing cut,
move or copy process (suggested by Stefan Hofmann).
- The disk now spins up about 60 seconds before a timer starts (requested by Markus Ehrnsperger).
- Added missing locking to cOsd::IsOpen() (thanks to Dirk Nehring).
- Added missing locking to cSkinLCARSDisplayChannel::Flush() and cSkinSTTNGDisplayChannel::Flush()
(reported by Dirk Nehring).
- Fixed a possible division by zero in cSkinSTTNGDisplayChannel::Flush() (reported by Dirk Nehring).
- Fixed a problem if a thread calls cControl::Control() while the main program holds the lock
(reported by Stefan Hofmann). If cControl::Control() is called from a thread it now waits up
to 100ms before giving up.
- Changed cOsd::savedPixmap to cPixmap*, so that derived classes work with Save/RestoreRegion()
(reported by Andreas Baierl).
- Enhanced the comment for cOsd::RestoreRegion() (suggested by Andreas Baierl).
- Changing the VPS option in the "Edit timer" menu now adjusts the start/stop times as necessary
(reported by Stefan Hofmann).
- Fixed cOsdMenu::DisplayItem() to call cStatus::MsgOsdItem() for items that are not the current
one.
- Fixed setting the file names of the info and resume file after (un)deleting a recording
(reported by Stefan Hofmann).
- Fixed cDvbDevice::~cDvbDevice() to have it stop its thread before destruction (thanks to Dirk
Nehring).
- Fixed cDevice::SetChannel() to have it launch transfer mode only after the channel switch is
complete (thanks to Dirk Nehring).
- Fixed StopSVDRPHandler() to have it delete SVDRPServerHandler before SVDRPClientHandler (thanks
to Dirk Nehring).
- Fixed SetTrackDescriptions() to have it use the components while the respective list is still
locked (thanks to Dirk Nehring).
- Limited the lifetime of the ControlMutexLock in cSkinLCARSDisplayMenu::Flush() to the necessary
scope (thanks to Dirk Nehring).
- Improved locking in subtitle handling (thanks to Dirk Nehring).
- Improved locking in cIoThrottle (thanks to Dirk Nehring).
- Added missing locking to cDevice::ClrAvailableTracks) and cDevice::SetAvailableTrack() (thanks
to Dirk Nehring).
- Fixed cTransfer to make sure Receive() doesn't call PlayTs() before Activate() does (reported
by Dirk Nehring).
- Added atomic to cRingBufferLinear to avoid possible data races on ARM CPUs (thanks to Dirk
Nehring).
- Fixed PAT/PMT handling in cCuttingThread, which caused edited recordings to sometimes have
errors, while the original had none.
- The Recordings menu now marks recordings that are currently in the cutting queue with a
percentage sign ('%').
- Fixed locking in cDevice::DetachAll() and cDevice::DetachAllReceivers() (thanks to Dirk Nehring).
- Fixed displaying errors while cutting a recording (reported by by Stefan Hofmann).
- Added a missing lock to cRecordingsHandler::GetRequiredDiskSpaceMB().
- Added cRecordingsHandler::StateChanged() to allow the Recordings menu to update items after
entering a cutting jon into the queue via the SVDRP comannd EDIT or by pressing the green
button in the "Edit recording" menu.
- Fixed closing the socket in cSVDRPServer and cSVDRPClient (reported by Dirk Nehring).
- Plugins need to be rebuilt.
Homepage: https://www.tvdr.de
Facebook: https://www.facebook.com/VideoDiskRecorder
Have fun!
Klaus