vdr-1.4.3-1.diff epg problems

Message ID 20061011011832.71403.qmail@web58403.mail.re3.yahoo.com
State New
Headers

Commit Message

V Live Oct. 11, 2006, 1:18 a.m. UTC
  Thank you for your effort. But the attached patch still did not fix the  "no title" in the epg guide or yaepg plugin. But like I said before  removing the eit.c patch from your vdr-1.4.3-1.diff and it works fine.

Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de> wrote:  V Live wrote:
> I patched your vdr-1.4.3-1.diff against my vdr-1.4.3 version and since 
> the epg guide and vdr-yaepg plugin show "no title" in th epg. Seems that 
> there is an error there.
> However if I remove the patches to eit.c and eit.h but keep the rest of 
> the patch the epg guide works like it should.

Well, meanwhile I guess I found it.
The problem only occurs if there is external EPG data (with
table id 0x00). The attached patch should fix that.

Klaus
  

Comments

VDRU VDRU Oct. 11, 2006, 1:44 p.m. UTC | #1
I can confirm this as well.  Tried the new patch, didn't solve the problem.
EIT -1, Klaus - 0  ;)

On 10/10/06, V Live <vlivecd@yahoo.com> wrote:
>
> Thank you for your effort. But the attached patch still did not fix the
> "no title" in the epg guide or yaepg plugin. But like I said before removing
> the eit.c patch from your vdr-1.4.3-1.diff and it works fine.
>
> *Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de>* wrote:
>
> V Live wrote:
> > I patched your vdr-1.4.3-1.diff against my vdr-1.4.3 version and since
> > the epg guide and vdr-yaepg plugin show "no title" in th epg. Seems that
>
> > there is an error there.
> > However if I remove the patches to eit.c and eit.h but keep the rest of
> > the patch the epg guide works like it should.
>
> Well, meanwhile I guess I found it.
> The problem only occurs if there is external EPG data (with
> table id 0x00). The attached patch should fix that.
>
> Klaus
>
> --- eit.c 2006/10/07 12:32:24 1.121
> +++ eit.c 2006/10/09 16:14:36
> @@ -234,7 +234,7 @@
> pEvent->SetTitle(ShortEventDescriptor->name.getText(buffer,
> sizeof(buffer)));
> pEvent->SetShortText(ShortEventDescriptor->text.getText(buffer,
> sizeof(buffer)));
> }
> - else {
> + else if (!HasExternalData) {
> pEvent->SetTitle(NULL);
> pEvent->SetShortText(NULL);
> }
> @@ -242,7 +242,7 @@
> char buffer[ExtendedEventDescriptors->getMaximumTextLength(": ") + 1];
> pEvent->SetDescription(ExtendedEventDescriptors->getText(buffer,
> sizeof(buffer), ": "));
> }
> - else
> + else if (!HasExternalData)
> pEvent->SetDescription(NULL);
> }
> delete ExtendedEventDescriptors;
> @@ -250,7 +250,8 @@
>
> pEvent->SetComponents(Components);
>
> - pEvent->FixEpgBugs();
> + if (!HasExternalData)
> + pEvent->FixEpgBugs();
> if (LinkChannels)
> channel->SetLinkChannels(LinkChannels);
> Modified = true;
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
>
> ------------------------------
> Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small
> Business<http://us.rd.yahoo.com/evt=41244/*http://smallbusiness.yahoo.com/>.
>
>
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
>
>
>
  
Carlos Javier Borroto Oct. 11, 2006, 3:16 p.m. UTC | #2
2006/10/10, V Live <vlivecd@yahoo.com>:
> Thank you for your effort. But the attached patch still did not fix the "no
> title" in the epg guide or yaepg plugin. But like I said before removing the
> eit.c patch from your vdr-1.4.3-1.diff and it works fine.
>
Are you using vdr with DN and EIT patch for this network?, If you do,
I think is important to remark, cause the problem maybe is that this
patch is broken by the recent changes may in vdr source, so you should
seek help from the author of the patch.

regards
Carlos Javier
  
Klaus Schmidinger Oct. 14, 2006, 9:09 a.m. UTC | #3
VDR User wrote:
> I can confirm this as well.  Tried the new patch, didn't solve the 
> problem.  EIT -1, Klaus - 0  ;)

Well, it did solve the problem as far as I was able to reproduce it.
I have external EPG for some channels that don't provide more than
the "present/following" EPG data, and before the last change I
actually had "No title" in all those events on these channels
that were actually in their EIT data. After inserting the additional
'if (!HasExternalData)' checks this problem was gone.

Could it be that your extenal EPG data doesn't have 0 (zero) as
the table id?

Also note that this fixes the problem only for EPG data that is
received *after* the patch has been applied. Any external EPG
data that already has a "No title" title won't change back.

Klaus

> On 10/10/06, *V Live* < vlivecd@yahoo.com <mailto:vlivecd@yahoo.com>> wrote:
> 
>     Thank you for your effort. But the attached patch still did not fix
>     the "no title" in the epg guide or yaepg plugin. But like I said
>     before removing the eit.c patch from your vdr-1.4.3-1.diff and it
>     works fine.
> 
> 
>     */Klaus Schmidinger < Klaus.Schmidinger@cadsoft.de
>     <mailto:Klaus.Schmidinger@cadsoft.de>>/* wrote:
> 
>         V Live wrote:
>         >  I patched your vdr-1.4.3-1.diff against my vdr-1.4.3 version
>         and since
>         >  the epg guide and vdr-yaepg plugin show "no title" in th epg.
>         Seems that
>         >  there is an error there.
>         >  However if I remove the patches to eit.c and eit.h but keep
>         the rest of
>         >  the patch the epg guide works like it should.
> 
>         Well, meanwhile I guess I found it.
>         The problem only occurs if there is external EPG data (with
>         table id 0x00). The attached patch should fix that.
> 
>         Klaus
> ...
  

Patch

--- eit.c 2006/10/07 12:32:24 1.121
+++ eit.c 2006/10/09 16:14:36
@@ -234,7 +234,7 @@ 
             pEvent->SetTitle(ShortEventDescriptor->name.getText(buffer, sizeof(buffer)));
             pEvent->SetShortText(ShortEventDescriptor->text.getText(buffer, sizeof(buffer)));
             }
-         else {
+         else if (!HasExternalData) {
             pEvent->SetTitle(NULL);
             pEvent->SetShortText(NULL);
             }
@@ -242,7 +242,7 @@ 
             char buffer[ExtendedEventDescriptors->getMaximumTextLength(": ") + 1];
             pEvent->SetDescription(ExtendedEventDescriptors->getText(buffer, sizeof(buffer), ": "));
             }
-         else
+         else if (!HasExternalData)
             pEvent->SetDescription(NULL);
          }
       delete ExtendedEventDescriptors;
@@ -250,7 +250,8 @@ 
 
       pEvent->SetComponents(Components);
 
-      pEvent->FixEpgBugs();
+      if (!HasExternalData)
+         pEvent->FixEpgBugs();
       if (LinkChannels)
          channel->SetLinkChannels(LinkChannels);
       Modified = true;