Johannes, Thank you for your reply. Unfortunately we have no control over the ts input into the dvr. Also the demux may ultimately be implemented in hardware. What we would like to do is subvert the DMX_OUT_DECODER set up by the application (outside our control) for the audio and video streams into the equivalent of DMX_OUT_TAP which we can then read, perhaps from a ringbuffer per feed, and inject into the software decoder (via the same route that PES input would come from an application such as VDR) However, we cannot see any obvious way of doing this. Best wishes Julian Johannes Stezenbach wrote: On Fri, May 04, 2007, Julian WILSON wrote:We are implementing the current linux dvb video and audio devices in software for a media centre we are building. We are uncertain of the best way to access the functions provided by the core to implement the data paths needed. The first requirement is to support 192 byte transport stream packets which have the 0x47 as byte 4. This is the format used on Blue Ray disks. We are currently doing this by hooking into the dvb_demux.dmx.write function. The second requirement is to receive payload data from the demux rather than 188 byte chunks via the write_to_decoder function. The user will typically set up a pes filter with something like: PesFilter.input = DMX_IN_DVR; PesFilter.output = DMX_OUT_DECODER; PesFilter.pes_type = DMX_PES_VIDEO; PesFilter.pid = Context->VideoId; PesFilter.flags = DMX_IMMEDIATE_START; Result = ioctl (Context->DemuxVideoDevice, DMX_SET_PES_FILTER, &PesFilter); The software will be running within the kernel and we would like to be able to intercept this in such a way that the demuxed pes data can be read from the various different feeds. Are there any mechanisms which allow this kind of access. The reason for this is it seems pointless to demux data that has already been filtered by the dvb-core functions.IMHO using the dvr device for playback would make sense if you have a hardware demux. If you're demuxing in software, then it's probably better to do it in userspace and feed video/audio packets directly to the decoder. This makes it easier to implement trick modes. (I also suspect the dvr playback code has locking problems, and is not tested much as it's only supported for av7110 cards, and isn't used by vdr or other software.) HTH, Johannes |
_______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb