[vdr] Understanding the dataflow

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Sat Apr 21 11:57:28 CEST 2012

On 20.04.2012 23:58, Roland Tapken wrote:
> Hi,
> there is a long discussion at http://www.vdr-portal.de/board16-video-disk-
> recorder/board55-vdr-plugins/111788-wunschkonzert-livebuffer-plugin/ (german)
> about the old livebuffer patch and how a new one could look alike.
> Since I'm missing some features of a "real" livebuffer very much and have some
> ideas how this could be implemented in an effective and less-invasive way I
> started to familiarize myself into the VDR source.
> I still have problems to understand the way the stream data takes from the the
> dvb device to the screen. I would be very thankfully if you can help me to get
> the "big picture". These are my assumptions. Please correct me where I'm
> wrong, and complete where I missed some point.
> There's a cDevice, I think that's an abstraction of the real hardware.


> cReceiver controls the device by selecting a channel and transportings stream
> data to the player.

Not quite. A cReceiver receives data from the cDevice it has been attached to.
It can write that data to disk, stream it to some remote location, or send it
to a cPlayer (or do whatever else it finds useful).

>  This means, if you watch a show and record another on the
> same device there would be one device and two receivers.
> A device could also be a foreign source, e.g. in streamdev.
> A special receiver is cRecorder. It just selects a channel and writes the
> stream data into a file.
> What is cPlayer? As cTransfer implements both cReceiver and cTransfer

Typo? It should read "cTransfer implements both cReceiver and *cPlayer*":

   class cTransfer : public cReceiver, public cPlayer {

> I thought about it as some kind of frontend abstraction (FF-output, xine,
> streamdev-server). But it seems that cPlayer directly acts on cDevice, and
> that doesn't make sense to me at the moment.

cPlayer sends data to the cDevice - what's not to understand here?

> Furthermore, I'm still not quote sure where all these components where
> attached to each other.

Use the source, Luke! ;-)

You might also want to take a look at PLUGINS.html, especially the sections
on "Players", "Receivers" and "Devices"


More information about the vdr mailing list