ShortText == Description

Message ID 4527A0A4.1040403@cadsoft.de
State New
Headers

Commit Message

Klaus Schmidinger Oct. 7, 2006, 12:42 p.m. UTC
  Klaus Schmidinger wrote:
> Boguslaw Juza wrote:
>>
>> I have investigated it more carefully:
>>
>> Broadcaster sends only shortText.
>>
>> VDR reads the Epg event. At EpgBugFix #6 VDR moves shortText to 
>> description if description is empty
>>
>> EPG in this state are saved in epg.data.
>>
>> After restart VDR reads epg.data. Then scans this event again. Event 
>> already have description, so it doesn't make BugFix #6 and now we have
>> shortText and description the same.
>>
>> Not exacly the same. Becouse "old" descrypion is after BugFix 
>> corrections.
>> So there is no BugFix #7 corection. But at the funcion end we have the 
>> same texts.
> 
> Ah, that's an interesting finding.
> 
> So I guess it will make sense to make sure an event that is
> newly received from the data stream has *all* its data
> refreshed from the stream. If there is no short text, for instance,
> an already existing short text needs to be deleted etc.
> 
> Thanks for this report, I'll see how it can be fixed.

Can you please try the attached patch?
It should fix this problem.

Klaus
  

Comments

Boguslaw Juza Oct. 7, 2006, 2:28 p.m. UTC | #1
On Sat, 7 Oct 2006, Klaus Schmidinger wrote:

> Can you please try the attached patch?
> It should fix this problem.

It works. No any duplicates. Now I have only description, so I have not 
any "Short Text" in channel info...

                                      Boguslaw Juza
  

Patch

--- eit.c	2006/08/05 10:01:21	1.120
+++ eit.c	2006/10/07 12:32:24
@@ -234,10 +234,16 @@ 
             pEvent->SetTitle(ShortEventDescriptor->name.getText(buffer, sizeof(buffer)));
             pEvent->SetShortText(ShortEventDescriptor->text.getText(buffer, sizeof(buffer)));
             }
+         else {
+            pEvent->SetTitle(NULL);
+            pEvent->SetShortText(NULL);
+            }
          if (ExtendedEventDescriptors) {
             char buffer[ExtendedEventDescriptors->getMaximumTextLength(": ") + 1];
             pEvent->SetDescription(ExtendedEventDescriptors->getText(buffer, sizeof(buffer), ": "));
             }
+         else
+            pEvent->SetDescription(NULL);
          }
       delete ExtendedEventDescriptors;
       delete ShortEventDescriptor;