public Filter(StreamParserContext owner, FilterDataCallback filterDataCallback, DataType dataType, UInt16 pid, Int64 filterDepth, byte[] mask, byte[] match) : base(owner) { this.DataCallback = filterDataCallback; SetChannelCondition(dataType, pid); SetFilterCondition(filterDepth, mask, match);//Additional filter conditions for section filter. }
public Channel(StreamParserContext owner, UInt16 pid, FilterDataCallback dataCallback, DataType dataType) : base(owner) { this.dataType = dataType; this.pid = pid; this.channelDataCallback = dataCallback; }
public WorkerFileDataSearch(StreamParserContext owner, MessageHandlerDelegate messageCallbackFromOwner, SearchRequest searchRequest) : base(owner, messageCallbackFromOwner) { this.sectionManager = new ManagerSection(owner); this.streamDemux = new StreamDemux(owner); this.searchRequest = searchRequest; //In search mode. We will not parse standard SI/PSI sections, instead ,we will set up a filter for the expected data. Filter filterForSearch = null; if (searchRequest.SearchType == DataType.SECTION) { //To search sections. filterForSearch = new Filter(owner, HandleDataFromDemux, searchRequest.SearchType, searchRequest.SelectedPid, searchRequest.FilterMask.Length, searchRequest.FilterMask, searchRequest.FilterMatch); } else { //To search TS packet or PES packet. filterForSearch = new Filter(owner, HandleDataFromDemux, searchRequest.SearchType, searchRequest.SelectedPid); } //In order to fitler out what we are expecting. streamDemux.AddFilter(filterForSearch); }
public StreamParserCore(StreamParserContext owner, MessageHandlerDelegate messageCallback) : base(owner) { this.streamDemux = new StreamDemux(owner); /** * Create all necessary modules even we don't need all them in some cases. * In live environment,i.e. IP network or device, we will need all of them. */ sectionManager = new ManagerSection(owner); serviceManager = new ManagerService(owner); streamBitrateManager = new ManagerMuxBitrate(); pidManager = new ManagerPid(owner); AddDefaultPidType(); this.messageCallback = messageCallback; //Set up filters to receive standard SI/PSI sections. EnableStandardFilters(streamDemux); }
public WorkerFilePidUpdate(StreamParserContext owner, MessageHandlerDelegate messageCallbackFromOwner) : base(owner, messageCallbackFromOwner) { }
public Filter(StreamParserContext owner, FilterDataCallback filterDataCallback, DataType dataType, UInt16 pid) : base(owner) { this.DataCallback = filterDataCallback; SetChannelCondition(dataType, pid); }
public ManagerPid(StreamParserContext owner) : base(owner) { }
public ManagerService(StreamParserContext owner) : base(owner) { }
public StreamParserSession(StreamParserContext owner) { this.owner = owner; }
public ManagerSection(StreamParserContext owner) : base(owner) { }
public WorkerFileRoutineParsing(StreamParserContext owner, MessageHandlerDelegate messageCallbackFromOwner) : base(owner, messageCallbackFromOwner) { streamParserCore = new StreamParserCore(owner, messageCallbackFromOwner); }
public StreamDemux(StreamParserContext owner) : base(owner) { filterList = new List <Filter>(); }