[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