/// <summary> /// Erzeugt eine neue Analyseinstanz für einen Nutzdatenstrom. /// </summary> /// <param name="parser">Die zugehörige Instanz zum Gesamtdatenstrom.</param> /// <param name="pid">Die betroffenen Datenstromkennung.</param> /// <param name="callback">Der Empfänger der eigentlichen Nutzdaten.</param> public PESInfo(TSParser parser, ushort pid, Action <byte[]> callback) { // Remember PID = pid; // Create m_Builder = new PESBuilder(parser, callback); }
/// <summary> /// Registriert einen einfacher Verbraucher für einen Datenstrom. /// </summary> /// <param name="pid">Die gewünschte Datenstromkennung.</param> /// <param name="isSITable">Gesetzt, wenn es sich um einen Kontroll- und keinen /// Nutzdatenstrom handelt.</param> /// <param name="callback"></param> public void SetFilter(ushort pid, bool isSITable, Action <byte[]> callback) { // Validate if (callback == null) { throw new ArgumentNullException("callback"); } // Create TSBuilder consumer; if (isSITable) { consumer = new SIBuilder(this, callback); } else { consumer = new PESBuilder(this, callback); } // Remember RegisterCustomFilter(pid, consumer); }
/// <summary> /// Beendet die Nutzung dieser Analyseinstanz. /// </summary> public void Dispose() { // Cleanup using (m_Builder) m_Builder = null; }