Re: Simple question I hope

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

 



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

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux