[vdr] ERROR: can't set PID xxxx on device y

Petri Helin phelin at googlemail.com
Mon Feb 18 19:10:16 CET 2008


Klaus Schmidinger wrote:
> On 02/17/08 18:31, Reinhard Nissl wrote:
>> Hi,
>>
>> Klaus Schmidinger schrieb:
>>
>>> The basic problem, as Reinhard pointed out, is that Transferring()
>>> doesn't return the right value at this time, because the transfer
>>> player hasn't been attached, yet.
>>>
>>> This change determines the Transferring condition from the fact
>>> that the actual device is different than the primary device, which
>>> is already the case at this early stage:
>>>
>>> --- device.c    2008/02/16 13:52:11     1.153
>>> +++ device.c    2008/02/17 15:55:06
>>> @@ -1159,7 +1159,7 @@
>>>
>>>  bool cDevice::Transferring(void) const
>>>  {
>>> -  return dynamic_cast<cTransfer *>(player) != NULL;
>>> +  return ActualDevice() != PrimaryDevice();
>>>  }
>>>
>>>  bool cDevice::AttachPlayer(cPlayer *Player)
>>>
>>>
>>> I hope this doesn't have any other side effects...
>> Hmm, this might break vdr-xine. I remember a discussion which led
>> to the introduction of cDevice::Transferring(), but I'm not sure
>> whether I was using the same code before, which is now used to
>> implement this function.
>>
>> As I'm currently busy with other things, I won't find time to
>> test this change the next days.
> 
> Can somebody else with vdr-xine please test whether this works?
> 
> Although I don't see how this change could affect vdr-xine.
> But it should be checked, anyway.
> 

I have tested this with xineliboutput and have not encountered any 
problems. And it seems to have also fixed whatever it was that was 
causing the error messages.

-Petri



More information about the vdr mailing list