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.
Right.
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" Klaus _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr