> Ralph wrote:
Again, this depends on the hardware.
The current API V4 proposition basically treats each filter as if it
is a streaming device. For software filters this is no problem except
that DMA is probably out of the question. Some hardware only has two recording devices which can do direct DMA of multiplexed sub-streams.
Here, it could make sense to have extra devices. Or you also use
the demux device and let special requests fail.
I think Michael is right in that the design of the pid/TS filters is not optimal because it mixes different stuff in one ioctl.
It would be possible to do the following:
- get rid DVB_DMX_OUT_MEMORY
- add DVB_DMX_SET_DECODING_FILTER to drive the special "decoder filters"; for hardware which has no special filters these would just use a GP filter
- keep DVB_DMX_SET_PID_FILTER for GP filters only (one PID per fd, add DVB_DMX_PAYLOAD_ONLY and DVB_DMX_TS_HEADER_ONLY)
- add DVB_DMX_SET_RECORDING_FILTER in conjunction with DVB_DMX_ADD/DEL_RECORDING_PID for special purpose recording filters; some hardware would just use GP filters internally; this would also get rid of the DVB_DMX_EVENT_LOGGING flag
If you want to record and decode a PID at the same time you would need to open two fds to set the DECODING_FILTER and RECORDING_FILTER for the same PID.
How's that?
Looks better.
But I still think that separating the different filters to different devices is the way to go. Please have a look at my other mail to Ralph:
Regarding the special PID and section filter devices I do not see a real difference compared to having them all in the demux device besides inflating the number of devices.
Me too ;-)
Please refer to the fundamental difference I desribed in my mail to Ralph:
Different demux devices with included filter capabilities suggest to the user that there's hardware behind it. This is currently not the case for any hardware out there. The "demuxes" are input selectors and filters are shared. So it should be possible to open a *filter* as many times as there are h/w filters available, not a "demux" device, where the filters are shared betwenn all "demuxes".
Johannes
CU Michael.
-- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
