Mailing List archive

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

[vdr] Re: [PATCH] Old descriptorhandling with vdr 1.2.5



Reinhard Walter Buchner wrote:
> Hi Tilo, Onno, esp Martin,
> 
> > Hi ML,
> >
> > I've attached a patch for vdr 1.2.5 (maybe it works for vdr < 1.2.5)
> 
> The problem with your patch is that it changes *too* many things at
> once. You'll never be able to pinpoint the source of the problem that
> way.
> 
> You now have to start re-inserting the changes made by Klaus, one
> by one to see where the actual error occurs.
> E.g.: your patched changes
> 
> - case RI_CONDITIONAL_ACCESS_SUPPORT: newCaSupport = true;
> - return sessions[i] = new cCiConditionalAccessSupport(i + 1, tc);
> + case RI_CONDITIONAL_ACCESS_SUPPORT: return sessions[i] = new
> cCiConditionalAccessSupport(i + 1, tc);
> case RI_HOST_CONTROL: break; //XXX
> case RI_DATE_TIME: return sessions[i] = new cCiDateTime(i + 1, tc);
> case RI_MMI: return sessions[i] = new cCiMMI(i + 1, tc);
> @@ -1491,8 +1476,6 @@
> UserIO |= sessions[i]->HasUserIO();
> }
> hasUserIO = UserIO;
> - if (newCaSupport)
> - newCaSupport = result = false; // triggers new SetCaPmt at caller!
> 
> The only thing that has changed here is that newCaSupport is set to true
> and below a new SetCaPmt is triggered. Here you should revert to Klaus'
> original routine and simply set the newCaSupport to false. That way, the
> routine below isn't called. Analogous for the other changes. The way you
> patched it we have no idea if the problem results from the ci.c handling
> or the eit processor or if it's just a simple change like calling the
> ProgramID instead of the ServiceID in cSIProcessor::NewCaDescriptor.

You're right in this example. But many of the other changes are related
to each other, so a simple "//" isn't enough. A few lines changed
completely,
so why keep the old things? For debuging-sessions you cannot uncomment 
one line and expect that this will work. 
But you are also right, if we want to track the statement(s) which introduce
the UPT-Error, we've to change step-by-step. Meanwhile we'll see, if this
patch prevents us from the UPT-Error. If it is so, we all could run a
patched
vdr in our "all-day"-machine and on the other hand, we could try to find
the malicous statements...

> Also I would leave all variables, which are simply being defined and
> initialzed out of the patch. Sure, you'll get a few warnings about unused
> variables, but who cares in a debugging situation? This will help make
> the changes more visible.

You're right. But as I said, first we should try to test this patch, it if
helps.
Then we could start debuging and if you want, I can send you a patch
which is made like you described.

Martin

-- 
NEU FÜR ALLE - GMX MediaCenter - für Fotos, Musik, Dateien...
Fotoalbum, File Sharing, MMS, Multimedia-Gruß, GMX FotoService

Jetzt kostenlos anmelden unter http://www.gmx.net

+++ GMX - die erste Adresse für Mail, Message, More! +++



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



Home | Main Index | Thread Index