[vdr] Concerns about changing the API-definition of 'cStatus::Replaying()' and 'cStatus::Recording()' of VDR?

Oliver Endriss o.endriss at gmx.de
Sun Dec 18 18:59:02 CET 2005

Klaus Schmidinger wrote:
> So it's either
>    void Recording(const cDevice *Device, const char *FileName)
> which would be code compatible but might break plugins at runtime that
> rely on the string being a pure name, or
>    void Recording(const cDevice *Device, const char *Name, const char *FileName)
> which extends the interface to hold a second parameter that contains
> the actual file name (or NULL, if there is none), but would break plugins
> st compile time.
> Same goes for Replaying(), of course.
> To me it's all the same, so let's here the votes.

Imho it is far more dangerous to break a plugin at run-time because
changes are not obvious. Incompatible changes of an interface should
always break compilation. I have no problems to release a new version
of the remote plugin...

Recording/Replaying should pass the _same_ file name (short name, full
name or whatever).

If a recording has been stopped, Recording() should also pass the file
name. Otherwise you never know which recording has stopped. ;-(

For example:
  void Recording(const cDevice *Device, const char *FileName, bool On)

The same should be done for Replaying().
  void Replaying(const cControl *Control, const char *FileName, bool On)

Just my 2 cents.


VDR Remote Plugin available at

More information about the vdr mailing list