public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* splice question
@ 2007-08-12 16:28 David Härdeman
  2007-08-12 19:41 ` Linus Torvalds
  0 siblings, 1 reply; 3+ messages in thread
From: David Härdeman @ 2007-08-12 16:28 UTC (permalink / raw)
  To: linux-kernel

I'm currently toying with splice. The test program I have sends a MPEG2 
transport stream from a dvb card and sends it to N clients via http.

Since the dvb frontend driver doesn't support splice 
(linux/drivers/media/dvb/dvb-core/dmxdev.c I guess, anyone interested in 
adding splice support to it?) I had to do a normal read() to a 
user-space buffer and then write that to a pipe.

Once the data is in the pipe, my idea was to tee() from the pipe to each 
client socket using nonblocking ops, and then consume the data by 
splicing it to /dev/null.

The problem is that tee() doesn't support sockets. Is this a limitation 
that would be easy to fix?

Otherwise I guess I'd have to add a second pipe, then (in a loop)
tee() from the first to the second pipe and then splice from the 
second pipe to a socket. Doesn't sound very elegant and would need quite 
a lot of extra syscalls.

-- 
David Härdeman

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-08-12 20:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-12 16:28 splice question David Härdeman
2007-08-12 19:41 ` Linus Torvalds
2007-08-12 20:56   ` David Härdeman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox