EPG: EIT alle 10s pollen, XMLTV alle 60s
This commit is contained in:
parent
c978d66c56
commit
c91944e965
1 changed files with 18 additions and 3 deletions
|
|
@ -59,9 +59,24 @@ public partial class MainWindow : Window
|
||||||
_epgTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500) };
|
_epgTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(500) };
|
||||||
_epgTimer.Tick += EpgTimer_Tick;
|
_epgTimer.Tick += EpgTimer_Tick;
|
||||||
|
|
||||||
// Jede Minute prüfen ob Jetzt/Danach noch aktuell sind
|
// Jede 10s: EIT-Daten aus Media neu lesen (libVLC feuert MetaChanged nicht bei laufendem EIT-Update)
|
||||||
_epgRefreshTimer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(60) };
|
// Jede 60s: XMLTV Jetzt/Danach refreshen
|
||||||
_epgRefreshTimer.Tick += (_, _) => { if (_currentChannel != null) UpdateNextFromEpgService(_currentChannel); };
|
_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();
|
_epgRefreshTimer.Start();
|
||||||
|
|
||||||
Loaded += MainWindow_Loaded;
|
Loaded += MainWindow_Loaded;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue