Mailing List archive

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

[linux-dvb] dmx_stop blocks unexpectedly



Hi,

I have a section filter configured like this:

thread_A:
open ("/dev/dvb/adapter0/demux0", O_RDWR)) < 0

filter[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 ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index