7 Commits

Author SHA1 Message Date
Klaus Schmidinger
889f7deeb4 Version 1.7.36
VDR developer version 1.7.36 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.36.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.35-1.7.36.diff

MD5 checksums:

e514f72a2a8c44f39e47b540d6ad325f  vdr-1.7.36.tar.bz2
9312a0d10bcda87d3c3c7e6dfbebcd05  vdr-1.7.35-1.7.36.diff

WARNING:
========

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.

From the HISTORY file:
- Added maximum SNR value for PCTV Systems nanoStick T2 290e (thanks to Antti
  Hartikainen).
- Added a remark indicating that the coordinates of Rect in a call to
  cDevice::CanScaleVideo() are in the range of the width and height returned by
  GetOsdSize() (suggested by Reinhard Nissl).
- Modified the Makefiles (thanks to Christopher Reimer).
  By default VDR is now built according to the FHS ("File system Hierarchy Standard"),
  and a plain "make" in the VDR source directory just builds everything, but doesn't
  copy it to ./PLUGINS/lib and ./locale any more. You can use a Make.config file
  (copied from Make.config.template) and set the parameter LCLBLD=1 to have everything
  built and installed under the VDR source tree (as was the default in previous
  versions). If you already have your own Make.config file, you may want to copy the
  new Make.config.template and adapt it to your needs. If you don't want VDR's data
  files to be spread around your system according to the FHS, you can set the
  parameter ONEDIR=1 (using Make.config) to have all files in one /video directory as
  before.
- Fixed the example for cReceiver in PLUGINS.html.
- Fixed sorting recordings in case two folders have the same name, but one of them
  ends in an additional digit, as in "abc" and "abc2" (reported by Andreas Mair).
- Added "repeat" function when using the keyboard to control VDR (thanks to Reinhard
  Nissl).
- The SVDRP command LSTR now knows the additional parameter "path", which can be
  given to get the actual file name of a recording's directory (suggested by
  Stefan Stolz).
- Fixed multiple occurrences of the same directory in the recordings list in case there
  are directories that only differ in non-alphanumeric characters (reported by Andreas
  Mair).
- Absolute jumps when replaying a recording (via the Red key) are now only performed
  if an actual value has been entered (suggested by Ulf Kiener).
- The last replayed recording is now stored in setup.conf, which allows the blue
  "Resume" key in the main menu to work even after a restart of VDR.
- The SVDRP command NEWT no longer checks whether a timer with the given data already
  exists (suggested by Malte Forkel).
- Implemented scaling of SPU bitmaps (thanks to Johann Friedrichs).
- Improved cutting MPEG-2 video (thanks to Sören Moch).
- Reduced the number of retries in cTransfer::Receive() to avoid blocking recordings
  in case the primary device can't handle the current live signal.
2013-01-22 00:35:10 +01:00
Klaus Schmidinger
873ab00a77 Version 1.7.35
VDR developer version 1.7.35 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.35.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.34-1.7.35.diff

MD5 checksums:

3b9d0376325370afb464b6c5843591c7  vdr-1.7.35.tar.bz2
4b6fb681359325ad33a466503503e772  vdr-1.7.34-1.7.35.diff

WARNING:
========

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.

From the HISTORY file:
- Changed the type of the TimerMatch parameter in cSkinDisplayMenu::SetItemEvent() from
  'int' to 'eTimerEvent' (reported by Christoph Haubrich).
- Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Fixed cOsd::GetBitmap() to always return NULL if a non-exising area is requested.
- Added several missing "`ls $^`" in the calls to xgettext in plugin Makefiles and the
  "newplugin" script.
- Fixed setting the --package-name and --package-version options in the calls to
  xgettext in several plugin Makefiles.
- Added "-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE" to the
  DEFINES in the Makefile (somehow got lost from Make.config.template in version 1.7.13).
- Removed some redundancy in the Makefile/Make.global/Make.config mechanism (suggested
  by Christopher Reimer). The file Make.global is no longer used, and plugin Makefiles
  don't include the file Make.config any more. Instead they now retrieve all necessary
  information through calls to pkg-config.
- The plugin Makefiles now have a separate 'install' target (suggested by Christopher
  Reimer). In order to still allow the normal building of VDR (with all plugins in its
  ./PLUGINS/src subdirectory, the plugin libraries in ./PLUGINS/lib and the i18n files in
  ./locale) the VDR Makefile checks the settings of LIBDIR and LOCDIR when building the
  plugins from within the VDR source directory. If these macros have their default values,
  then the 'install' targets of the plugins' Makefiles are called. Otherwise the 'all'
  targets are called and the plugins are merely built, and will have to be installed by a
  call to 'make install-plugins'. This now also allows a user to copy a plugin source to
  any directory, change into that directory and do 'make' and 'make install' to have the
  plugin installed to wherever the local installation of VDR expects them.
- Plugin Makefiles now use DESTDIR and the 'install' program (thanks to Christopher Reimer).
- Due to the changes to the plugin Makefiles, existing plugins will not build with this
  version of VDR any more. You can either use the new 'newplugin' script to generate a
  dummy plugin directory and use the Makefile from there (adapting it to your particular
  plugin), or apply the patch from
  ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.33-pluginmakefile.diff
  to your Makefile to make the necessary changes (see comments in that file for details).
- Added the new menu categories mcChannelEdit, mcTimerEdit, mcScheduleNow, mcScheduleNext,
  mcRecordingInfo, mcPluginSetup, mcSetupOsd, mcSetupEpg, mcSetupDvb, mcSetupLnb,
  mcSetupCam, mcSetupRecord, mcSetupReplay, mcSetupMisc and mcSetupPlugins.
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed replay stuttering close to the end of an ongoing recording (reported by Andreas
  Regel).
- Fixed cIndexFile::GetNextIFrame() to properly handle the case where the very last frame
  is an I-frame (which normally shouldn't occur).
- Fixed replaying ongoing recordings from other VDR instances.
2012-12-31 16:01:02 +01:00
Klaus Schmidinger
5117f35938 Version 1.7.26
Original announce message:
VDR developer version 1.7.26 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.26.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.25-1.7.26.diff

MD5 checksums:

eb57398e44935ecb0bfc532bdfead312  vdr-1.7.26.tar.bz2
62e0f39e2c53ec2b5abd3ebb0e00ce3d  vdr-1.7.25-1.7.26.diff

WARNING:
========

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.

From the HISTORY file:
- Now checking for NULL in cOsd::AddPixmap() (suggested by Christoph Haubrich).
- Fixed the German translation of "VDR will shut down in %s minutes" (thanks to
  Frank Neumann).
- The replay progress display is now turned on whenever a mark is toggled (not
  only when one is set).
- Toggling a mark now restarts the timeout of the replay progress display.
- Fixed a possible race condition with the SVDRP commands CLRE and PUTE, where
  EPG data from the transponder could be handled even though it shouldn't be
  handled for 10 seconds.
- Added some missing member initializations in cBitmap.
- Improved displaying the play mode in the ST:TNG skin.
- Made the ST:TNG skin the default in case the user selected skin is not available.
- Improved displaying signal strength and quality in the ST:TNG skin's channel
  display.
- Fixed switching devices to the transponders of VPS recordings in case there
  are only bonded devices. The cDevice's "avoid device" mechanism has been replaced
  by using "occupied".
- Fixed selecting devices for the EPG scan in case the primary device is bonded
  with an other one.
- Removed the calls to EITScanner.UsesDevice(this) from dvb[hs]ddevice.c, because
  the code following these calls is only executed if LiveView is true, which is
  never the case when the EITScanner switches to a channel.
- Removed the obsolete function cEITScanner::UsesDevice(). If a plugin has used this
  function to find out whether a call to its cStatus::ChannelSwitch() function was
  due to a live channel switch, it can use that function's new parameter LiveView.
  Any plugins that implement cStatus::ChannelSwitch() need to add the parameter
  'bool LiveView' to that function.
- Fixed parsing channel data in case the audio pid is 0. On channels that only
  broadcast Dolby Digital audio there were sometimes log entries like
  "changing pids of channel ... from ... to ..." with no apparent difference
  between the old and new set of pids.
- Fixed checking pids in case a channel has only Dolby Digital audio.
- The Green button in the "Edit timer" menu can now be used to toggle between single
  shot and repeating timers. This is the same as pressing '0' when the "Day" field
  is selected, but it works at any time (and is more obvious).
- Revoked "If the first event in a schedule has a table id of 0x00, any incoming EIT data for
  that schedule from the DVB stream will be completely ignored".
- Added a new plugin interface for implementing EPG handlers.
  + A plugin can implement an EPG handler by creating an object derived from
    cEpgHandler and implementing the necessary member functions.
  + The special handling of events with table id 0x00 has been dropped.
    For backwards compatibility EPG events with table ids lower than 0x4E will
    be treated as if they had a table id of 0x4E, and the new plugin 'epgtableid0'
    can be used to have them handled like in previous versions.
  + The default table id for a newly created cEvent has been changed to 0xFF,
    which is higher than any normal table id that is broadcast in the EIT data.
  See PLUGINS.html, section "Electronic Program Guide" for more information.
2012-03-11 18:00:38 +01:00
Klaus Schmidinger
0c96d6b626 Version 1.7.21
Original announce message:
VDR developer version 1.7.21 is now available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.21.tar.bz2

A 'diff' against the previous version is available at

       ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.20-1.7.21.diff

MD5 checksums:

7300bfd997db1a848bd774fefe4aec80  vdr-1.7.21.tar.bz2
c4e745939f31543dd607b97d58fc86be  vdr-1.7.20-1.7.21.diff

WARNING:
========

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.

This version contains 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.

From the HISTORY file:
- Fixed detecting frames for channels that split frames into several payloads
  (reported by Derek Kelly).
- Now initializing Setup.InitialChannel to an empty string to avoid problems in
  case there is no setup.conf.
- The start time of an edited recording is now set to the time of the first
  editing mark (thanks to Udo Richter).
  This obsoletes the CUTTIME patch.
- Direct access to the members start, priority, lifetime, and deleted of cRecording
  as well as to position and comment of cMark is now deprecated. Plugin authors
  should switch to the new access functions for these members. For now the macro
  __RECORDING_H_DEPRECATED_DIRECT_MEMBER_ACCESS is defined in recording.h, which
  exposes these members, so that existing plugins will still compile. Comment out
  this #define to check whether a particular plugin needs to be modified.
  This #define may be removed in a future version.
- The new functions cRecording::NumFrames() and cRecording::LengthInSeconds() return
  the number of frames and length (in seconds) of a recording (suggested by Steffen
  Barszus).
- The subtitle PIDs are now stored in the channels.conf file as an extension to the
  TPID field (thanks to Rolf Ahrenberg).
- The new function cDevice::ProvidesEIT() is used to determine whether a device can
  provide EIT data and will thus be used in cEITScanner::Process() to receive EIT
  data from the channels it can receive (suggested by Rolf Ahrenberg). Note that by
  default it is assumed that a device can't provide EIT data, and only the builtin
  cDvbDevice returns true from this function.
- The Audio and Subtitles options are now available through the Green and Yellow
  keys in the Setup/DVB menu (thanks to Rolf Ahrenberg). This is mainly for remote
  controls that don't have dedicated keys for these functions.
- The SVDRP command HITK now accepts multiple keys (up to 31).
- The Recordings menu now displays the length (in hours:minutes) of each recording
  (thanks to Rolf Ahrenberg). Note that the "new" indicator has been moved from the
  recording time to the length column. This new format is also used by the SVDRP
  command LSTR, so in case you have an application that parses the LSTR output,
  you will need to adjust it to the new format.
- The dvbsddevice plugin now supports the new option --outputonly, which disables
  receiving on SD FF devices and uses the device only for output (thanks to Udo
  Richter).
- Fixed detecting frames on radio channels (reported by Chris Mayo).
- Revoked the changes to cFrameDetector that have been introduced in version 1.7.19.
  Detecting frames in case the Picture Start Code or Access Unit Delimiter
  extends over TS packet boundaries is now done by locally skipping TS packets
  in cFrameDetector.
2011-09-04 17:50:17 +02:00
Klaus Schmidinger
8b9350c091 Version 1.7.18
- Changed -O2 to -O3 in Make.config.template (reported by Matti Lehtimäki).
- Added a missing 'default' case in cPixmapMemory::DrawEllipse().
- Fixed some direct comparisons of double values.
- Fixed detecting frames on channels that broadcast with separate "fields" instead
  of complete frames.
- Made updating the editing marks during replay react faster in case the marks
  file has just been written (with a patch from Udo Richter).
- Fixed horizontal scaling of subtitles (reported by Reinhard Nissl).
- Stripped the note "The data returned by this function is only used for informational
  purposes (if any)" from the description of cDevice::GetVideoSize(). The VideoAspect
  is now used to properly scale subtitles.
- Fixed cUnbufferedFile::Seek() in case it is compiled without USE_FADVISE (thanks
  to Juergen Lock).
- Fixed the Language header of the Serbian translation file (thanks to Ville Skyttä).
- Added anti-aliasing when upscaling bitmaps, which improves the display of SD subtitles
  when replayed on an HD OSD (thanks to Reinhard Nissl for his help in debugging).
- Renamed cBitmap::Scale() to Scaled(), because it doesn't modify the bitmap itself,
  but rather returns a scaled copy.
- Fixed the description of cReceiver in PLUGINS.html, regarding detaching a receiver
  from its device before deleting it (reported by Winfried Köhler). This change in
  behavior was introduced in version 1.5.7.
- Fixed scaling subtitles in case the OSD size is exactly the same as the display
  size of the subtitles.
- Added a missing initialization to sDvbSpuRect (reported by Sergiu Dotenco).
- Replaced "%lld" and "%llX" print format specifiers with "PRId64" and "PRIX64" to
  avoid compiler warnings with gcc 4.5.2 (thanks to Sergiu Dotenco).
  On a personal note: I find it a step in the totally wrong direction that there
  have been macros introduced to work around this problem in the first place. There
  should have been "real" format specifiers defined that address this. These macros
  are nothing but an ugly workaround.
- Added Cancel(3) to ~cTrueColorDemo() in the "osddemo" plugin (thanks to Reinhard Nissl).
- Added a missing font deletion in cTrueColorDemo::Action() in the "osddemo" plugin
  (thanks to Reinhard Nissl).
- Fixed a buffer overflow in cFont::Bidi() (thanks to Reinhard Nissl).
- Added HD stream content identifiers to vdr.5 (thanks to Christoph Haubrich).
- Made cRecordingInfo::Read(FILE *f) private to avoid calls to it from outside
  cRecordingInfo or cRecording (reported by Mika Laitio).
- The dvbhddevice plugin is now part of the VDR distribution archive (thanks to
  Andreas Regel).
- Removed an obsolete local variable in dvbsdffosd.c (thanks to Paul Menzel).
- Fixed a possible NULL pointer dereference in osddemo.c (reported by Paul Menzel).
- Now using pkg-config to get fribidi, freetype and fontconfig cflags and libs (thanks
  to Ville Skyttä).
- The Makefile now also installs the include files (thanks to Ville Skyttä).
- Added handling of "ANSI/SCTE 57" descriptors (thanks too Rolf Ahrenberg).
- Avoiding an unecessary call to Recordings.ResetResume() (thanks to Reinhard
  Nissl).
2011-04-17 17:09:00 +02:00
Klaus Schmidinger
09a17d56e2 Version 1.7.12
- 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.
2010-01-31 15:42:00 +01:00
Klaus Schmidinger
939081e274 Version 1.7.11
- 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).
2010-01-06 13:34:00 +01:00