HDTV and Kodi in your living room - based on Nvidia VDPAU, VDR and Ubuntu Linux

VDR developer version 1.7.19 is available

Avatar of hepihepi - 20. June 2011 - VDR Core

Klaus Schmidinger has announced the release of VDR developer version 1.7.19 yesterday. As always, we are excited about the new version and want to thank Klaus for his steady work on VDR core.


Klaus describes the new stuff in 1.7.19 as follows:

This version introduces functions to determine the "signal strength" and "signal quality" through cDevice. If you are using a DVB card that contains an stb0899 frontend chip (like the TT-budget S2-3200) you may want to apply the patches from ftp://ftp.tvdr.de/vdr/Developer/Driver-Patches to the LinuxDVB driver source in order to receive useful results from that frontend.

Since apparently the various frontend drivers return different maximum values in their FE_READ_SIGNAL_STRENGTH and FE_READ_SNR functions (some deliver a value in the range 0x0000...0xFFFF, while others return values as "dB/10" or "dBm/10" - the latter with an offset to make the value positive, since the parameter is unsigned), the functions cDvbTuner::GetSignalStrength() and cDvbTuner::GetSignalQuality() use the device's "subsystem ID" to map these values into the range 0...100, which is the normalized return value of these functions.

Take a look at these two functions and maybe remove the comment characters from the lines


in dvbdevice.c to get some debug output if your device doesn't return any directly useful values and may have to be added appropriately to the 'switch (subsystemId)' statement.

The channel display of the 'sttng' skin uses these values to implement a signal strength/quality display.
The changes since version 1.7.18:

  • Fixed cString's operator=(const char *String) in case the given string is the same as the existing one (thanks to Dirk Leber).
  • Avoiding a gcc 4.6 compiler error in the skincurses plugin (thanks to Tobias Grimm).
  • TsGetPayload() now checks if there actually is a payload in the given TS packet (reported by Dirk Leber).
  • Now sorting the source file names in the call to xgettext, to make sure the results are not dependent on the sequence of the files. Plugin authors may want to change the line containing the xgettext call in their Makefile accordingly by changing "$^" to "`ls $^`".
  • The primary device is now only avoided for recording if it is an old SD full featured card. This is done through the new function cDevice::AvoidRecording().
  • Subtitle PIDs are now also decrypted (thanks to Reinhard Nissl).
  • Fixed a possible race condition in cDiseqc::Execute() (reported by Marco Göbenich). The return value of cDiseqcs::Get() is now const, so plugin authors may need to adjust their code if they use this function.
  • The new functions cDevice::SignalStrength() and cDevice::SignalQuality() can be used to determine the signal strength and quality of a given device (thanks to Rolf Ahrenberg for some input on how to use BER and UNC values to generate a "quality" value).
  • The 'sttng' skin now displays two colored bars at the bottom of the channel display, indicating the strength (upper bar) and quality (lower bar) of the received signal. The number to the left of these bars indicates the actual device the current channel is being received with.
  • Fixed detecting frames in case the Picture Start Code or Access Unit Delimiter extends over TS packet boundaries (reported by Johan Andersson). In order to fix this, the semantics of cFrameDetector had to be changed a little. See cRecorder::Action() and cIndexFileGenerator::Action() on how to use the new cFrameDetector::NewPayload() function.
  • The frame detector now only starts collecting PTS values after it has seen the first I-frame, otherwise it might get MaxPtsValues values and stop analyzing even though the incoming data is still garbage (reported by Derek Kelly).
  • The info file of a recording is now only overwritten with a new fps value if that new value is not the default value (thanks to Derek Kelly for reporting a problem with the fps value being overwritten in case a recording was interrupted and resumed, and the fps value could not be determined after resuming recording).
  • The initial channel is now stored by the channel ID in the setup.conf file, in order to avoid problems in case channels are reordered or deleted (reported by Lars Bläser).
  • Added support for "content identifier descriptor" and "default authority descriptor" to 'libsi' (thanks to Dave Pickles).

Warning: In a follow-up posting, Klaus has described a known issue of this VDR developer version that was found shortly after the release:

"I'm afraid this change causes a short distortion in video and audio when VDR switches from one .ts file to the next during replay. I have yet to investigate and fix this, just wanted to warn people who make important recordings with this new version - which, of course, nobody should do, since it is a developer version ;-)"

Comments are disabled for this post.



20. June 2011

a lot to do...

...for dynamite, since there are a lot of changes at cDevice and its subclasses...


Which means: the current dynamite plugin won't work with vdr 1.7.19

Copyright © 2010 yaVDR. This page was last updated on 2017-07-02.