Mailing List archive

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

[vdr] VDR/Xine video integration (was ANNOUNCE vdr-xine-0.4.3 plugin)



Hi!

In the other thread we ended up with this discussion:

I wonder, however, if its possible/planned to enhance the plugin to play also other media types like divx or mp3?
It would be cool to have a plugin similiar to the mplayer-plugin to watch movies. Reencoding (mpeg-pes) wouldnt be needed anymore,
so performance should be better compared to the current mplayer approach.
Such thing I would like too. To enable this cDevice should be extended to selectCodec (vcodec,acodec), so that we vdr-xine and vdr-softdevice
may select all of ffmpegs available codecs.

Well, it's not that easy. xine has a multistage plugin architecture: input-, demuxer-, decoder-, postprocess- and output-plugins.
I've written a new input plugin which interfaces VDR. All other stages are handled by already available plugins in xine. Typically, at least the input plugin is selected by the mrl (vdr:) and optionally the demuxer might be selected (#demux:mpeg_pes). Otherwise it is detected by looking on some sample data, which the input plugin must provide in that case. The demuxer relies on the input plugin to provide data in a certain format (e. g. MPEG PES packets) and then decides, which data is contained in the packets (e. g. BUF_VIDEO_MPEG, BUF_AUDIO_MPEG, BUF_AUDIO_A52). After that, xine decides which decoder to use.
...
Finally, I hope that I could point out, why it is not that easy to support other formats transparently. But if someone finds a solution, I'll do my best to include it into my plugin.

Well, can think of a possible approach to do it:

We modify the Input Plugin and Xine-UI.

The UI must be completely controlable from within vdr. Also we need some feedback from the UI. Hence there needs to be a bidirectional communication channel in some form (domain socket, tcpip, shared mem, whatever). All of the current xine plugin OSD code has to go into the new UI as well.

After this work, the Input Plugin is only needed to transfer VDR video (TV and Records) to the frontend. For Video/MP3 mode we could implement a vdr plugin to "switch" the ui to another MRL. The OSD would still be usable because of the separated control/communication channel.

@Reinhard: Do you think this is possible? Is it worth a try?

Greetings,

--
Thomas Weber






Home | Main Index | Thread Index