public void StartPage(TeletextPageHeader header, UInt64 presentTime) { _presentTime = presentTime; int mag = header.Magazine(); if (mag != _magId) { ServiceRegistration.Get <ILogger>().Debug("Magazine magid mag: {0}, {1}", _magId, mag); } Assert(mag == _magId, "Inconsistent magazine id"); Assert(_pageNumInProgress == -1 || (_pageNumInProgress >= 100 && _pageNumInProgress <= 966), "PageNumInProgress out of range"); if (header.IsTimeFiller() || !header.IsSubtitle()) { // time filling header to indicate end of page if (_pageNumInProgress != -1) { // if we were working on a previous page its finished now EndPage(); } //LogDebug("Mag %i FILLER ends page %i", magID, pageNumInProgress); Clear(); _pageNumInProgress = -1; return; } if (header.IsSerial() && !_isSerial) { ServiceRegistration.Get <ILogger>().Debug("MagID {0} is in serial mode", _magId); _isSerial = true; } int newPageNum = header.PageNumber(); _language = header.Language(); if (_pageNumInProgress != newPageNum) { //LogDebug("Mag %i, Page %i finished by new page %i", magID, pageNumInProgress, new_page_num); if (_pageNumInProgress != -1) { // if we were working on a previous page its finished now EndPage(); } Clear(); _pageNumInProgress = newPageNum; } if (header.EraseBit()) { Clear(); } Assert(_pageNumInProgress >= 100 && _pageNumInProgress <= 966, "StartPage: pageNumInProgress out of range"); }
public void StartPage(TeletextPageHeader header, UInt64 presentTime) { _presentTime = presentTime; int mag = header.Magazine(); if (mag != _magId) { ServiceRegistration.Get<ILogger>().Debug("Magazine magid mag: {0}, {1}", _magId, mag); } Assert(mag == _magId, "Inconsistent magazine id"); Assert(_pageNumInProgress == -1 || (_pageNumInProgress >= 100 && _pageNumInProgress <= 966), "PageNumInProgress out of range"); if (header.IsTimeFiller() || !header.IsSubtitle()) { // time filling header to indicate end of page if (_pageNumInProgress != -1) { // if we were working on a previous page its finished now EndPage(); } //LogDebug("Mag %i FILLER ends page %i", magID, pageNumInProgress); Clear(); _pageNumInProgress = -1; return; } if (header.IsSerial() && !_isSerial) { ServiceRegistration.Get<ILogger>().Debug("MagID {0} is in serial mode", _magId); _isSerial = true; } int newPageNum = header.PageNumber(); _language = header.Language(); if (_pageNumInProgress != newPageNum) { //LogDebug("Mag %i, Page %i finished by new page %i", magID, pageNumInProgress, new_page_num); if (_pageNumInProgress != -1) { // if we were working on a previous page its finished now EndPage(); } Clear(); _pageNumInProgress = newPageNum; } if (header.EraseBit()) { Clear(); } Assert(_pageNumInProgress >= 100 && _pageNumInProgress <= 966, "StartPage: pageNumInProgress out of range"); }