News

VDR version 2.0.6

Added by tadi 7 months ago

This version fixes a few minor bugs that came up after the release of
version 2.0.5.

From the HISTORY file:
  • Updated 'sources.conf' (thanks to Antti Hartikainen).
  • cFont::CreateFont() now returns a dummy font in case there are no fonts installed.
    This prevents a crash with the LCARS skin on a system that has no fonts.
  • Fixed detecting frame borders in MPEG-2 streams that have "bottom fields" or varying
    GOP structures (reported by Christian Paulick, with help from Helmut Auer).
  • Fixed a wrong alignment in cCiDateTime::SendDateTime().
  • Now checking whether the primary device actually has a decoder before retuning the
    current channel after a change in its parameters. This fixes broken recordings on
    the primary device on "headless" systems.
  • Increased MIN_TS_PACKETS_FOR_FRAME_DETECTOR to 100 and introduced counting the number
    of actual video TS packets in cTsPayload in order to be able to record channels that
    sometimes need even more than 10 TS packets for detecting frame borders (reported by
    Eike Sauer and Oliver Endriss).
  • Fixed sorting recordings by time in the Recordings menu if "Setup/OSD/Recording
    directories" is set to "no".
  • Fixed clearing non-editable members in the channel editor (thanks to Rolf Ahrenberg).
  • Fixed flickering if subtitles are active while the OSD demo is running.
  • Fixed a possible crash in the OSD demo (reported by Christopher Reimer).
  • Fixed learning keyboard remote control codes (thanks to Lars Hanisch).
  • Fixed the replay progress display for very long recordings.
  • Improved PAT/PMT scanning to speed up initial tuning to encrypted channels on
    transponders with many PAT entries (reported by Mariusz Bialonczyk).
  • Fixed detecting broken video data streams when recording.
  • Fixed handling frame detection buffer length (reported by Eike Sauer).
  • Fixed keeping the current position in the Recordings menu if a recording was
    deleted in a sub folder.
  • Fixed handling transfer mode on full featured DVB cards for encrypted channels
    that have no audio pid (reported by Christian Winkler).
  • Fixed a possible endless loop in cH264Parser::GetGolombUe(), which caused recordings
    on some HD channels to get stuck and resulted in buffer overflows.
  • Fixed handling PAT packets when detecting frames, so that they can be properly
    taken into account when regenerating the index of a recording.
  • Fixed adding new source types in case they are already registered (reported by Rolf
    Ahrenberg).
  • Fixed drawing the live indicator in the LCARS skin in case there are no devices.
  • The SDT is now only parsed after the NIT has been read, and it explicitly uses
    the source value derived from the NIT. This should prevent new channels from being
    created with the wrong source.
  • Now initializing the isOnVideoDirectoryFileSystem member of cRecording when
    scanning the video directory, so that it won't cause a delay when opening the menu
    on a system with a large number of recordings.
  • The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
    the functional modification to cFont::CreateFont().

VDR developer version 2.1.6

Added by tadi 8 months ago

From the HISTORY file:

Version 2.1.6

  • Revoked "Fixed some compiler warnings with Clang 3.4.1" from ci.c, because this
    did not compile with older versions of gcc (thanks to Sören Moch).
  • Fixed keeping the current position in the Recordings menu if a recording was
    deleted in a sub folder.
  • Fixed handling transfer mode on full featured DVB cards for encrypted channels
    that have no audio pid (reported by Christian Winkler).
  • Fixed a possible endless loop in cH264Parser::GetGolombUe(), which caused recordings
    on some HD channels to get stuck and resulted in buffer overflows.
  • Fixed handling PAT packets when detecting frames, so that they can be properly
    taken into account when regenerating the index of a recording.
  • Fixed adding new source types in case they are already registered (reported by Rolf
    Ahrenberg).
  • Removed an unnecessary assignment from cMenuRecordings::~cMenuRecordings().
  • The Recordings menu now remembers the last recording the cursor was positioned on,
    independent of the last replayed recording. When a replay ends, however, the cursor
    will initially be positioned to the last replayed recording again when the menu
    is opened.
  • Updated the Finnish OSD texts (thanks to Antti Hartikainen).
  • Fixed drawing the live indicator in the LCARS skin in case there are no devices.
  • When checking for obsolete channels, those with an RID that is not 0 are now
    ignored (suggested by Oliver Endriss).
  • The SDT is now only parsed after the NIT has been read, and it explicitly uses
    the source value derived from the NIT. This should prevent new channels from being
    created with the wrong source.
  • Added a log message in case a receiver is detached from its device because the
    assigned CAM can't decrypt the channel.
  • Refactored setup parameter handling for output devices:
    • The function cDevice::GetVideoSystem() has been deprecated and will be removed
      in a future version. In order to check whether a particular plugin needs to be
      modified if this function is removed, you can comment out the line
      #define DEPRECATED_VIDEOSYSTEM
      in device.h.
    • Handling the "video (display) format" (things like 16:9, 4:3, pan&scan, letterbox
      etc) shall now be done by the individual output devices, because the types and
      numbers of parameters are too device specific. The Setup/DVB parameters
      "Video format" and "Video display format" are still there for now and can be used
      by SD devices. HD devices, however, shall not use these parameters (any more),
      but rather implement their own setup menu with the necessary parameters for
      controlling output.
    • The dvbhdffdevice plugin has been modified accordingly.
    • Made it clear that cDevice::SetDigitalAudioDevice() merely tells the output device
      that the current audio track is Dolby Digital. This function was only used by the
      original "full featured" DVB cards - do not use it for new developments!
      If an output device has several ways of replaying audio (like HDMI or analog jack)
      it shall implement the proper options in its plugin's SetupMenu() function.
  • Added support for "Pilot", "T2-System-Id" and "SISO/MISO" parameters (thanks to
    Rolf Ahrenberg).
  • Now initializing the isOnVideoDirectoryFileSystem member of cRecording when
    scanning the video directory, so that it won't cause a delay when opening the menu
    on a system with a large number of recordings.
  • Now resetting the isOnVideoDirectoryFileSystem member of a cRecording to -1 after
    renaming it, so that it will be re-checked upon the next call to
    IsOnVideoDirectoryFileSystem().
  • Added support for systemd (thanks to Christopher Reimer). To activate this you
    need to add "SDNOTIFY=1" to the 'make' call.

VDR developer version 2.1.5

Added by tadi 8 months ago

From the HISTORY file:

Version 2.1.5

  • Now checking whether the primary device actually has a decoder before retuning the
    current channel after a change in its parameters. This fixes broken recordings on
    the primary device on "headless" systems.
  • Increased MIN_TS_PACKETS_FOR_FRAME_DETECTOR to 100 and introduced counting the number
    of actual video TS packets in cTsPayload in order to be able to record channels that
    sometimes need even more than 10 TS packets for detecting frame borders (reported by
    Oliver Endriss).
  • Fixed sorting recordings by time in the Recordings menu if "Setup/OSD/Recording
    directories" is set to "no".
  • Fixed clearing non-editable members in the channel editor (thanks to Rolf Ahrenberg).
  • Updated the Estonian OSD texts (thanks to Arthur Konovalov).
  • Further clarified the semantics of cCamSlot::Decrypt().
  • Fixed flickering if subtitles are active while the OSD demo is running.
  • Fixed numbering frames. Previously they were numbered starting from 1, while it
    is apparently standard to number them from 0. Any existing recordings with editing
    marks (which will now be off by one) can still be cut with all VDR versions from
    1.7.32, because these will automatically adjust editing marks to I-frames.
    Users of stable releases shouldn't notice any problems.
  • Fixed a possible crash in the OSD demo (reported by Christopher Reimer).
  • Fixed some compiler warnings with Clang 3.4.1 (reported by Paul Menzel).
  • Added LinkageTypePremiere to libsi/si.h and eit.c to avoid a compiler warning with
    Clang 3.4.1 (suggested by Tony Houghten).
  • Replaced the NULL pointer assignment in ~cReceiver() to force a segfault with
    a call to abort() (suggested by Tony Houghten).
  • Fixed learning keyboard remote control codes (thanks to Lars Hanisch).
  • Improved PAT/PMT scanning to speed up initial tuning to encrypted channels on
    transponders with many PAT entries (reported by Mariusz Bialonczyk).
  • Fixed the replay progress display for very long recordings.
  • Fixed detecting broken video data streams when recording.
  • Fixed handling frame detection buffer length (reported by Eike Sauer).

VDR developer version 2.1.4

Added by tadi 9 months ago

From the HISTORY file:

Version 2.1.4

  • Updated 'sources.conf' (thanks to Antti Hartikainen).
  • cFont::CreateFont() now returns a dummy font in case there are no fonts installed.
    This prevents a crash with the LCARS skin on a system that has no fonts.
  • Improved locking for CAM slots and made the pure functions of cCiAdapter have
    default implementations, to fix a possible crash with CI adapters and CAM slots
    that are implemented in a plugin.
  • Added logging the supported system ids of a CAM.
  • Increased MIN_TS_PACKETS_FOR_FRAME_DETECTOR to 10 in order to be able to record
    channels that need more than 5 TS packets for detecting frame borders (reported by
    Eike Sauer).
  • Fixed deleting the source recording after moving it to a different volume (reported
    by Christoph Haubrich).
  • Now waiting explicitly until all CAM slots are ready before switching to the
    initial channel when VDR is started. This is necessary in case CI adapters are
    used that are not physically connected to a dedicated device. The respective checks
    in cDvbDevice have been removed to avoid redundancy.
  • Fixed detecting frame borders in MPEG-2 streams that have "bottom fields" or varying
    GOP structures (reported by Christian Paulick, with help from Helmut Auer).
  • Now unassigning CAMs from their devices when they are no longer used.
  • Now making sure the primary device goes into transfer mode for live viewing if the
    CAM wants to receive the TS data.
  • Fixed a wrong alignment in cCiDateTime::SendDateTime().
  • Since the new cRecordingsHandler that was introduced in version 2.1.2 not only
    handles "cutting", but also "moving" and "copying" recordings, the German word
    "Schnitt" has been replaced with the more generic "Bearbeitung", which covers all
    three variations of "editing" a recording (suggested by Christoph Haubrich).
    Maintainers of translations for other languages may want to change their *.po files
    accordingly.
  • The new function cStatus::ChannelChange() can be implemented by plugins to be
    informed about changes to the parameters of a channel that may require a retune.
    This may, for instance, be useful for plugins that implement live streaming, so that
    they can react on changes to a channel's PIDs or CA descriptors (problem reported
    by Mariusz Bialonczyk).
  • Fixed a superfluous call to the skin's SetRecording() function after renaming a
    recording (reported by Christoph Haubrich).

VDR version 2.0.5

Added by tadi 10 months ago

This version fixes a few minor bugs that came up after the release of
version 2.0.4.

From the HISTORY file:
  • The LIRC remote control now connects to the socket even if it doesn't yet exist when
    VDR is started (thanks to Lars Hanisch).
  • Fixed a missing initialization in the c'tor of cSkinLCARSDisplayChannel (thanks to
    Marko Mäkelä).
  • Fixed uninitialized item area coordinates in cSkinLCARSDisplayMenu (reported by
    Marko Mäkelä).
  • Fixed a possible crash if the recordings list is updated externally while the
    Recordings menu is open (reported by Lars Hanisch).
  • Added a missing closing ')' in the help and man page entry of the --vfat option
    (reported by Lars Hanisch).
  • Fixed setting the name of the video directory to avoid a crash when using --genindex,
    and also to use the correct directory with --edit (the latter reported by Marko
    Mäkelä).

VDR developer version 2.1.3

Added by tadi 10 months ago

From the HISTORY file:

Version 2.1.3

  • Changed the return value of cPositioner::HorizonLongitude() to 0 in case the
    latitude of the antenna location is beyond +/-81 degrees.
  • Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
  • Fixed some compiler warnings with gcc-4.6.3 (thanks to Rolf Ahrenberg).
  • Changed the name of the SVDRP command RENR to MOVR (suggested by Rolf Ahrenberg).
  • When cutting a recording it is now checked whether there is already an edited
    version of this recording (with the same name, but starting with '%'), and the
    user is prompted for confirmation to overwrite it (suggested by Rolf Ahrenberg).
  • Revoked "Added maximum signal strength value for TechniSat SkyStar 2 DVB-S rev 2.3P"
    because it broke things for the "TechniSat AirStar 2" DVB-T card.
  • The LIRC remote control now connects to the socket even if it doesn't yet exist when
    VDR is started (thanks to Lars Hanisch).
  • Changed the absolute latitude limit for visible satellites to 81.2 degrees.
  • Added code for parsing LCN and AVC descriptors to libsi (thanks to Rolf Ahrenberg).
  • In the "Select folder" menu pressing Ok now selects the folder, even if this is a
    folder that contains sub folders (marked with "..."). To open such a folder you
    can press the Red key.
  • Fixed a possible access to uninitialized data in cEIT::cEIT() (reported by Dominik
    Strasser).
  • The new menu category mcRecordingEdit is now used to mark menus that edit recording
    properties (suggested by Stefan Braun).
  • Changes in the teletext PID no longer cause retuning (and thus interrupting a
    recording).
  • Removed '_' from the FileNameChars and CharMap translations in uk_UA.po.
  • Updated the Italian OSD texts (thanks to Diego Pierotto).
  • Fixed a missing initialization in the c'tor of cSkinLCARSDisplayChannel (thanks to
    Marko Mäkelä).
  • Simplified some conditional expressions in skinlcars.c and skinsttng.c (suggested
    by Marko Mäkelä).
  • Fixed uninitialized item area coordinates in cSkinLCARSDisplayMenu (reported by
    Marko Mäkelä).
  • Fixed a possible crash if the recordings list is updated externally while the
    Recordings menu is open (reported by Lars Hanisch).
  • Added a missing closing ')' in the help and man page entry of the --vfat option
    (reported by Lars Hanisch).
  • Fixed setting the name of the video directory to avoid a crash when using --genindex,
    and also to use the correct directory with --edit (the latter reported by Marko
    Mäkelä).
  • The Recordings menu can now be called with a cRecordingFilter, which allows the
    caller to have it display only a certain subset of the recordings (thanks to Lars
    Hanisch).
  • Added handling UTF-8 'umlaut' characters to cKbdRemote (thanks to Lars Hanisch).
  • Made it clear that the Data parameter in cDevice::StillPicture() may point to a
    series of packets, not just a single one (thanks to Thomas Reufer).
  • cDevice::TrickSpeed() now has an additional parameter named Forward, which indicates
    the direction in which replay is being done (suggested by Thomas Reufer). This
    information may be necessary for some output devices in order to properly implement
    trick modes. Authors of plugins that implement output devices will need to add this
    parameter to their derived cDevice class, regardless of whether they will make use
    of it or not.
  • Added a note to ePlayMode in device.h that VDR itself always uses pmAudioVideo when
    replaying a recording (suggested by Thomas Reufer).
  • Fixed some spellings in positioner.h and Doxyfile (thanks to Ville Skyttä).
  • Changed '%a' to the POSIX compliant '%m' in all scanf() calls (thanks to Ville
    Skyttä).
  • The new function cCamSlot::Decrypt() can be used by derived classes to implement a
    CAM slot that can be freely assigned to any device, without being directly inserted
    into the full TS data stream in hardware. A derived class that implements Decrypt()
    will also need to set the new parameter ReceiveCaPids in the call to the cCamSlot
    base class constructor to true, in order to receive the CA pid TS packets that
    contain data necessary for decrypting.
  • Many member functions of cCamSlot have been made virtual to allow for easier
    implementation of derived classes.
  • cTSBuffer now provides the number of available bytes in its Get() function.
  • cDvbDevice::GetTSPacket() now calls CamSlot()->Decrypt() in order to allow CAM slots
    that can be freely assigned to any device access to the TS data stream.
  • Added a check to avoid a possible NULL pointer dereference in cCiSession::SendData()
    (reported by Ville Skyttä).
  • Deleted a superfluous assignment in cPipe::Open() (reported by Ville Skyttä).
  • The script given to VDR with the '-r' option is now also called after the recording
    process has actually started (thanks to Christian Kaiser).
  • Avoiding unnecessary pkg-config warnings in plugin Makefiles (thanks to Ville Skyttä).
    Plugin authors may want to apply the following change to their Makefile:
    -PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
    +PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
  • Eliminated MAXDVBDEVICES (suggested by Oliver Endriss).
  • Channels that are no longer contained in the current SDT of a transponder are now
    marked with the keyword OBSOLETE in their name and provider fields. That way you can
    identify obsolete channels when you switch to them, and you can get the complete
    overview of all obsolete channels by sorting the Channels list by provider (by
    pressing the 0 key twice). Automatic deletion of obsolete channels may follow later.

VDR version 2.0.4

Added by tadi about 1 year ago

This version fixes a few minor bugs that came up after the release of
version 2.0.3.

From the HISTORY file:
  • Unified the internal sequence of actions when pressing the Blue and the Back key,
    respectively, during replay (reported by Thomas Maass).
  • The Yellow button in the main menu no longer acts as "Pause" if "Pause key handling"
    is set to "do not pause live video" (suggested by Ulf Kiener).
  • Fixed writing group separators to channels.conf that contain a comma (reported by
    Eike Edener).
  • Now also checking the source (in addition to the transponder) when setting the
    system time from the TDT, which avoids problems in case devices are tuned to the
    same transponder on different sources, and these broadcast different time data
    (reported by Torsten Lang).
  • Changed cRecorder::Action() to use cTimeMs instead of time() to avoid problems with
    unjustified "video data stream broken" errors in case the system time is changed
    while a recording is active (reported by Torsten Lang).
  • Fixed an inconsistent behavior between opening the Recordings menu manually via the
    main menu and by pressing the Recordings key. In the latter case it automatically
    opened all sub folders to position the cursor to the last replayed recording, which
    is unexpected at this point (reported by Helmut Auer). You can still navigate to
    the last replayed recording (if any) by pressing Ok repeatedly in the Recordings
    menu.

VDR developer version 2.1.2

Added by tadi about 1 year ago

From the HISTORY file:

Version 2.1.2

  • Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
  • Fixed displaying DVB subtitles (thanks to Rolf Ahrenberg for helping to debug and
    understand subtitle page refreshes):
    • Fixed handling DVB subtitle fill region codes for 2 and 8 bpp.
    • Fixed handling pages without an explicit END_OF_DISPLAY_SET_SEGMENT.
      The FINISHPAGE_HACK is no longer necessary.
    • Fixed handling "page refreshes". The data is now parsed and stored closer to the
      DVB standard specs, introducing "object refs" and "region refs".
    • The debug output now goes into an HTML file named dbg-log.htm and shows the actual
      bitmaps (dbg-nnn.jpg) used to display the subtitles. That way it is much easier to
      see what's actually going on.
    • Fixed handling subtitles encoded as a string of characters (the very first
      character was always skipped).
  • Fixed wrong initialization of Setup.PositionerSwing (reported by Arthur Konovalov).
  • Updated the Estonian OSD texts (thanks to Arthur Konovalov).
  • Fixed cleaning up old EPG events in case no epg data file is given (reported by
    Dave Pickles).
  • Unified the internal sequence of actions when pressing the Blue and the Back key,
    respectively, during replay (reported by Thomas Maass).
  • The Yellow button in the main menu no longer acts as "Pause" if "Pause key handling"
    is set to "do not pause live video" (suggested by Ulf Kiener).
  • The code for distributing recordings over several video directories has been
    removed. VDR now by default assumes that the video directory is one big disk.
    If you absolutely need to use several separate disks to store recordings, you can
    write a plugin that uses the new cVideoDirectory API to implement the necessary
    functionality (see PLUGINS.html, section "The video directory"). You can copy the
    respective code from previous versions of videodir.c.
    IMPORTANT NOTE: If you write a plugin that implements a distributed video directory,
    be sure to make cVideoDirectory::Rename() follow symbolic links!
    This functionality was never implemented in VDR and it therefore
    used a workaround in cutter.c. See the section marked with
    // XXX this can be removed once RenameVideoFile() follows symlinks
    in previous versions of cutter.c.
    • CloseVideoFile() is obsolete and has been removed.
    • The functions OpenVideoFile(), RenameVideoFile(), RemoveVideoFile(), VideoFileSpaceAvailable(),
      VideoDiskSpace(), RemoveEmptyVideoDirectories(), IsOnVideoDirectoryFileSystem() and
      PrefixVideoFileName() are now static members of cVideoDirectory and need to be called
      with the proper prefix.
    • The name of the video directory is now available through cVideoDirectory::Name().
  • Added renaming and moving recordings and folders, editing a recording's priority and
    lifetime, and queueing cutting jobs (inspired by the "extrecmenu" plugin from Martin
    Prochnow).
    • The "Recording info" menu now has a new Blue button named "Edit", which opens a
      dialog in which several properties of the selected recording can be changed. It can
      be renamed or moved into another folder and its priority and lifetime can be
      modified (inspired by the "extrecmenu" plugin from Martin Prochnow).
      The new blue "Edit" button in the "Recordings" menu opens a dialog in which a folder
      can be renamed or moved. See MANUAL, section "Managing folders".
    • In the "Edit recording" menu the Yellow button ("Delete marks") allows you to delete
      all editing marks of the selected recording.
    • cCutter is no longer a static class. Cutting requests should now be invoked by
      calling RecordingsHandler.Add(ruCut, FileName). See the new cRecordingsHandler
      class in recording.h.
    • Cutting jobs are now placed in a queue (together with any move or copy jobs) and
      are processed one by one.
    • The new SVDRP command RENR can be used to rename a recording (suggested by Rolf
      Ahrenberg).
    • Note that in several places in the source code a "copy" operation is mentioned,
      however there is no user interface for this, yet.
  • Changed some variable names in positioner.c to match the names used in the page with
    the explanation on vdr-portal.de.
  • Updated the Italian OSD texts (thanks to Diego Pierotto).
  • Fixed writing group separators to channels.conf that contain a comma (reported by
    Eike Edener).
  • Now also checking the source (in addition to the transponder) when setting the
    system time from the TDT, which avoids problems in case devices are tuned to the
    same transponder on different sources, and these broadcast different time data
    (reported by Torsten Lang).
  • Changed cRecorder::Action() to use cTimeMs instead of time() to avoid problems with
    unjustified "video data stream broken" errors in case the system time is changed
    while a recording is active (reported by Torsten Lang).
  • Revised the section on "Learning the remote control keys" in the INSTALL file to
    avoid the impression that there actually is a default remote.conf file, and to
    not use any alphabetic keys for special functions, so that they remain available
    for textual input.
  • The function cRecordings::MBperMinute() now only takes into account recordings with
    less than 5 seconds per megabyte, in an attempt to filter out radio recordings
    (thanks to Harald Koenig). The result of this function was way off any realistic
    value in case there are many radio recordings in the video directory.
  • Added maximum signal strength value for TechniSat SkyStar 2 DVB-S rev 2.3P (thanks
    to Guido Cordaro).
  • Fixed an inconsistent behavior between opening the Recordings menu manually via the
    main menu and by pressing the Recordings key. In the latter case it automatically
    opened all sub folders to position the cursor to the last replayed recording, which
    is unexpected at this point (reported by Helmut Auer). You can still navigate to
    the last replayed recording (if any) by pressing Ok repeatedly in the Recordings
    menu.

VDR version 2.0.3

Added by tadi about 1 year ago

This version fixes a few minor bugs that came up after the release of
version 2.0.2.

From the HISTORY file:
  • Fixed asserting free disk space in the cutter.
  • No longer trying to delete old recordings in AssertFreeDiskSpace() if the given
    Priority is less than 1.
  • Fixed handling LIRC events in case repeated events are lost.
  • Fixed a possible crash when shutting down VDR while subtitles are being displayed
    (reported by Ville Skyttä).
  • cDevice::IsPrimaryDevice() now also checks whether the primary device actually has
    a decoder and returns false otherwise. This should improve device allocation on
    systems that are only used as a receiver and don't actually display anything.
  • Increased the value of MAXRETRIES to 20 to reduce the probability of disturbances
    in transfer mode.
  • All bonded devices (except for the master) now turn off their LNB power completely
    to avoid problems when receiving vertically polarized transponders (suggested by
    Manfred Völkel and Oliver Endriss).
  • Fixed cleaning up old EPG events in case no epg data file is given (reported by
    Dave Pickles).

VDR developer version 2.1.1 (1 comment)

Added by tadi about 1 year ago

The main focus of this version is on adding basic support for positioners
to control steerable satellite dishes. Manually controlling the dish position
and storing individual positions will follow later.

The fixes contained in this version will be released in a stable version 2.0.3
later, if there are no problems.

From the HISTORY file:

Version 2.1.1

  • Fixed initializing cDevice::keepTracks.
  • Fixed an endless loop in cTextWrapper::Set() in case the given Width is smaller than
    one character (reported by Stefan Braun).
  • Removed all "modified since version 1.6" markers from PLUGINS.html.
  • Added definitions for older DVB API versions, back until 5.0 (based on a patch from
    Udo Richter).
  • Changed cThread::SetIOPriority() from "best effort class" to "idle class" in order to
    improve overall performance when an editing process is running (thanks to Jochen
    Dolze).
  • Fixed handling '/' and '~' in recording file names in case DirectoryEncoding is
    used (thanks to Lars Hanisch).
  • Changed the sign of the satellite position value in cSource to reflect the standard
    of western values being negative. The new member function cSource::Position() can be
    used to retrieve the orbital position of a satellite.
  • Fixed multiple occurrences of the same directory in the recordings list in case there
    are directories that only differ in non-alphanumeric characters (was broken by
    "Fixed selecting the last replayed recording in the Recordings menu in case there
    are folders and plain recordings with names that differ only in non-alphanumeric
    characters" in version 1.7.36).
  • Fixed displaying the frame number when setting an editing mark (thanks to Thomas
    Günther).
  • Fixed no longer generating any editing marks if the edited recording results in just
    one single sequence (reported by Halim Sahin).
  • Fixed an error message when parsing SCR values in diseqc.conf.
  • Fixed an unexpected RCS version tag in the newplugin script.
  • Fixed an endless loop in the DrawEllipse() functions for very small ellipses (reported
    by Stefan Braun).
  • Fixed a crash in the LCARS skin's main menu in case there is no current channel
    (reported by Dominique Dumont).
  • Added basic support for positioners to control steerable satellite dishes (based on
    a patch from Seppo Ingalsuo and Ales Jurik).
    • Supports GotoN (aka "DiSEqC 1.2") and GotoX (aka "USALS").
    • The new DiSEqC command code 'P' can be used to instruct a positioner to move the
      dish to the required satellite position. When a 'P' code is processed, further
      execution of the remaining DiSEqC sequence (if any) is postponed until the positioner
      has reached the new satellite position.
    • The new special source value of "S360E" can be used in diseqc.conf to indicate that
      an entry using a positioner can move the dish to any requested position within its
      range. Think of it as "full circle".
    • The devices a particular cDiseqc or cScr applies to are now stored directly in each
      cDiseqc or cScr, respectively.
    • A plugin can implement a custom positioner control (see PLUGINS.html, section "Positioners").
    • The new function cSkinDisplayChannel::SetPositioner() can be implemented by skins to
      show the user a progress display when the dish is being moved. The default implementation
      calls SetMessage() with a string indicating the new position the dish is being moved to.
      The LCARS skin shows a progress bar indicating the movement of the dish.
    • The new parameters "Site latitude", "Site longitude", "Positioner speed", and
      "Positioner swing" in the "Setup/LNB" menu can be used to configure the necessary
      values for a steerable dish.
    • The cDvbTuner now has a new status tsPositioning, in which it waits until a steerable
      dish has reached its target position. Parsing SI data is paused until the target
      position has been reached.
  • The LCARS skin now shows the source value of the current channel in its channel display.
  • Fixed asserting free disk space in the cutter.
  • No longer trying to delete old recordings in AssertFreeDiskSpace() if the given
    Priority is less than 1.
  • Fixed handling LIRC events in case repeated events are lost.
  • Fixed a possible crash when shutting down VDR while subtitles are being displayed
    (reported by Ville Skyttä).
  • cDevice::IsPrimaryDevice() now also checks whether the primary device actually has
    a decoder and returns false otherwise. This should improve device allocation on
    systems that are only used as a receiver and don't actually display anything.
  • Increased the value of MAXRETRIES to 20 to reduce the probability of disturbances
    in transfer mode.
  • All bonded devices (except for the master) now turn off their LNB power completely
    to avoid problems when receiving vertically polarized transponders (suggested by
    Manfred Völkel and Oliver Endriss).
  • Reverted the change from version 1.5.7 that made all logging go to LOG_ERR (thanks
    to Christopher Reimer).
  • Added Begin/EndSegmentTransfer() to the EPG handler interface (thanks to Jörg Wendel).
  • The code for distributing recordings over several video directories is now
    deprecated and disabled by default.
    You can re-enable this feature by removing the comment sign ('//') from the beginning
    of the line
    //#define DEPRECATED_DISTRIBUTED_VIDEODIR // Code enclosed with this macro is ...
    in the file videodir.c. Note, though, that this can only be a temporary workaround.
    This feature will be completely removed in one of the next developer versions.
    Distributing the video directory over several disks was a useful feature in times
    when disks were still relatively small, but it also caused serious problems in case
    one of the disks failed. Nowadays hard disks come in sizes measured in terabytes,
    and tools like "mhddfs" can be used to combine several disks to form one large volume.
    A recommended method for a relatively safe disk setup in a VDR system is to use two
    1TB (or larger) disks and use them as a RAID-1 (mirrored). That way, if one disk
    fails, you can replace it without data loss.

1 2 3 ... 6 Next »

Also available in: Atom