On 01/26/2012 04:40 PM, Tony Houghton wrote: > I could do with a little more information about DMX_SET_PES_FILTER. > Specifically I want to use an output type of DMX_OUT_TS_TAP. I believe > there's a limit on how many filters can be set, but I don't know whether > the kernel imposes such a limit or whether it depends on the hardware, > If the latter, how can I read the limit? > > I looked at the code for GStreamer's dvbsrc and that defines a limit of > 32 filters. It also implies that using the "magic number" 8192 as the > pid requests the entire stream. > > I can't find information about these things in the API docs. Is there > somewhere I can get more details. > > If I ended up wanting enough pids to exceed the limit would it work to > allow LIMIT - 1 individual pid filters to be set, then after that set > one for 8192 instead and clear all the others? It has been a long time since I touched this, anyway... Yes 8192 is "all PIDs"; this has to be supported by the hardware, which usually does. All the packets go to the userspace process. If you ask filters, the kernel uses the HW filters if available/enough, otherwise it switches to software filtering at the kernel level. Your application sees only the packets it asked, but the kernel may be getting everything and filtering itself; this can have some performance implication on slow (USB) buses. I suggest you to experiment a little to discover if I said something wrong and if your hardware (driver) behaves as I said. -- Roberto Ragusa mail at robertoragusa.it -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html