splice question

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

 



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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux