Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] VDR developer version 1.1.3



VDR developer version 1.1.3 is now available at

    ftp://ftp.cadsoft.de/pub/people/kls/vdr/Developer/vdr-1.1.3.tgz

This version is directed towards developers who want to implement
plugins for VDR. The "stable" version for every day use is still 1.0.4.

Please read the file VDR/PLUGINS.html, which gives an overview of the
plugin interface and how to create your own plugins.


This version introduces some major code rearrangements in order to prepare
for further plugin capabilities. The main focus is on extracting the "player"
and "recorder" functions from the old "dvbapi.c" into separate files, to
make them accessible to plugins.

The old "dvbapi.c" file has been split into the files "device.c" (the core
DVB device), "player.c" (the abstract player class), "dvbplayer.c" (the actual
DVB player used to play VDR recordings), "receiver.c" (an abstract data receiver)
and "recorder.c" (the actual VDR recorder) - together with the respective "*.h"
files.

The idea is that classes derived from cPlayer and cReceiver can be "attached"
to a cDevice in order to play or receive data. With this new approach it is
also possible to allow several cReceivers to be attached to the same cDevice,
thus resulting in multiple parallel recordings on the same transponder (as long
as the computer is fast enough).

IMPORTANT NOTE:
===============

This version still has some limitations (see below) and is considered highly
experimental! USE IT WITH GREAT CARE AND UNDER CONTROLLED CONDITIONS BEFORE
RELYING ON IT FOR EVERY DAY USE!

The actual implementation of the plugin interface for players will come next,
I just wanted to make this code publicly available for testing the new player
and recorder structures, especially recording multiple channels on the same
transponder (with "budget cards"). Please take a close look at the code,
especially cDevice::Action() (in device.c), cRecorder::Action() (in recorder.c)
and cDvbPlayer::Action() (in dvbplayer.c) and let me know of you find anything
wrong with it. There may still be performance issues, especially with multiple
recordings.

Before using this version of VDR you should apply the patch in dmxdev.c.diff to
the file DVB/driver/dmxdev.c (driver version 2002-05-20) in order to fix a bug
in the driver's poll() mechanism.

The changes since version 1.1.2:

- Improved the VDR Makefile to avoid a warning if the '.dependencies' file does
  not exist, and also using $(MAKE) to call recursive makes.
- Changed the name of the 'package' target in the plugin Makefiles to 'dist'
  (following the suggestions in the "GNU Make" manual). If you already have started
  a plugin project, you may want to change this in your Makefile accordingly.
- Improved the plugin Makefile to avoid a warning if the '.dependencies' file does
  not exist, and also using $(shell...) to get the version numbers. If you already have
  started a plugin project, you may want to change this in your Makefile accordingly.
- Fixed some function headers to make them compile with gcc 3.x (thanks to
  Gregoire Favre).
- Fixed the cutting mechanism to make it re-sync in case a frame is larger than the
  buffer (thanks to Sven Grothklags).
- Added an error message if the directory specified in the '-L' option can't be
  accessed (suggested by Stefan Huelswitt).
- Rearranged OSD class names to make 'cOsd' available for the main OSD interface.
- Completely moved OSD handling out of the cDvbApi class, into the new cOsd.
- Implemented cStatusMonitor to allow plugins to set up a status monitor.
  See PLUGINS.html for details.
- Moved the cEITScanner out of dvbapi.h/.c, into the new eitscan.h/.c.
- Added Swedish language texts (thanks to Tomas Prybil).
- Fixed parsing 'E' records in epg2html.pl (thanks to Matthias Fechner for pointing
  out this one).
- Removed compiler option '-m486' to make it work on non-Intel platforms. If you
  have already started a plugin project, you may want to make sure you remove this
  option from your existing Makefile.
- Completely rearranged the recording and replay functions to make them available
  to plugins.
- Replay is now done in a single thread (no more syncing between input and output
  thread necessary).
- It is now possible to record several channels on the same transponder with "budget
  cards". VDR automatically attaches a recording timer to a card that already
  records on the appropriate transponder. How many parallel recordings can actually
  be done depends on the computer's performance. Currently any number of recordings
  gets attached to a card, so you should carefully plan your timers to not exceed
  the limit. On a K6-II/450 it was possible to record three channels from transponder
  12480 with a single WinTV NOVA-S.
- Timers that record two successive shows on the same channel may now overlap and
  will use the same DVB card. During the time where both timers record the data
  is simply saved to both files.
- The following limitations apply to this version:
  + Transfer mode doesn't work yet.
  + The '-a' option (for Dolby Digital audio) doesn't work yet.
  + Switching between different language tracks doesn't work yet.
  + Cutting doesn't work yet.

Have fun!

Klaus Schmidinger
-- 
_______________________________________________________________

Klaus Schmidinger                       Phone: +49-8635-6989-10
CadSoft Computer GmbH                   Fax:   +49-8635-6989-40
Hofmark 2                               Email:   kls@cadsoft.de
D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de
_______________________________________________________________




Home | Main Index | Thread Index