<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vdr-patch-lnbsharing, branch vdr-1.7.14</title>
<subtitle>VDR LNB Sharing patch
</subtitle>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/'/>
<entry>
<title>Version 1.7.14</title>
<updated>2010-03-14T10:56:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>Klaus (dot) Schmidinger (at) tvdr (dot) de</email>
</author>
<published>2010-03-14T10:56:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=1eb12b4973033212b39a53249d8fb452e6914a8a'/>
<id>1eb12b4973033212b39a53249d8fb452e6914a8a</id>
<content type='text'>
- Fixed handling empty strings in cSource::FromString().
- Assigned the source character 'I' to "IPTV" (suggested by Rolf Ahrenberg).
- Assigned the source character 'V' to "Analog Video" (suggested by Lars Hanisch).
  This obsoletes the ANALOGTV patch.
- Added support for ATSC devices (thanks to Alex Lasnier).
  This obsoletes the ATSC patch.
- The "Source" item in the "Edit channel" menu now wraps around the list of sources
  (suggested by Halim Sahin).
- Fixed editing channel parameters.
- The new setup option "Recording/Delete timeshift recording" controls whether a timeshift
  recording is automatically deleted after viewing it.
  This obsoletes the DELTIMESHIFTREC patch.
  Note that the meaning of the values for this option is different from the DELTIMESHIFTREC
  patch: 0 means timeshift recordings are not automatically deleted (the default behavior
  as in previous versions), while 1 means to ask the user whether the recording shall be
  deleted.
- Added cChannel::IsSourceType() to test if a channel's source is of a given type.
- Changed the polarization characters in cDvbSourceParam::GetOsdItem() to uppercase.
- The full timer file name is now displayed if it ends with "TITLE" or "EPISODE"
  (pointed out by Udo Richter).
- Fixed "attempt to drop wrong frame from ring buffer" when skipping +/- one minute
  during replay.
- The new setup option "Folders in timer menu" controls whether the file names in
  the timer menu are shown with their full folder path.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixed handling empty strings in cSource::FromString().
- Assigned the source character 'I' to "IPTV" (suggested by Rolf Ahrenberg).
- Assigned the source character 'V' to "Analog Video" (suggested by Lars Hanisch).
  This obsoletes the ANALOGTV patch.
- Added support for ATSC devices (thanks to Alex Lasnier).
  This obsoletes the ATSC patch.
- The "Source" item in the "Edit channel" menu now wraps around the list of sources
  (suggested by Halim Sahin).
- Fixed editing channel parameters.
- The new setup option "Recording/Delete timeshift recording" controls whether a timeshift
  recording is automatically deleted after viewing it.
  This obsoletes the DELTIMESHIFTREC patch.
  Note that the meaning of the values for this option is different from the DELTIMESHIFTREC
  patch: 0 means timeshift recordings are not automatically deleted (the default behavior
  as in previous versions), while 1 means to ask the user whether the recording shall be
  deleted.
- Added cChannel::IsSourceType() to test if a channel's source is of a given type.
- Changed the polarization characters in cDvbSourceParam::GetOsdItem() to uppercase.
- The full timer file name is now displayed if it ends with "TITLE" or "EPISODE"
  (pointed out by Udo Richter).
- Fixed "attempt to drop wrong frame from ring buffer" when skipping +/- one minute
  during replay.
- The new setup option "Folders in timer menu" controls whether the file names in
  the timer menu are shown with their full folder path.
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.13</title>
<updated>2010-02-28T15:07:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>Klaus (dot) Schmidinger (at) tvdr (dot) de</email>
</author>
<published>2010-02-28T15:07:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=5ce592e54a4aa741444afae8eb80dff47bc355fd'/>
<id>5ce592e54a4aa741444afae8eb80dff47bc355fd</id>
<content type='text'>
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Changed the position of Sirius 4 to S4.8E in sources.conf (thanks to Alexander Gross).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Moved the declaration of cMenuCommands to menu.h, so that plugins can use it.
- Added a note to the MANUAL, saying that adding new transponders only works if the
  "EPG scan" is active (suggested by Halim Sahim).
- Improved handling frames at the beginning and end of a recording in cDvbPlayer for
  devices with large buffers (thanks to Reinhard Nissl).
- Implemented cDeviceHook to allow plugins more control over which device can
  provide which transponder (thanks to Reinhard Nissl).
- Implemented cDevice::GetCurrentlyTunedTransponder() (thanks to Reinhard Nissl).
- Moved strictly necessary Makefile options into Make.global, which is included
  by all plugins (thanks to Paul Menzel). The Makefiles of existing plugins should be
  modified like this:

  ------------------------------------------------------------
  --- PLUGINS/src/hello/Makefile  2009/10/18 14:00:07      2.1
  +++ PLUGINS/src/hello/Makefile  2010/02/06 14:50:03      2.2
  @@ -18,7 +18,7 @@
   ### The C++ compiler and options:

   CXX      ?= g++
  -CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
  +CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses

   ### The directory environment:

  @@ -26,6 +26,10 @@
   LIBDIR = ../../lib
   TMPDIR = /tmp

  +### Make sure that necessary options are included:
  +
  +include $(VDRDIR)/Make.global
  +
   ### Allow user defined options to overwrite defaults:

   -include $(VDRDIR)/Make.config
  ------------------------------------------------------------
- Added device definitions to the diseqc.conf file format, so that certain satellite
  positions can be limited to a given list of devices.
  This obsoletes the SOURCECAPS patch.
- Keeping subtitles visible when pausing replay (thanks to Rolf Ahrenberg).
- Fixed adding new transponders in case there is only a single channel in the
  channel list (reported by Halim Sahin).
- The file name in the "Timers" menu now shows only the base name of the recording
  without the folder path (if any). Otherwise with long folder paths the actual
  recording name was not visible at all.
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
- Exported some libsi functions (thanks to Lucian Muresan).
- Improved scalability of the default skins.
- Fixed the German translation of "Folder name must not contain '%c'!" (thanks to
  Frank Schmirler).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Plugins can now define new sources. In order to implement this, the following
  changes were made:
  + The transponder parameter string is no longer interpreted by cChannel, but rather
    stored as is and used only by the respective device. That way plugins can use a
    channel's parameter string to store arbitrary data (see vdr.5).
  + The new class cSourceParam can be used by plugins to define new sources, and to
    implement OSD items that will be used in the channel editor for editing the source
    specific parameters of a channel (see dvbdevice.c for an example of how this is
    done for the default DVB devices).
  + Purely numerical values are no longer accepted in the 'source' parameter of a
    channel.
  This obsoletes the PLUGINPARAM patch.
- Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras).
- cSafeFile::Close() now flushes the file (suggested by Stephan Austermühle).
- The option "Setup/DVB/Use Dolby Digital" now only controls whether Dolby Digital
  tracks appear in the "Audio" menu. Dolby Digital is always recorded.
  This obsoletes the DOLBYINREC patch.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Changed the position of Sirius 4 to S4.8E in sources.conf (thanks to Alexander Gross).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Moved the declaration of cMenuCommands to menu.h, so that plugins can use it.
- Added a note to the MANUAL, saying that adding new transponders only works if the
  "EPG scan" is active (suggested by Halim Sahim).
- Improved handling frames at the beginning and end of a recording in cDvbPlayer for
  devices with large buffers (thanks to Reinhard Nissl).
- Implemented cDeviceHook to allow plugins more control over which device can
  provide which transponder (thanks to Reinhard Nissl).
- Implemented cDevice::GetCurrentlyTunedTransponder() (thanks to Reinhard Nissl).
- Moved strictly necessary Makefile options into Make.global, which is included
  by all plugins (thanks to Paul Menzel). The Makefiles of existing plugins should be
  modified like this:

  ------------------------------------------------------------
  --- PLUGINS/src/hello/Makefile  2009/10/18 14:00:07      2.1
  +++ PLUGINS/src/hello/Makefile  2010/02/06 14:50:03      2.2
  @@ -18,7 +18,7 @@
   ### The C++ compiler and options:

   CXX      ?= g++
  -CXXFLAGS ?= -fPIC -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
  +CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses

   ### The directory environment:

  @@ -26,6 +26,10 @@
   LIBDIR = ../../lib
   TMPDIR = /tmp

  +### Make sure that necessary options are included:
  +
  +include $(VDRDIR)/Make.global
  +
   ### Allow user defined options to overwrite defaults:

   -include $(VDRDIR)/Make.config
  ------------------------------------------------------------
- Added device definitions to the diseqc.conf file format, so that certain satellite
  positions can be limited to a given list of devices.
  This obsoletes the SOURCECAPS patch.
- Keeping subtitles visible when pausing replay (thanks to Rolf Ahrenberg).
- Fixed adding new transponders in case there is only a single channel in the
  channel list (reported by Halim Sahin).
- The file name in the "Timers" menu now shows only the base name of the recording
  without the folder path (if any). Otherwise with long folder paths the actual
  recording name was not visible at all.
- Updated the Romanian OSD texts (thanks to Lucian Muresan).
- Exported some libsi functions (thanks to Lucian Muresan).
- Improved scalability of the default skins.
- Fixed the German translation of "Folder name must not contain '%c'!" (thanks to
  Frank Schmirler).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Plugins can now define new sources. In order to implement this, the following
  changes were made:
  + The transponder parameter string is no longer interpreted by cChannel, but rather
    stored as is and used only by the respective device. That way plugins can use a
    channel's parameter string to store arbitrary data (see vdr.5).
  + The new class cSourceParam can be used by plugins to define new sources, and to
    implement OSD items that will be used in the channel editor for editing the source
    specific parameters of a channel (see dvbdevice.c for an example of how this is
    done for the default DVB devices).
  + Purely numerical values are no longer accepted in the 'source' parameter of a
    channel.
  This obsoletes the PLUGINPARAM patch.
- Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras).
- cSafeFile::Close() now flushes the file (suggested by Stephan Austermühle).
- The option "Setup/DVB/Use Dolby Digital" now only controls whether Dolby Digital
  tracks appear in the "Audio" menu. Dolby Digital is always recorded.
  This obsoletes the DOLBYINREC patch.
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.12</title>
<updated>2010-01-31T14:42:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>Klaus (dot) Schmidinger (at) tvdr (dot) de</email>
</author>
<published>2010-01-31T14:42:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=09a17d56e2a3f975a0467e8da4ca26c946b6ccf7'/>
<id>09a17d56e2a3f975a0467e8da4ca26c946b6ccf7</id>
<content type='text'>
- Changed the EVCONTENTMASK_* macros to enums and changed "mask" to "group".
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- The "Edit timer" menu can now set the folder for the recording from a list of
  folders stored in "folders.conf".
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- If svdrphosts.conf contains only the address of the local host, the SVDRP port
  is opened only for the local host (thanks to Manuel Reimer).
- Renamed 'runvdr' to 'runvdr.template' and no longer copying it to the BINDIR
  in 'make install' (thanks to Martin Dauskardt).
- Added plain text error messages to log entries from cOsd::SetAreas() (suggested
  by Rolf Ahrenberg).
- cPalette::ClosestColor() now treats fully transparent colors as "equal"; improved
  cDvbSpuBitmap::getMinBpp() (thanks to Matthieu Castet and Johann Friedrichs).
- The new setup option "Miscellaneous/Channels wrap" controls whether the current
  channel wraps around the beginning or end of the channel list when zapping (thanks
  to Matti Lehtimäki).
- Fixed determining the frame duration on channels where the PTS deltas jitter by
  +/-1 around 1800.
- The PCR pid in generated PMTs is now set to the channel's PCR pid again.
- Fixed determining the frame duration on channels where the PTS deltas jitter by
  +/-1 around 3600.
- The PCR pid is now recorded for channels where this is different from the video
  PID. To facilitate this, the interfaces of cTransfer, cTransferControl, cRecorder
  and cReceiver have been modified, so that the PIDs are no longer given in separate
  parameters, but rather the whole channel is handed down for processing. The old
  constructor of cReceiver is still available, but it is recommended to plugin authors
  that they switch to the new interface as soon as possible.
  When replaying such a recording, the PCR packets are sent to PlayTsVideo()
- The files "commands.conf" and "reccmd.conf" can now contain nested lists of
  commands. See vdr.5 for information about the new file format.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Changed the EVCONTENTMASK_* macros to enums and changed "mask" to "group".
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- The "Edit timer" menu can now set the folder for the recording from a list of
  folders stored in "folders.conf".
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- If svdrphosts.conf contains only the address of the local host, the SVDRP port
  is opened only for the local host (thanks to Manuel Reimer).
- Renamed 'runvdr' to 'runvdr.template' and no longer copying it to the BINDIR
  in 'make install' (thanks to Martin Dauskardt).
- Added plain text error messages to log entries from cOsd::SetAreas() (suggested
  by Rolf Ahrenberg).
- cPalette::ClosestColor() now treats fully transparent colors as "equal"; improved
  cDvbSpuBitmap::getMinBpp() (thanks to Matthieu Castet and Johann Friedrichs).
- The new setup option "Miscellaneous/Channels wrap" controls whether the current
  channel wraps around the beginning or end of the channel list when zapping (thanks
  to Matti Lehtimäki).
- Fixed determining the frame duration on channels where the PTS deltas jitter by
  +/-1 around 1800.
- The PCR pid in generated PMTs is now set to the channel's PCR pid again.
- Fixed determining the frame duration on channels where the PTS deltas jitter by
  +/-1 around 3600.
- The PCR pid is now recorded for channels where this is different from the video
  PID. To facilitate this, the interfaces of cTransfer, cTransferControl, cRecorder
  and cReceiver have been modified, so that the PIDs are no longer given in separate
  parameters, but rather the whole channel is handed down for processing. The old
  constructor of cReceiver is still available, but it is recommended to plugin authors
  that they switch to the new interface as soon as possible.
  When replaying such a recording, the PCR packets are sent to PlayTsVideo()
- The files "commands.conf" and "reccmd.conf" can now contain nested lists of
  commands. See vdr.5 for information about the new file format.
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.11</title>
<updated>2010-01-06T12:34:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>Klaus (dot) Schmidinger (at) tvdr (dot) de</email>
</author>
<published>2010-01-06T12:34:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=939081e274d0a9868e5ba9a7951666ad508afb96'/>
<id>939081e274d0a9868e5ba9a7951666ad508afb96</id>
<content type='text'>
- Fixed resetting the file size when regenerating the index file.
- The new function cDevice::PatPmtParser() can be used in derived devices to access
  the PAT/PMT of the currently replayed material.
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- The PCR pid in generated PMTs is now set to 0x1FFF ("no PCR pid") in
  cPatPmtGenerator::GeneratePmt(), because VDR doesn't record the PCR pid.
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- The 'sky' plugin is no longer part of the VDR source.
- Improved SPU handling on devices with limited OSD capabilities (thanks to
  Matthieu Castet).
- Several code modifications to avoid compiler warnings (thanks to Winfried Köhler).
- Added stream type 11172 AUDIO to cPatPmtParser::ParsePmt() (thanks to Johann
  Friedrichs).
- Removed debug output of '-' from cTransfer::Receive().
- Added defines for large files to the 'newplugin' script (reported by Udo Richter).
- Removed the workaround for short channel names of "Kabel Deutschland", because
  apparently they now have their data according to the DVB standard (thanks to
  Johann Friedrichs).
- Some fixes to dvbspu.[hc] (thanks to Johann Friedrichs).
- Fixed a busy loop when moving editing marks (thanks to Johann Friedrichs).
- Updated sources.conf (thanks to Derek Kelly).
- Modified cCharSetConv so that it can be used to convert from "whatever VDR uses"
  to a given code (thanks to Joachim Wilke).
- Channel names containing commas are now handled correctly in channels.conf.
  If a channel's short name contains a comma, it is replaced with a '.'.
- cDevice now logs the device number when a new device is created.
- Fixed handling STREAMTYPE_11172_AUDIO in cPatPmtParser::ParsePmt().
- cParsePatPmt now has functions to retrieve the audio, dolby and subtitle pids.
- cPatFilter::Process() now only stores CA descriptors for video and audio pids
  (thanks to Francesco Saverio Schiavarelli for reporting a problem with channels
  that have some encrypted components that VDR doesn't use).
- cDevice::AddPid() now stores the stream type of the given pid (thanks to Andreas
  Regel).
- Added cFont::FontName() and cFont::Size() (thanks to Andreas Regel).
- cPatPmtParser now also stores the audio stream types.
- The support for full featured DVB cards of the TT/FuSi design has been moved
  into the new plugin 'dvbsddevice'. On systems that use such a card as their
  primary device, this plugin now needs to be loaded when running VDR in order
  to view live or recorded video. If the plugin is not loaded, the card will
  be treated like a budget DVB card, and there will be no OSD or viewing
  capability.
- Fixed handling the "CA PMT" generation (revised a change not mentioned in version
  1.7.9's changes, which caused a malfunction with Conax and Viaccess CAMs).
- Fixed stopping subtitle display when switching the primary device (thanks to
  Anssi Hannula).
  IMPORTANT NOTE TO PLUGIN AUTHORS: a plugin that implements a derived cDevice
  class that can replay video must now call the MakePrimaryDevice() function of
  its base class.
- Fixed compiler warnings "format not a string literal and no format arguments"
  in some syslog calls (thanks to Rolf Ahrenberg).
- The new command line options --edit and --genindex can be used to edit a
  recording or generate its index without actually starting the entire VDR
  (based on a patch from Helmut Auer).
- Improved the description of the transponder parameters in vdr.5 (thanks to
  Winfried Köhler).
- Avoiding setting the video stream type to 2 if the vpid is 0 (problem reported
  by Arthur Konovalov).
- Implemented handling the "Content Descriptor" (based on a patch from Rolf
  Ahrenberg). The 'classic', 'sttng' and 'curses' skins display the textual
  representation of the content descriptors as "genre". The epg.data file stores
  the genre using the tag character 'G'.
- Implemented handling the "Parental Rating Descriptor" (based on a patch from Rolf
  Ahrenberg). The 'classic', 'sttng' and 'curses' skins display the parental
  rating (if given) in their event displays. The epg.data file stores
  the parental rating using the tag character 'R'.
  IMPORTANT NOTE: if VDR doesn't display a parental rating, this does not
  necessarily mean that the given programme is suitable for all audiences!
- Rearranged cEvent members to minimize memory waste.
- After a CLRE command, no further EPG processing is now done for 10 seconds,
  so that data sent with subsequent PUTE commands doesn't interfere with data
  from the broadcasters (suggested by Helmut Auer).
- Added support for DVB cards with multiple fontends. Note that this only
  works for DVB cards where each frontend can be used independently of all
  the others on the same adapter.
- Fixed plugin arguments corruption with glibc 2.11 on x86_64 (thanks to
  Anssi Hannula).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixed resetting the file size when regenerating the index file.
- The new function cDevice::PatPmtParser() can be used in derived devices to access
  the PAT/PMT of the currently replayed material.
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- The PCR pid in generated PMTs is now set to 0x1FFF ("no PCR pid") in
  cPatPmtGenerator::GeneratePmt(), because VDR doesn't record the PCR pid.
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- The 'sky' plugin is no longer part of the VDR source.
- Improved SPU handling on devices with limited OSD capabilities (thanks to
  Matthieu Castet).
- Several code modifications to avoid compiler warnings (thanks to Winfried Köhler).
- Added stream type 11172 AUDIO to cPatPmtParser::ParsePmt() (thanks to Johann
  Friedrichs).
- Removed debug output of '-' from cTransfer::Receive().
- Added defines for large files to the 'newplugin' script (reported by Udo Richter).
- Removed the workaround for short channel names of "Kabel Deutschland", because
  apparently they now have their data according to the DVB standard (thanks to
  Johann Friedrichs).
- Some fixes to dvbspu.[hc] (thanks to Johann Friedrichs).
- Fixed a busy loop when moving editing marks (thanks to Johann Friedrichs).
- Updated sources.conf (thanks to Derek Kelly).
- Modified cCharSetConv so that it can be used to convert from "whatever VDR uses"
  to a given code (thanks to Joachim Wilke).
- Channel names containing commas are now handled correctly in channels.conf.
  If a channel's short name contains a comma, it is replaced with a '.'.
- cDevice now logs the device number when a new device is created.
- Fixed handling STREAMTYPE_11172_AUDIO in cPatPmtParser::ParsePmt().
- cParsePatPmt now has functions to retrieve the audio, dolby and subtitle pids.
- cPatFilter::Process() now only stores CA descriptors for video and audio pids
  (thanks to Francesco Saverio Schiavarelli for reporting a problem with channels
  that have some encrypted components that VDR doesn't use).
- cDevice::AddPid() now stores the stream type of the given pid (thanks to Andreas
  Regel).
- Added cFont::FontName() and cFont::Size() (thanks to Andreas Regel).
- cPatPmtParser now also stores the audio stream types.
- The support for full featured DVB cards of the TT/FuSi design has been moved
  into the new plugin 'dvbsddevice'. On systems that use such a card as their
  primary device, this plugin now needs to be loaded when running VDR in order
  to view live or recorded video. If the plugin is not loaded, the card will
  be treated like a budget DVB card, and there will be no OSD or viewing
  capability.
- Fixed handling the "CA PMT" generation (revised a change not mentioned in version
  1.7.9's changes, which caused a malfunction with Conax and Viaccess CAMs).
- Fixed stopping subtitle display when switching the primary device (thanks to
  Anssi Hannula).
  IMPORTANT NOTE TO PLUGIN AUTHORS: a plugin that implements a derived cDevice
  class that can replay video must now call the MakePrimaryDevice() function of
  its base class.
- Fixed compiler warnings "format not a string literal and no format arguments"
  in some syslog calls (thanks to Rolf Ahrenberg).
- The new command line options --edit and --genindex can be used to edit a
  recording or generate its index without actually starting the entire VDR
  (based on a patch from Helmut Auer).
- Improved the description of the transponder parameters in vdr.5 (thanks to
  Winfried Köhler).
- Avoiding setting the video stream type to 2 if the vpid is 0 (problem reported
  by Arthur Konovalov).
- Implemented handling the "Content Descriptor" (based on a patch from Rolf
  Ahrenberg). The 'classic', 'sttng' and 'curses' skins display the textual
  representation of the content descriptors as "genre". The epg.data file stores
  the genre using the tag character 'G'.
- Implemented handling the "Parental Rating Descriptor" (based on a patch from Rolf
  Ahrenberg). The 'classic', 'sttng' and 'curses' skins display the parental
  rating (if given) in their event displays. The epg.data file stores
  the parental rating using the tag character 'R'.
  IMPORTANT NOTE: if VDR doesn't display a parental rating, this does not
  necessarily mean that the given programme is suitable for all audiences!
- Rearranged cEvent members to minimize memory waste.
- After a CLRE command, no further EPG processing is now done for 10 seconds,
  so that data sent with subsequent PUTE commands doesn't interfere with data
  from the broadcasters (suggested by Helmut Auer).
- Added support for DVB cards with multiple fontends. Note that this only
  works for DVB cards where each frontend can be used independently of all
  the others on the same adapter.
- Fixed plugin arguments corruption with glibc 2.11 on x86_64 (thanks to
  Anssi Hannula).
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.10</title>
<updated>2009-11-22T14:58:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>Klaus (dot) Schmidinger (at) tvdr (dot) de</email>
</author>
<published>2009-11-22T14:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=ea01358b3bca9d55402ba632c95cdd6458abfdb3'/>
<id>ea01358b3bca9d55402ba632c95cdd6458abfdb3</id>
<content type='text'>
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed wrong bracketing in cChannel::SubtitlingType() etc.
  (thanks to Rolf Ahrenberg).
- Fixed not logging changes for channels that have no number
  (reported by Timothy D. Lenz).
- Changed the project's URLs and email to tvdr.de.
- Added Lithuanian language translations (thanks to Valdemaras Pipiras).
- Updated Chinese language texts (thanks to Nan Feng).
- Only checking DVB_API_VERSION to be &gt;=5 in order to stay compileable in case
  the DVB API version number is increased (the API claims to always be backward
  compatible).
- Fixed saving terminal settings when running in background (thanks to Manuel
  Reimer).
- Fixed cFrameDetector::Analyze() to handle video streams where the frame type
  is not detectable from the first TS packet of a frame.
- Fixed writing the PCR pid into the PMT in cPatPmtGenerator::GeneratePmt()
  (reported by Rene van den Braken).
- Added Slovakian language texts (thanks to Milan Hrala).
- Fixed EntriesOnSameFileSystem() to avoid using f_fsid, which may be 0 (thanks
  to Frank Schmirler).
- Fixed starting a recording at an I-frame.
- Fixed generating the index for recordings from channels that put a whole
  GOP into one payload unit.
- The index file for TS recordings is now regenerated on-the-fly if a
  recording is replayed that has no index. This can also be used to
  re-create a broken index file by manually deleting the index file and then
  replaying the recording (at least until the index file has been generated).
- The cRingBufferLinear::Read() function now returns -1 and sets errno to
  EAGAIN if the buffer is already full.
- Fixed handling DVB subtitles for PES recordings (thanks to Rolf Ahrenberg).
- Added the audio id to the call of PlayAudio() in cDevice::PlayTsAudio()
  (thanks to Andreas Schaefers).
- Fixed references to old *.vdr file names in MANUAL (reported by Arthur Konovalov).
- Reverted "Removed limitation to PAL resolution from SPU handling" because it
  cause nothing but trouble. Besides, the core VDR doesn't use this, anyway.
- Fixed the default value for "Pause key handling" in the MANUAL (reported by
  Diego Pierotto).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed wrong bracketing in cChannel::SubtitlingType() etc.
  (thanks to Rolf Ahrenberg).
- Fixed not logging changes for channels that have no number
  (reported by Timothy D. Lenz).
- Changed the project's URLs and email to tvdr.de.
- Added Lithuanian language translations (thanks to Valdemaras Pipiras).
- Updated Chinese language texts (thanks to Nan Feng).
- Only checking DVB_API_VERSION to be &gt;=5 in order to stay compileable in case
  the DVB API version number is increased (the API claims to always be backward
  compatible).
- Fixed saving terminal settings when running in background (thanks to Manuel
  Reimer).
- Fixed cFrameDetector::Analyze() to handle video streams where the frame type
  is not detectable from the first TS packet of a frame.
- Fixed writing the PCR pid into the PMT in cPatPmtGenerator::GeneratePmt()
  (reported by Rene van den Braken).
- Added Slovakian language texts (thanks to Milan Hrala).
- Fixed EntriesOnSameFileSystem() to avoid using f_fsid, which may be 0 (thanks
  to Frank Schmirler).
- Fixed starting a recording at an I-frame.
- Fixed generating the index for recordings from channels that put a whole
  GOP into one payload unit.
- The index file for TS recordings is now regenerated on-the-fly if a
  recording is replayed that has no index. This can also be used to
  re-create a broken index file by manually deleting the index file and then
  replaying the recording (at least until the index file has been generated).
- The cRingBufferLinear::Read() function now returns -1 and sets errno to
  EAGAIN if the buffer is already full.
- Fixed handling DVB subtitles for PES recordings (thanks to Rolf Ahrenberg).
- Added the audio id to the call of PlayAudio() in cDevice::PlayTsAudio()
  (thanks to Andreas Schaefers).
- Fixed references to old *.vdr file names in MANUAL (reported by Arthur Konovalov).
- Reverted "Removed limitation to PAL resolution from SPU handling" because it
  cause nothing but trouble. Besides, the core VDR doesn't use this, anyway.
- Fixed the default value for "Pause key handling" in the MANUAL (reported by
  Diego Pierotto).
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.9</title>
<updated>2009-08-23T14:04:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>kls (at) cadsoft (dot) de</email>
</author>
<published>2009-08-23T14:04:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=06bf4c453e22a9bf03f5ec46f7b45593e2cb326c'/>
<id>06bf4c453e22a9bf03f5ec46f7b45593e2cb326c</id>
<content type='text'>
- Fixed storing the current OSD size in case the device has
  changed it in its setup menu (reported by Reinhard Nissl).
- Fixed cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in case only part of the
  buffer has been accepted by the device (reported by Udo Richter).
- Changed the EIT filter setup to save a few handles on devices that do hardware
  filtering.
- Fixed deleting expired timers if they have the VPS flag set, but the event they
  are assigned to doesn't have a VPS tag.
- Fixed handling file name length on VFAT systems in case they
  contain UTF-8 characters (thanks to Rolf Ahrenberg).
- Fixed generating CaPmts in case audio and video are encrypted using different
  ECM pids.
- Updated vdr.1 to use the new file names in recording directories.
- Fixed cRecordings::DelByName() to avoid compilation errors with gcc 4.4
  (thanks to Matthias Schwarzott).
- Increased the value of MAXFRAMESIZE to better suit HD recordings (thanks to
  Reinhard Nissl).
- Implemented full handling of subtitling descriptors (thanks to Mikko Tuumanen).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixed storing the current OSD size in case the device has
  changed it in its setup menu (reported by Reinhard Nissl).
- Fixed cDevice::PlayTsVideo() and cDevice::PlayTsAudio() in case only part of the
  buffer has been accepted by the device (reported by Udo Richter).
- Changed the EIT filter setup to save a few handles on devices that do hardware
  filtering.
- Fixed deleting expired timers if they have the VPS flag set, but the event they
  are assigned to doesn't have a VPS tag.
- Fixed handling file name length on VFAT systems in case they
  contain UTF-8 characters (thanks to Rolf Ahrenberg).
- Fixed generating CaPmts in case audio and video are encrypted using different
  ECM pids.
- Updated vdr.1 to use the new file names in recording directories.
- Fixed cRecordings::DelByName() to avoid compilation errors with gcc 4.4
  (thanks to Matthias Schwarzott).
- Increased the value of MAXFRAMESIZE to better suit HD recordings (thanks to
  Reinhard Nissl).
- Implemented full handling of subtitling descriptors (thanks to Mikko Tuumanen).
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.8</title>
<updated>2009-06-14T11:49:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>kls (at) cadsoft (dot) de</email>
</author>
<published>2009-06-14T11:49:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=ab6f2ccf424896a80b6e2fdf9ab9313ea4b7f316'/>
<id>ab6f2ccf424896a80b6e2fdf9ab9313ea4b7f316</id>
<content type='text'>
- The name of the function cDevice::GetVideoSize() wasn't very well chosen
  for its purpose of defining the optimum size of the OSD for the current
  output device. Therefore a new function named cDevice::GetOsdSize() has
  been introduced (suggested by Rolf Ahrenberg). Plugin authors should
  implement this function in classes derived from cDevice, if they are able
  to replay video. cDevice::GetVideoSize() still exists and should return the
  actual size of the video material that is currently replayed. Note that
  because of the many possible aspect ratios for video material, the type
  of the Aspect parameter of GetVideoSize() has been changed to 'double',
  and the Aspect parameter in both functions is named differently, because
  it returns different values (suggested by Reinhard Nissl).
  Thanks to Oliver Endriss for his input on calculating the Aspect factor in
  GetOsdSize().
- Fixed the way the OSD size is determined on full featured DVB cards (thanks
  to Oliver Endriss).
- Increased MAXOSDHEIGHT to 1200 (suggested by Nicolas Huillard).
- Removed limitation to PAL resolution from SPU handling.
- Checking fd_video in cDvbDevice::GetVideoSize() to avoid error messages on
  systems with no real primary replay device (reported by Martin Neuditschko).
- Added a note to cTsToPes::GetPes() about having to call it repeatedly, once
  it has returned a non-NULL value.
- Added MPEG 1 handling to remux.c (thanks to Ales Jurik).
- Fixed use of time_t in cEIT::cEIT() (thanks to Tobias Bratfisch).
- Added missing update of lastOsdSizeUpdate.
- EIT events are now only processed if a plausible system time is available, to
  avoid wrong handling of PDC descriptors (thanks to Tobias Bratfisch).
- Removed unused 'synced' member from cTsToPes (reported by Christoph Haubrich).
- Added a note to cTsToPes about all TS packets having to belong to the same PID,
  and that for video data GetPes() may only be called if the next TS packet that
  will be given to PutTs() has the "payload start" flag set (suggested by Christoph
  Haubrich).
- Added a note about the meaning of PERCENTAGEDELTA in cRingBuffer::UpdatePercentage()
  (thanks to Rolf Ahrenberg).
- The new setup option "Recording/Pause key handling" can be used to define
  what happens if the Pause key on the remote control is pressed during
  live tv (thanks to Timo Eskola).
- Added a note about cFont::GetFont() not being thread-safe.
- Fixed generating PAT/PMT version numbers in case the PIDs change during
  recording (reported by Reinhard Nissl).
- Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk).
- Fixed a memory leak when reaching the end of a recording during replay (reported
  by Reinhard Nissl).
- Fixed calling close(-1) in cUnbufferedFile::Close() (reported by Reinhard Nissl).
- Added a workaround for the broken linux-dvb driver header files (based on a patch
  from Tobias Grimm).
- Fixed handling the length of DiSEqC command sequences (reported by Reinhard Nissl).
- Fixed cOsdMenu::Display() in case the menu size has changed (thanks to
  Reinhard Nissl).
- Added some missing 'const' keywords to avoid compilation errors with gcc 4.4
  (thanks to Ville Skyttä and Ludwig Nussel).
- Modified cSVDRP::CmdGRAB() to avoid writing into const data (reported by
  Ludwig Nussel).
- Fixed calculating menu colum widths in case the font has a size other than the
  default size (reported by Reinhard Nissl).
- Added a plausibility check for the OSD percentage parameters
  to avoid problems in case the values are stored in the setup.conf
  file in a  wrong way.
- Fixed variable types in cIndexFile (reported by Udo Richter).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- The name of the function cDevice::GetVideoSize() wasn't very well chosen
  for its purpose of defining the optimum size of the OSD for the current
  output device. Therefore a new function named cDevice::GetOsdSize() has
  been introduced (suggested by Rolf Ahrenberg). Plugin authors should
  implement this function in classes derived from cDevice, if they are able
  to replay video. cDevice::GetVideoSize() still exists and should return the
  actual size of the video material that is currently replayed. Note that
  because of the many possible aspect ratios for video material, the type
  of the Aspect parameter of GetVideoSize() has been changed to 'double',
  and the Aspect parameter in both functions is named differently, because
  it returns different values (suggested by Reinhard Nissl).
  Thanks to Oliver Endriss for his input on calculating the Aspect factor in
  GetOsdSize().
- Fixed the way the OSD size is determined on full featured DVB cards (thanks
  to Oliver Endriss).
- Increased MAXOSDHEIGHT to 1200 (suggested by Nicolas Huillard).
- Removed limitation to PAL resolution from SPU handling.
- Checking fd_video in cDvbDevice::GetVideoSize() to avoid error messages on
  systems with no real primary replay device (reported by Martin Neuditschko).
- Added a note to cTsToPes::GetPes() about having to call it repeatedly, once
  it has returned a non-NULL value.
- Added MPEG 1 handling to remux.c (thanks to Ales Jurik).
- Fixed use of time_t in cEIT::cEIT() (thanks to Tobias Bratfisch).
- Added missing update of lastOsdSizeUpdate.
- EIT events are now only processed if a plausible system time is available, to
  avoid wrong handling of PDC descriptors (thanks to Tobias Bratfisch).
- Removed unused 'synced' member from cTsToPes (reported by Christoph Haubrich).
- Added a note to cTsToPes about all TS packets having to belong to the same PID,
  and that for video data GetPes() may only be called if the next TS packet that
  will be given to PutTs() has the "payload start" flag set (suggested by Christoph
  Haubrich).
- Added a note about the meaning of PERCENTAGEDELTA in cRingBuffer::UpdatePercentage()
  (thanks to Rolf Ahrenberg).
- The new setup option "Recording/Pause key handling" can be used to define
  what happens if the Pause key on the remote control is pressed during
  live tv (thanks to Timo Eskola).
- Added a note about cFont::GetFont() not being thread-safe.
- Fixed generating PAT/PMT version numbers in case the PIDs change during
  recording (reported by Reinhard Nissl).
- Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk).
- Fixed a memory leak when reaching the end of a recording during replay (reported
  by Reinhard Nissl).
- Fixed calling close(-1) in cUnbufferedFile::Close() (reported by Reinhard Nissl).
- Added a workaround for the broken linux-dvb driver header files (based on a patch
  from Tobias Grimm).
- Fixed handling the length of DiSEqC command sequences (reported by Reinhard Nissl).
- Fixed cOsdMenu::Display() in case the menu size has changed (thanks to
  Reinhard Nissl).
- Added some missing 'const' keywords to avoid compilation errors with gcc 4.4
  (thanks to Ville Skyttä and Ludwig Nussel).
- Modified cSVDRP::CmdGRAB() to avoid writing into const data (reported by
  Ludwig Nussel).
- Fixed calculating menu colum widths in case the font has a size other than the
  default size (reported by Reinhard Nissl).
- Added a plausibility check for the OSD percentage parameters
  to avoid problems in case the values are stored in the setup.conf
  file in a  wrong way.
- Fixed variable types in cIndexFile (reported by Udo Richter).
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.7</title>
<updated>2009-05-03T15:15:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>kls (at) cadsoft (dot) de</email>
</author>
<published>2009-05-03T15:15:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=991eda006700f1703bcec528c1ff178a4cab9048'/>
<id>991eda006700f1703bcec528c1ff178a4cab9048</id>
<content type='text'>
- The new function cDevice::GetVideoSize() returns the size and aspect ratio
  of the video material currently displayed. This function is used to determine
  the proper size of the OSD. Plugin authors should implement this function in
  classes derived from cDevice, if they are able to replay video.
- The OSD and font sizes are now defined in percent of the actual video display
  size. The maximum OSD size has been raised to 1920x1080, to allow full
  screen OSD on HD systems.
- The OSD size is now automatically adjusted to the actual video display
  (provided the output device implements the GetVideoSize() function).
- cFrameDetector::Analyze() now syncs on the TS packet sync bytes (thanks to
  Oliver Endriss for reporting broken index generation after a buffer overflow).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- The new function cDevice::GetVideoSize() returns the size and aspect ratio
  of the video material currently displayed. This function is used to determine
  the proper size of the OSD. Plugin authors should implement this function in
  classes derived from cDevice, if they are able to replay video.
- The OSD and font sizes are now defined in percent of the actual video display
  size. The maximum OSD size has been raised to 1920x1080, to allow full
  screen OSD on HD systems.
- The OSD size is now automatically adjusted to the actual video display
  (provided the output device implements the GetVideoSize() function).
- cFrameDetector::Analyze() now syncs on the TS packet sync bytes (thanks to
  Oliver Endriss for reporting broken index generation after a buffer overflow).
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.6</title>
<updated>2009-04-26T10:19:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>kls (at) cadsoft (dot) de</email>
</author>
<published>2009-04-26T10:19:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=733a2becc44a02daf10b97d24b8a9c8b00de3964'/>
<id>733a2becc44a02daf10b97d24b8a9c8b00de3964</id>
<content type='text'>
- 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).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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).
</pre>
</div>
</content>
</entry>
<entry>
<title>Version 1.7.5</title>
<updated>2009-04-12T09:39:00+00:00</updated>
<author>
<name>Klaus Schmidinger</name>
<email>kls (at) cadsoft (dot) de</email>
</author>
<published>2009-04-12T20:29:35+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/vdr-patch-lnbsharing/commit/?id=1aadb31fb355550bb415ed971322a9bcb80f9325'/>
<id>1aadb31fb355550bb415ed971322a9bcb80f9325</id>
<content type='text'>
- Fixed a hangup when replaying a TS recording with subtitles activated (reported
  by Timo Helkio).
- Fixed handling the 'new' indicator in the recordings menu for TS recordings
  (thanks to Derek Kelly).
- Added cap_sys_nice to the capabilities that are not dropped (thanks to Rolf
  Ahrenberg).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Added cRecordingInfo::GetEvent() (thanks to Marcel Unbehaun).
- Improved synchronizing the progress display, trick modes and subtitle display
  to the actual audio/video. This now works independent of any buffer sizes the
  output device might use.
  + The cBackTrace class has been replaced with cPtsIndex, which keeps track
    of the PTS timestamps of recently played frames.
  + cDevice::GetSTC() is now required to deliver the STC even in trick modes.
    It is sufficient if it returns the PTS of the most recently presented
    audio/video frame.
  + The full-featured DVB cards need an improved firmware in order to return
    proper STC values in trick modes (thanks to Oliver Endriss for enhancing the
    av7110 firmware).
- Adapted cFrameDetector::Analyze() to HD NTSC broadcasts that split frames over
  several payload units (thanks to Derek Kelly for reporting this and helping in
  testing).
- Modified cFrameDetector::Analyze() to make it process whole frames at once, so
  that file I/O overhead is minimized during recording (reported by Günter
  Niedermeier).
- Added command line help for the '-i' option.
- Fixed cDvbPlayer::NextFile() to handle files larger than 2GB (thanks to Jose
  Alberto Reguero).
- Improved replay at the begin and end of a recording. The very first and very last
  frame is now sent to the output device repeatedly until GetSTC() reports that it
  has been played. cDvbPlayer::Action() no longer calls DeviceFlush() (thanks to
  Reinhard Nissl for making sure vdr-xine no longer needs this).
- Added missing '[]' to the delete operator in cMenuEditStrItem::~cMenuEditStrItem().
- Added missing virtual destructor to cPalette.
- Now freeing configDirectory before setting it to a new value in
  cPlugin::SetConfigDirectory().
- Fixed a crash when jumping to an editing mark in an audio recording.
- Fixed the 'VideoOnly' condition in the PlayPes() and PlayTs() calls in
  cDvbPlayer::Action() (thanks to Reinhard Nissl).
- cDevice::PlayTs() now plays as many TS packets as possible in one call.
- Making sure any floating point numbers written use a decimal point (thanks to
  Oliver Endriss for pointing out a problem with the F record in the info file of
  a recording).
- Fixed detecting the frame rate for radio recordings.
- Added missing AUDIO_PAUSE/AUDIO_CONTINUE calls to cDvbDevice (thanks to Oliver
  Endriss).
- No longer writing the video type into channels.conf if VPID is 0 (thanks to
  Oliver Endriss for reporting this).
- Improved efficiency of cEIT::cEIT() (thanks to Tobias Bratfisch).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixed a hangup when replaying a TS recording with subtitles activated (reported
  by Timo Helkio).
- Fixed handling the 'new' indicator in the recordings menu for TS recordings
  (thanks to Derek Kelly).
- Added cap_sys_nice to the capabilities that are not dropped (thanks to Rolf
  Ahrenberg).
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Added cRecordingInfo::GetEvent() (thanks to Marcel Unbehaun).
- Improved synchronizing the progress display, trick modes and subtitle display
  to the actual audio/video. This now works independent of any buffer sizes the
  output device might use.
  + The cBackTrace class has been replaced with cPtsIndex, which keeps track
    of the PTS timestamps of recently played frames.
  + cDevice::GetSTC() is now required to deliver the STC even in trick modes.
    It is sufficient if it returns the PTS of the most recently presented
    audio/video frame.
  + The full-featured DVB cards need an improved firmware in order to return
    proper STC values in trick modes (thanks to Oliver Endriss for enhancing the
    av7110 firmware).
- Adapted cFrameDetector::Analyze() to HD NTSC broadcasts that split frames over
  several payload units (thanks to Derek Kelly for reporting this and helping in
  testing).
- Modified cFrameDetector::Analyze() to make it process whole frames at once, so
  that file I/O overhead is minimized during recording (reported by Günter
  Niedermeier).
- Added command line help for the '-i' option.
- Fixed cDvbPlayer::NextFile() to handle files larger than 2GB (thanks to Jose
  Alberto Reguero).
- Improved replay at the begin and end of a recording. The very first and very last
  frame is now sent to the output device repeatedly until GetSTC() reports that it
  has been played. cDvbPlayer::Action() no longer calls DeviceFlush() (thanks to
  Reinhard Nissl for making sure vdr-xine no longer needs this).
- Added missing '[]' to the delete operator in cMenuEditStrItem::~cMenuEditStrItem().
- Added missing virtual destructor to cPalette.
- Now freeing configDirectory before setting it to a new value in
  cPlugin::SetConfigDirectory().
- Fixed a crash when jumping to an editing mark in an audio recording.
- Fixed the 'VideoOnly' condition in the PlayPes() and PlayTs() calls in
  cDvbPlayer::Action() (thanks to Reinhard Nissl).
- cDevice::PlayTs() now plays as many TS packets as possible in one call.
- Making sure any floating point numbers written use a decimal point (thanks to
  Oliver Endriss for pointing out a problem with the F record in the info file of
  a recording).
- Fixed detecting the frame rate for radio recordings.
- Added missing AUDIO_PAUSE/AUDIO_CONTINUE calls to cDvbDevice (thanks to Oliver
  Endriss).
- No longer writing the video type into channels.conf if VPID is 0 (thanks to
  Oliver Endriss for reporting this).
- Improved efficiency of cEIT::cEIT() (thanks to Tobias Bratfisch).
</pre>
</div>
</content>
</entry>
</feed>
