[vdr] [ANNOUNCE] VDR developer version 1.7.24

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Sat Mar 3 12:48:36 CET 2012


On 02.03.2012 18:13, Udo Richter wrote:
> Am 02.03.2012 11:06, schrieb Klaus Schmidinger:
>> On 29.02.2012 21:33, Udo Richter wrote:
>>> Roughly, the callback should be at the places where these two get called:
>>>
>>>       DELETENULL(liveSubtitle);
>>>       DELETENULL(dvbSubtitleConverter);
>>>
>>> (Thats how VDR's own receivers get out of way.)
>>
>> There are two places in GetDevice() where
>> cStatus::MsgChannelSwitch(this, 0)
>> is called, but they are both *after* the final call to GetDevice().
>> And there is this comment
>>
>>    // only report status if we are actually going to switch the channel
>>
>> which refers to a change that was made in version 1.1.10:
>>
>> - Only calling cStatus::MsgChannelSwitch() if a channel is actually
>> going to
>>    be switched or has actually been switched successfully (thanks to Stefan
>>    Huelswitt).
>
>
> Good point. What if VDR wants to switch, but fails. Is it possible that
> the channel change still fails after deleting liveSubtitle and
> dvbSubtitleConverter? How does VDR itself handle this? Need to
> investigate this.

If switching to a certain channel fails, VDR will notice that the
primary device no longer HasProgramme() and will try to switch to
a different channel.

> If a call to MsgChannelSwitch(this, 0) was done on channel change, we
> have to make sure that the corresponding call for the new channel does
> happen, or - worst case - there's a call for the old channel again.
>
>
>> What I really see as a problem here now is that the first call to
>> GetDevice() may call a device's DetachAllReceivers() and the second
>> GetDevice() call may then decide to actually use a different device.
>> I'm currently considering giving GetDevice() another parameter:
>>
>>    static cDevice *GetDevice(const cChannel *Channel, int Priority, bool
>> LiveView, bool Query = false);
>
> +1, as I know that something like this was on some wish lists for some
> time. ;)

I'll release version 1.7.25 later today, so that all these changes can
be reviewed and tested.

Klaus



More information about the vdr mailing list