Hi,
I have a section filter configured like this:
thread_A:
open ("/dev/dvb/adapter0/demux0", O_RDWR)) < 0filter[0] = 0x02; // TID for PMT mask[0] = 0xff; filter[3] = static_cast<U8>(mPmtSectionVersion << 1); mask[3] = 0x3e; mode[3] = 0x3e; flags |= (LDMX_CHECK_CRC | LDMX_ONESHOT)
ioctl(mFd, DMX_SET_FILTER, &parm)
ioctl(mFd, DMX_START)
read(mFd, pBuffer, count) --> blocks because there is no change in version of section; so far so good
If client wants to stop the filter, it executes thread_B: ioctl(mFd, DMX_STOP)
Now I observe that thread_B, DMX_STOP blocks. Is this behaviour okay? I can't find anything about this in the documentation. I expected a non-blocking DMX_STOP and thread_A returning from read().
Replacing the ioct(DMX_STOP) by close(FileDescriptorSectionFilter) does not work either; thread_A is still blocking.
How should the the API work???
I am using dvb 1.0.1 with saa7146
Edwin
_________________________________________________________________
Hotmail en Messenger on the move http://www.msn.nl/communicatie/smsdiensten/hotmailsmsv2/
-- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
