Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: UPT-Error related with vdr-1.1.27-1.1.28-c.diff



Martin Holst wrote:
> 
> ...
> > >> Maybe you have already reported this, if so I missed it: how many DVB
> > >> cards do you have? Especially: do you have a second, full featured DVB
> > >> card which does an EPG scan?
> > >
> > > primary device: Hauppauge DVB-S
> > > secondary device: Hauppauge Nexus-S
> > > every card has its own IRQ
> > >
> > >> Finally: in version Version 1.2.5pre2 I have changed it so that during
> > >> the EPG scan no more CA_PMT descriptors are sent to the CI. So even
> > >> if the EPG scan comes across an encrypted channel, it wouldn't try to
> > >> make the CAM decrypt it.
> > >> But then again I assume that you have already tried the latest VDR
> > >> version and still get the errors there, don't you?
> > >
> > > I've already tried 1.2.5.pre1-pre3 and nearly every version <1.2.5 with
> > > the same result. And I've tried 1.2.5pre2 without using masks for
> > > EIT-Filtering - also with the same result...
> > > As it seems to be difficult to point out the piece of code which cause
> > > that error, I've another idea:
> > > Is it possible to check frequently, whether the second device is in a
> > > valid state (i.e. receive no unknown picture type). If so, it would be
> > > possible to find out, when the error occur the first time.  Do you think
> 
> > > that's possible?
> > > Is it also possible to track the actions of the second device (channel
> > > switching, received packets, ...)?
> > >
> > > Martin
> >
> > The "unknown picture type" error can only be reported during a recording
> > or Transfer Mode. So if that happens, you already get an error message in
> > the log.
> > If you want additional actions to take place in that case, just locate the
> > error message in remux.c and add your code there.
> 
> There I've already placed an EmergencyExit(true) to restart vdr if the UPT
> error occur.
> 
> > You might want to use the 'status' plugin that comes with VDR to monitor
> > the devices (maybe add some more output, depending on what you want to
> > test).
> 
> With that plugin I could log, to which channels the secondary device
> switches. Now I noticed, that I get for every channel switch two
> log-entries.
> The first one is a channel switch to channel 0 (which shouldn't exist ;-)
> and the second one switch to the channel, which was intended.
> What's the reason for that behaviour?

From VDR/status.h:

  virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber) {}
               // Indicates a channel switch on the given DVB device.
               // If ChannelNumber is 0, this is before the channel is being switched,
               // otherwise ChannelNumber is the number of the channel that has been switched to.

So the first call is done to allow a plugin to detach cReceivers from the
device or do anything else that might be necessary _before_ the actual
channel switching is done. You may just ignore that call.

> btw. I can verify, that the secondary card only switch to channels, which
> I can receive. (as it should be)
> 
> FYI: Until now I've got no "Unknown Picture Type"-error with vdr 1.1.27
> and the a&b-diff. So I really believe, that the problem is in the c-diff.
> Is it possible to undo the changes in the c-diff in a recent vdr-version
> without to much effort, so that we can test this?

I'm afraid you will have to do this manually. It shouldn't be too hard,
just a lengthy editor session...

Klaus


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index