<!-- Some styling for better description lists --><style type='text/css'>dt { font-weight: bold;float: left;display:inline;margin-right: 1em} dd { display:block; margin-left: 2em}</style> ***: dagmcr has quit IRC (Ping timeout: 252 seconds) marc|gonzalez: <u>mchehab</u>: syoung: a general question, suppose the HW demux is only able to filter 16 pids. Would a reasonable design be 1) use HW filtering for up to 16 pids, then if 1 more is requested, remove all filters, and fall-back to software filtering? mchehab: no need to fallback <br> as far as I remember, the core will do sw filtering for the rest marc|gonzalez: <u>mchehab</u>: I don't understand your answer. The core cannot SW filter what is not there. Suppose the full stream has PIDs 0-100. Via the API, the user adds 0, then 1, then 2 ... etc to 15. At this point, the HW only sends PIDs 0-15 and discards PIDs 16-99 <br> then if the user requests PID 16, the HW cannot accept that additional filter. The only(???) solution is to disable filtering, and just rely on SW filtering for everything mchehab: If I'm not mistaken, the number of hw filters is specified, but I don't touch on this code for ages <br> I mean, if the hardware has 16 filters, one filter is unused... if more than 15 filters is needed, the extra filter is set to let it pass everything, and the sw demux will implement the filter <br> I'm almost sure that there are drivers implementing such logic, but it should be double-checked on those drivers with implement hw filtering <br> the best is to look at dvb-usb-v2 drivers, as they're more modern