2025-07-17 17:08:19 +02:00

43 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DVBServices;
using skyscraper5.Mpeg2;
namespace skyscraper8.EPGCollectorPort.SkyscraperSide.OpenTV
{
internal class OpenTvSummaryParser : IPsiProcessor
{
private readonly OpenTvHandler _openTvScraper;
public OpenTvSummaryParser(OpenTvHandler openTvScraper)
{
_openTvScraper = openTvScraper;
}
public void GatherPsi(PsiSection section, int sourcePid)
{
if (section.TableId >= 0xa8 && section.TableId <= 0xab)
{
OpenTVSummarySection summarySection = OpenTVSummarySection.ProcessOpenTVSummaryTable(section.GetData());
if (summarySection != null)
{
_openTvScraper.OnSummaries(sourcePid, section.TableId, summarySection);
}
}
else
{
if (section.TableId >= 0xa0 && section.TableId <= 0xa7)
{
//Titles
return;
}
_openTvScraper.OnNonOpenTvTraffic(sourcePid, OpenTvExpectedDataType.Summaries, section.TableId);
}
}
}
}