> > streamdev doesn't query for a new device if the current and the next
> > channel has the same transponder. This is checked via the following
> > define:
> > 
> > channels.h:#define ISTRANSPONDER(f1, f2)  (abs((f1) - (f2))<  4) //XXX
> > 
> > All the channels in channel.conf have the same frequency, so streamdev
> > only changes the receivers but doesn't query for a device.
> > I havent understand exactly what you are doing. Do you use an analogue
> > input (like scart) of the pvr500 card and the channel switch script
> > changes the channel of another device ? If so, i could imagine the
> > frequency in channels.conf doesn't matter and you could simply modify
> > the frequencies.
>   The frequency matters since he is using the tuner input.
> Lars.

I think Rob's version of pvrinput has already the code for calling the 
externchannelswitch-script in "case eTelevision" and not only in "case 
eExternalInput". (Otherwise it wouldn't work at startup).

The code in ProvidesChannel() and SetChannelDevice checks not only for the 
same frequency, but also for the channel number:

if ((Channel->Number() == CurrentChannel.Number()) && (CurrentFrequency == 
Channel->Frequency()) && (CurrentInput == input) && (CurrentNorm == norm)) 
When Rob switches to another channel number, pvrinput should return
needsDetachReceivers = true
in ProvidesChannel(). It should also get a call for SetChannelDevice().

The problem is that both functions are never called - but obviously only in 
combination with running streamdev.

vdr mailing list

Reply via email to