Mailing List archive

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

[linux-dvb] Re: Linux DVB API 4 Q's



Rob.McConnell@Zarlink.Com wrote:
> 
> > The current API only allows one filter per fd, so when converting
> > old sw to the new API it doesn't matter.
> 
> We should definitely allow multiple section filters to be attached to a
> single PID.  I need it for my design and I will end up implementing anyway
> (nobody else will on our team). A simple linked list of section filters
> attached to a feed is all that is required, plus the ability of the
> user-space to call the DVB_DMX_SET_SECTION_FILTER more than once with the
> same pid but different filter spec.

You can have more than one section filter per PID, but not on
the same fd. You have to open a new demux fd for each filter.

> Yes I agree, but if we have the generic OTHER type then that has to cover
> the general case of PES data, say.  We have subtitle data, MHEG, MHP,
> private, etc. but we may need different ways to demux the data.  Going back
> to the buffer/threshold point I made earlier, it would be nice to
> distinguish the type of data to demux so that we can setup the required
> buffer size/thresholds or other characteristics.

My experience is that it's bad to code defaults in the driver. It's
better to have buffer size/thresholds or other characteristics in the
API and have the app designer pass appropriate values.

> Please add this, for example.
> 
> #define DVB_DMX_SET_BUFFER_THRESH   _IO(DVB_IOCTL_BASE, 0x??)
> 
> #define DVB_DMX_BUFFER_THRESH_NONE        0     /* No threshold interrupt
> generated */
> #define DVB_DMX_BUFFER_THRESH_TS_PKT      1     /* Threshold interrupt
> generated after receiving a TS packet */
> #define DVB_DMX_BUFFER_THRESH_PES_PKT     2     /* Threshold int generated
> after receiving a full PES packet */
> #define DVB_DMX_BUFFER_THRESH_1QTR        3     /* Buffer 25% full
> generates a threshold interrupt */
> #define_DVB_DMX_BUFFER_THRESH_1HALF       4     /* Buffer 50% full
> generates a threshold interrupt */
> #define DVB_DMX_BUFFER_THRESH_3QTR        5     /* Buffer 75% full
> generates a threshold interrupt */
> 
> Numbers greater than say 100 would actually mean the number of bytes to
> receive before generating a threshold interrupt.  e.g. If the value of 256
> is passed to the ioctl, then each time 256 bytes are received by the h/w
> you will get a threshold interrupt and this number of bytes would then be
> gobbled by the callback function.

OK.


Johannes


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index