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.
Regards,
Joachim.