[vdr] [ANNOUNCE] VDR developer version 1.7.6

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Sun Apr 26 12:19:07 CEST 2009

VDR developer version 1.7.6 is now available at


A 'diff' against the previous version is available at



This is a *developer* version. Even though *I* use it in my productive
environment. I strongly recommend that you only use it under controlled
conditions and for testing and debugging.


If you use a full featured DVB card for replay you need the DVB driver
version from


in order to replay TS recordings!
Users of full featured DVB cards also need to use a new firmware,
available at


Note that the header files in the latest driver versions may be broken.
If you get compiler error messages like

  /usr/include/sys/types.h:52: error: conflicting declaration 'typedef __ino64_t ino_t'
  /usr/include/linux/types.h:14: error: 'ino_t' has a previous declaration as 'typedef __kernel_ino_t ino_t'

when compiling VDR, you need to put the driver header files back to
how they were before they got broken. One way of doing this is to
apply the patch from


(I'm not claiming that this is the right way to fix this, since the driver
developers may have had good reasons for making that change. However, both
the driver and VDR compile and work fine with this).

The changes since version 1.7.5:

- cDevice::PlayTs() now syncs on the TS packet sync bytes.
- Made MAXFRAMESIZE a multiple of TS_SIZE to avoid breaking up TS packets.
- No longer resetting the patPmtParser in cDevice::PlayTs(), because this
  caused the selected audio and subtitle tracks to fall back to the default.
- The SVDRP command PUTE now supports reading the EPG data from a given file
  (thanks to Helmut Auer).
- Added cThread::SetIOPriority() and using it in cRemoveDeletedRecordingsThread
  (thanks to Rolf Ahrenberg).
- Fixed the MEGABYTE() macro to make it correctly handle parameters resulting in
  values larger than 2GB.
- Added cDevice::NumProvidedSystems() to PLUGINS.html (was missing since it had
  been implemented).
- Fixed distortions when switching to the next file during replay.
- Fixed detecting the frame rate for streams with PTS distances of 1800, which
  apparently split one frame over two payload units.
- Added missing 'const' to cRecording::FramesPerSecond() (thanks to Joachim Wilke).
- Any TS packets in the first "frame" after a cut in an edited recording that don't
  belong to a payload unit that started in that frame now get their TEI flag set,
  so that a decoder will ignore them together with any PES data collected for that
  PID so far (thanks to Oliver Endriss for reporting chirping sound disturbences at
  editing points in TS recordings).
- cDvbPlayer::Empty() subtracts 1 from readIndex, because Action() will first
  increment it.
- Only storing non-zero Pts values in ptsIndex.
- Added a note to the INSTALL file about using subdirectories to split a large
  disk into separate areas for VDR's video data and other stuff (suggested by
  Udo Richter).

Have fun!


More information about the vdr mailing list