[linux-dvb] DVB-H, time slicing, MPE-FEC and multicast...
js at linuxtv.org
Wed Feb 15 13:48:53 CET 2006
On Mon, Feb 13, 2006, frankio wrote:
> I think dvbnet should honor multiprotocol_encapsulation_info found in
> Data_broadcast_descriptor if data_broadcast_id==0x0005 (MPE), so it has
> to scan SDT first (don't know another way to check MAC_address_range value).
The dvb_net interface was meant for IP-via-DVB applications, where
doing MPE (or ULE) processing in userspace would mean
- copying packets to userspace for unpacking / processing
- copying network packets back into kernel
- so that other applications can copy them back from kernel via socket
-> too much overhead
For DVB-H it might be easier to just do it all in userspace, using the
section filter API. Evaluating the data_broadcast_descriptor is the
most complicated part of it ;-), the code for handling the sections
can be copied from dvb-apps/test/test_dvr.c and dvb_net.c, plus you
need to handle the IP+UDP headers (which I think isn't too complicated
for broadcast data, but I have no clue about DVB-H ;-/).
Another way would be to extend the NET_ADD_IF API to include
MAC_address_range. However, I think the MAC from the MPE packet
should always be copied completely, just the section filter
mask (mask_normal etc. in dvb_net.c) should be changed.
More information about the linux-dvb