[vdr] priorities in streamdev

Rainer Blickle rainer.blickle at googlemail.com
Wed Jul 7 07:34:35 CEST 2010


Hi Frank,

my first (and also not nice) fix on my dev system was to detach the
current receiver before calling cDevice::GetDevice. But this is also
only a quickfix because when a timer records, the live tv will be
stopped because of the priority.

My first not-quickfix idea was to add a additional boolean parameter
to the cDevice::GetDevice method, for convenience with a default value
(e.g. detachIfNecessary). If this value is true, the method would
detach the receiver. If this value is false, the method wouldn't
detach. With a value of false, the Method would still be a query
method.

Regards, Rainer

2010/7/6 Frank Schmirler <vdr at schmirler.de>:
> Hi Rainer,
>
> On Mon, 5 Jul 2010 07:28:37 +0200, Rainer Blickle wrote
>> Later in the code of cServerConnection::GetDevice, if the Method
>> cDevice::GetDevice doesn't return a device, the current receiver gets
>> detached. In my infrastructure this doesnt happend because the live
>> receiver will nearly always gets detached ( The only exception is
>> when a timer records). To prevent this, i changed the code in that
>> way that the streamdev-receiver gets detached before calling
>> cDevice::GetDevice).
>
> thanks for tracking this issue down and for the detailed bugreport. The
> DetachAllReceivers part in cDevice::GetDevice(...) was introduced in VDR
> 1.5.0. This change effectively turned this method from being a "query only"
> method into something with side effects.
>
> The proper (though not nice) solution seems to be copying
> cDevice::GetDevice(...) into streamdev server, leaving out the problematic parts.
>
> I quickly hacked together a patch at
> http://www.vdr-developer.org/mantisbt/view.php?id=582. It's totally untested,
> but maybe you want to give it a try. Might take a while until I have time to
> test it.
>
> Regards,
> Frank
>
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>



More information about the vdr mailing list