FE_READ_STATUS blocking time

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

 



Hi,

I've recently started experimenting with a DVB-T usb stick and the
intent of this post is to understand if what I am seeing is expected
behaviour or not. Therefore, I am not providing any hw, kernel version
etc details at this point but quite happy to do so if required.

Right, I use the FE_SET_PROPERTY ioctl to tune the front end and then
after 200ms. I call the FE_READ_STATUS ioctl to check the lock status.
My original plan was to call this ioclt periodically until lock is
acquired however, even though the device is opened with the O_NONBLOCK
flag, this call blocks for around 500ms and instead of seeing FEC,
viterbi etc blocks locking in incremental steps, it returns when all
the blocks are locked. Once locked, the subsequent FE_READ_STATUS
calls do return within 30ms.

If I unplug the feed before tune, then, each FE_READ_STATUS blocks for
about 500ms.

I also tried using the 'poll' system call on the FE's fd with POLLIN
but when it returns POLLIN in revents, then again FE_READ_STATUS
blocks around 500ms on the first attempt.

So, is there a way to avoid the FE_READ_STATUS block or is it down to
the individual driver implementation?

Also, is there a better way of monitoring the 'lock' status?

Kind regards,

Oz
--
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



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux