[linux-dvb] splice() for DVB dvr device?

Johann Hanne jhml at gmx.net
Sun Feb 11 14:29:59 CET 2007


I'm currently implementing a streaming server which will stream (part of) the 
TS received from /dev/dvb/adapter?/dvr? to a multicast socket. I'd like to be 
as efficient as possible, so I took at look at the splice() function 
implemented as of Linux 2.6.17 and it looks promising as for most cases I 
could splice() the data from the dvr device directly to the socket. There 
might be two problems though:
- Is there a splice() patch for the DVB drivers? 
http://lwn.net/Articles/178199/ suggests that doing such a thing is possible, 
but I havn't found an implementation yet.
- Is there a way to do a read() from the dvr device without removing the data 
from the queue (i.e. an equivalent for recv()/MSG_PEEK)? I'd need that to 
know the PID of the the TS packet.

Thanks for any hint...

Cheers, Johann

More information about the linux-dvb mailing list