/// <summary> /// Überträgte PES Rohdaen in den DirectShow Graphen. /// </summary> /// <param name="version">Die aktuelle Version, zu der diese Daten gehören.</param> /// <param name="buffer">Zwischenspeicher für die Daten - mit <i>null</i> /// wird das Ende des Datenstroms angekündigt.</param> /// <param name="offset">Erstes Byte im Zwischenspeicher, dass zu nutzen ist.</param> /// <param name="length">Anzahl der Bytes im Ziwschenspeicher, die zu nutzen sind.</param> public void Inject(int version, byte[] buffer, int offset, int length) { // Attach to stream _StreamConsumer stream = m_Stream; // See if this is a shutdown request if (buffer == null) { Inject(buffer, offset, length, true, null); } else if (stream != null) { stream.AddPayload(version, buffer, offset, length); } }
/// <summary> /// Beginnt neu mit der Datenstromanalyse. /// </summary> public override void Clear() { // Forward to base base.Clear(); // Stop receiving data using (_StreamConsumer stream = m_Stream) m_Stream = null; // New version m_Version = Interlocked.Increment(ref m_VersionCounter); // Reset all on next packet m_Reset = true; // Reset receiver CreateConsumer(); }
/// <summary> /// Beendet die Nutzung dieser Instanz endgültig. /// </summary> public override void Dispose() { // Stop receiving data using (_StreamConsumer stream = m_Stream) m_Stream = null; // Forward to base base.Dispose(); // Forward to pin if (null != m_Pin) { // Forward m_Pin.Dispose(); // Forget m_Pin = null; } }
/// <summary> /// Erzeugt eine neue Analyseeinheit. /// </summary> private void CreateConsumer() { // Create m_Stream = new _StreamConsumer(this, m_MajorType, m_MinorType); }
/// <summary> /// Beginnt neu mit der Datenstromanalyse. /// </summary> public override void Clear() { // Forward to base base.Clear(); // Stop receiving data using (_StreamConsumer stream = m_Stream) m_Stream = null; // New version m_Version = Interlocked.Increment( ref m_VersionCounter ); // Reset all on next packet m_Reset = true; // Reset receiver CreateConsumer(); }
/// <summary> /// Erzeugt eine neue Analyseeinheit. /// </summary> private void CreateConsumer() { // Create m_Stream = new _StreamConsumer( this, m_MajorType, m_MinorType ); }