Mailing List archive

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

[vdr] Re: [ANNOUNCE] vdr-xine-0.4.3 plugin



Hi,

Stefan Lucke wrote:

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.

We should make a feature request to Klaus.
Whats your opinion Reinhard ?
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.

I think, that a different demuxer must be choosen to support divx respectively mp3 transparently. The problem is, that unlinke the decoder, the demuxer cannot be changed on the fly. It is determined when the stream is opened. So you might suggest to close and open the stream again to choose a different demuxer, but this is almost impossible, as it is typically done by the frontend application (e. g. xine, fbxine, ...) which might hold some extra data to manage playback of a stream.

I've seen, that xine can be instructed to remote control the currently active xine process, but I don't think that this would be a good way to go, as it puts a strict dependency on using xine.

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.

Bye.
--
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl@gmx.de




Home | Main Index | Thread Index