[vdr] flooded log when using status plugin

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Thu Jan 4 15:35:53 CET 2007


Joachim Wilke wrote:
> Hello everyone,
> 
> when using the status plugin and tuning to a channel without an epg
> schedule, the syslog gets flooded with some hundreds of OsdProgramme
> messages:
> 
> Nov  3 20:16:17 vdr vdr: [4676] status: cStatusTest::OsdChannel 2079
> TechniSat Kanal 50
> Nov  3 20:16:17 vdr vdr: [4676] status: cStatusTest::OsdProgramme
> Nov  3 20:16:17 vdr vdr: [4676] 01:00 (null)
> Nov  3 20:16:17 vdr vdr: [4676]       (null)
> Nov  3 20:16:17 vdr vdr: [4676] 01:00 (null)
> Nov  3 20:16:17 vdr vdr: [4676]       (null)
> Nov  3 20:16:17 vdr vdr: [4676] status: cStatusTest::OsdProgramme
> Nov  3 20:16:17 vdr vdr: [4676] 01:00 (null)
> Nov  3 20:16:17 vdr vdr: [4676]       (null)
> Nov  3 20:16:17 vdr vdr: [4676] 01:00 (null)
> Nov  3 20:16:17 vdr vdr: [4676]       (null)
> [...]
> 
> These messages are caused by the else part in
> cDisplayChannel::DisplayInfo in menu.c:
> 
> void cDisplayChannel::DisplayInfo(void)
> {
>  if (withInfo && channel) {
>     cSchedulesLock SchedulesLock;
>     const cSchedules *Schedules = cSchedules::Schedules(SchedulesLock);
>     if (Schedules) {
>        const cSchedule *Schedule = Schedules->GetSchedule(channel);
>        if (Schedule) {
>           const cEvent *Present = Schedule->GetPresentEvent();
>           const cEvent *Following = Schedule->GetFollowingEvent();
>           if (Present != lastPresent || Following != lastFollowing) {
>              SetTrackDescriptions(channel->Number());
>              displayChannel->SetEvents(Present, Following);
>              cStatus::MsgOsdProgramme(Present ? Present->StartTime()
> : 0, Present ? Present->Title() : NULL, Present ? Present->ShortText()
>              lastPresent = Present;
>              lastFollowing = Following;
>           }
>        }
>        else
>          cStatus::MsgOsdProgramme(0, NULL, NULL, 0, NULL, NULL);
>    }
>  }
> }
> 
> I would suggest removing the else part, because this MsgOsdProgramme
> call provides no information. As an alternative it should be limited
> to one call, similar to the check "(Present != lastPresent ||
> Following != lastFollowing)" some lines above.

There is no such line in the original VDR source - and never has been.

Are you using a patched version of VDR?

Klaus



More information about the vdr mailing list