public MainPresenter(MainForm form) { _form = form; _folderData = new FolderData(); _folderData.CurrentImageLoaded += OnCurrentImageJustLoaded; _state = new ReaderState(); }
public CarverState(IReaderState readerState, IDataBlockCarver dataBlockCarver, IResultMetadata resultMetadata, IDataReader dataReader, IDataBlockBuilder dataBlockBuilder) { _readerState = readerState; _dataBlockCarver = dataBlockCarver; _resultMetadata = resultMetadata; _dataReader = dataReader; _dataBlockBuilder = dataBlockBuilder; }
public RetryReader(TextReader reader) { this.reader = reader; this.retry = new Stack <char>(); this.readState = new ReaderState(this); this.retryState = new RetryState(this); this.state = readState; }
public Mpeg2SystemReader(BitStreamDataReader dataReader, IMpeg2SystemState state, IReaderState readerState) { _dataReader = dataReader; _state = state; _readerState = readerState; _maxZeroByteStuffingLength = (uint)Mpeg2SystemDetector.Configurable[Mpeg2SystemDetector.ConfigurationKey.MaxZeroByteStuffingLength]; _stuffingBytesResultFormatter = new StuffingBytesResultFormatter(); }
public Mpeg2VideoReader(BitStreamDataReader dataReader, IMpeg2VideoState state, IReaderState readerState) { _dataReader = dataReader; _state = state; _readerState = readerState; _maxZeroByteStuffingLength = (uint)Mpeg2VideoDetector.Configurable[Mpeg2VideoDetector.ConfigurationKey.ParserMaxZeroByteStuffingLength]; ReferenceHeaders = NoDefaultHeaders; }
private void undo(char[] items, int length) { if (length == 0) { return; } do { --length; retry.Push(items[length]); }while (length != 0); state = retryState; }
public void ParseHeader(IReaderState readerState) { bool firstHeader = (_state.NalUnitType == NalUnitType.Invalid); uint maxGapAfterNalUnit = GetMaxGapAfterNalUnit(_state.NalUnitType); long startPosition = _reader.Position; long maxNalUnitStartPosition = Math.Min(_reader.Length, (startPosition + maxGapAfterNalUnit)); NalUnitType previousNalUnitType = _state.NalUnitType; while (_dataReader.State == DataReaderState.Ready) { if (!firstHeader) { while (true) { if ((FindNalUnit(false) == null) || (_reader.Position >= maxNalUnitStartPosition) || (_dataReader.State != DataReaderState.Ready)) { _reader.Position = startPosition; readerState.Invalidate(); return; } var nextNalUnitType = (NalUnitType)(GetNalUnitByte() & 0x1f); if ((_reader.Position - startPosition) <= GetMaxGapBetweenNalUnits(previousNalUnitType, nextNalUnitType)) { break; } _reader.Position++; } } long nalUnitStartPosition = _reader.Position; readerState.Parse(_streamParser, _reader); if (readerState.Valid) { return; // Result is valid } if (firstHeader || (nalUnitStartPosition >= (maxNalUnitStartPosition - 1))) { return; // Done scanning for a valid result } readerState.Recover(); _reader.Position = (nalUnitStartPosition + 1); } // Nothing was found, so the result is invalid readerState.Invalidate(); }
public H264Reader(BitStreamDataReader dataReader, IH264State state, IReaderState readerState) { _dataReader = dataReader; _state = state; _readerState = readerState; Configurable <H264Detector.ConfigurationKey> configurable = H264Detector.Configurable; uint maxGapBetweenPpsAndSlice = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenPpsAndSlice]; uint maxGapBetweenPpsAndSps = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenPpsAndSps]; uint maxGapBetweenNalUnits = (uint)configurable[H264Detector.ConfigurationKey.MaxGapBetweenNalUnits]; uint maxBytesBetweenNalUnits = Math.Max(maxGapBetweenNalUnits, Math.Max(maxGapBetweenPpsAndSps, maxGapBetweenPpsAndSlice)); _maxNalUnitDistance = maxBytesBetweenNalUnits + (uint)configurable[H264Detector.ConfigurationKey.MaxSliceNalUnitLength]; }
public void ParseHeader(IReaderState readerState) { // TODO: if a default header is available, try it here! readerState.Parse(_systemHeaderParser, _reader); }
public void ParseHeader(IReaderState readerState) { readerState.Parse(_videoHeaderParser, _reader); }
private void undo(char item) { retry.Push(item); state = retryState; }
public void ParseHeader(IReaderState readerState) { readerState.Parse(_exampleParser, _exampleReader); }