/// <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> /// Beendet die Nutzung dieser Analyseinstanz. /// </summary> public void Dispose() { // Cleanup using (m_Builder) m_Builder = null; }
/// <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 ); }