[vdr] possible busy loop in cDvbPlayer::Action?

Luca Olivetti luca at ventoso.org
Sat Jul 2 17:06:18 CEST 2005

Martin Wache wrote:
> Luca Olivetti schrieb:
>>Martin Wache wrote:
>>>I thought about letting the softdevice sleep even when the buffers are
>>>not full, but I think the correct solution would be that vdr sleep in
>>>case it doesn't have some frames to send. Or did I get the Poll()
>>>function wrong? Should Poll() sleep in any case?
>>from device.h
>>  virtual bool Poll(cPoller &Poller, int TimeoutMs = 0);
>>       ///< Returns true if the device itself or any of the file handles in
>>       ///< Poller is ready for further action.
>>       ///< If TimeoutMs is not zero, the device will wait up to the
>>given number
>>       ///< of milleseconds before returning in case there is no immediate
>>       ///< need for data.
> I know this header file, I read it many times, but it doesn't answer my
> question. If you have a closer look at the methods of cDvbDevice and
> cPoller, you will see that the method Poll() just calls the linux system
> call poll() with the event POLLOUT. If you now have a look at the man
> page of poll which states:
> #define POLLOUT     0x0004    /* Writing now will not block */
> wou will see that this is _exactly_ the way the softdevices Poll()
> method is currently implemented. It will only sleep if a write to the
> softdevice would block.

Oh, I see, I was too fast and I misinterpreted your request: I though 
you had the same problem I had with the dxr3 plugin (i.e. it didn't wait 
when it *couldn't* accept data). Maybe a ff card doesn't have this 
problem because it doesn't have big buffers, but I also wonder how is it 
possible that vdr hasn't enough data to give to the device: no matter 
how big the buffer, once it is filled it should stay more or less full, 
unless you're at the end of the file.

- Yo también quiero una Europa libre de Patentes de Software  -
- I want a Software Patents Free Europe too! And you?         -
   EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20050702/57a67807/signature.pgp

More information about the vdr mailing list