EPG: EIT alle 10s pollen, XMLTV alle 60s

This commit is contained in:
administrator 2026-05-11 16:50:23 +02:00
parent c978d66c56
commit c91944e965

View file

@ -59,9 +59,24 @@ public partial class MainWindow : Window
_epgTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500) };
_epgTimer.Tick += EpgTimer_Tick;
// Jede Minute prüfen ob Jetzt/Danach noch aktuell sind
_epgRefreshTimer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(60) };
_epgRefreshTimer.Tick += (_, _) => { if (_currentChannel != null) UpdateNextFromEpgService(_currentChannel); };
// Jede 10s: EIT-Daten aus Media neu lesen (libVLC feuert MetaChanged nicht bei laufendem EIT-Update)
// Jede 60s: XMLTV Jetzt/Danach refreshen
_epgRefreshTimer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(10) };
var _epgRefreshTick = 0;
_epgRefreshTimer.Tick += (_, _) =>
{
if (_currentChannel == null) return;
// EIT alle 10s neu lesen (FritzBox-TV)
if (_currentChannel.Source == ChannelSource.FritzBox && _currentMedia != null)
UpdateEpgFromMedia(_currentMedia);
// XMLTV nur alle 60s (Online-TV + Danach für alle)
_epgRefreshTick++;
if (_epgRefreshTick >= 6)
{
_epgRefreshTick = 0;
UpdateNextFromEpgService(_currentChannel);
}
};
_epgRefreshTimer.Start();
Loaded += MainWindow_Loaded;