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
2010/7/6 Frank Schmirler <v...@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
> 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
> 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.
> vdr mailing list
vdr mailing list