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