had seen that you use timeout for receiving the ts over rtp
one dvbt2 frequency (514) in germany bonn had 3 sdt sections this 3 are represent the complete table see attachment
is it not better insteed the timeouts to use sectionnumber and lastsectionnumber to get the complete data ?
sure for this are some checks needed had the inprogresssection the same PID TableID and VersionNumber
if this checks true
Code:
private HashSet<int> _sectionsCompleted = new HashSet<int>();
Check if this sections are knowing if yes than not parse the rest
Code:
if (_sectionsCompleted.Count == inprogresssection.LastSectionNumber+1)
{
Console.Write("Got have all Sections" );
return;
}
if (_sectionsCompleted.Contains(inprogresssection.SectionNumber))
{
Console.Write("Hashset Contains an SectionNumber with Number :" + inprogresssection.SectionNumber.ToString());
return;
}
if the Section checks return false than parse the section and add this to the Hashset
Code:
_sectionsCompleted.Add(inprogresssection.SectionNumber);
Console.Write("Add SectionNumber :" + inprogresssection.SectionNumber.ToString()+" to Hashset");
so can you be sure that you have all ServiceDescriptions