Mailing List archive

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

[linux-dvb] V4 API STC compare



Hi Folks,

I am planning on adding a "DVB_DMX_SET_STC_COMPARE" ioctl to my driver to
allow a compare event to be setup in hardware.  When (and if) the STC event
triggers (i.e. the value passed in by the syscall equals the actual STC
value), the user process can determine this occurrence through using the
standard "DVB_DMX_GET_EVENT" ioctl.  Also a "DVB_DMX_CLR_STC_COMPARE" ioctl
would be used to clear/cancel this event if need be (e.g. channel change).

For non-blocking operations, the error code EWOULDBLOCK would be returned
if the event has not occurred using the poll() ioctl.  For blocking
operations, the process would wait and would be woken up when this STC
compare event occurred.

I know that we currently read the STC and setup a user-level timer, but
this method would also benefit the many pieces of h/w out there that allow
single or multiple STC events to be setup.  If the demux h/w can handle 2
or more simultaneous streams each with an independent STC, then we would
use the above ioctls on each logical demux device fd.

I plan on adding:

#define DVB_DMX_NULL_EVENT
#define DVB_DMX_STC_COMPARE_EVENT

to the current list.  If a process is waiting on this event and the
"DVB_DMX_CLR_STC_COMPARE" ioctl is issued on the logical demux device, then
the process would wake up and the event returned would be
"DVB_DMX_NULL_EVENT".

Any more thoughts on putting this functionality in to the V4 API?

Cheers,

Rob : )





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



Home | Main Index | Thread Index