[vdr] [ANNOUNCE] VDR developer version 1.7.24
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:
>>> (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
> 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.
More information about the vdr