/// <summary> /// Erzeugt einen neuen Analysator. /// </summary> /// <param name="master">Die zugehörige Instanz zur Einspielung der /// Pakete in den Graphen.</param> /// <param name="majorType">Die Hauptart des Datenstromformates.</param> /// <param name="minorType">Die Variante des Datenstromformates.</param> public _StreamConsumer( ESInjector master, Guid majorType, Guid minorType ) { // Remember m_Master = master; // Get the current version m_Version = m_Master.CurrentVersion; // Stream depends on media type if (majorType == Constants.KSDATAFORMAT_TYPE_VIDEO) { // Create video stream if (minorType == Constants.KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO) m_Stream = new TS.VideoStream( this, 514, true ); else m_Stream = new TS.HDTVStream( this, 514, true ); // Make sure that length in PES header is accepted ((TS.VideoStream) m_Stream).AcceptAnyLength = true; } else { // Create audio stream if (minorType == Constants.KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO) m_Stream = new TS.AudioStream( this, 515, false ); else m_Stream = new TS.DolbyStream( this, 515, false ); } }
/// <summary> /// Beendet die Nutzung dieser Instanz endgültig. /// </summary> public void Dispose() { // Forget stream using (TS.StreamBase stream = m_Stream) m_Stream = null; // Forget master m_Master = null; }
/// <summary> /// Legt die Art der Bilddaten fest. /// </summary> /// <param name="type">Die gewünschte Art der Bilddaten.</param> public void SetVideoType(MediaType type) { // Validate using (ESInjector filter = m_Video) if (filter != null) { // Forget m_Video = null; // Cleanup buffer filter.Inject(null, 0, 0); } // Create new if (type != null) { m_Video = new ESInjector(this, "Video", type); } }
/// <summary> /// Erzeugt einen neuen Analysator. /// </summary> /// <param name="master">Die zugehörige Instanz zur Einspielung der /// Pakete in den Graphen.</param> /// <param name="majorType">Die Hauptart des Datenstromformates.</param> /// <param name="minorType">Die Variante des Datenstromformates.</param> public _StreamConsumer(ESInjector master, Guid majorType, Guid minorType) { // Remember m_Master = master; // Get the current version m_Version = m_Master.CurrentVersion; // Stream depends on media type if (majorType == Constants.KSDATAFORMAT_TYPE_VIDEO) { // Create video stream if (minorType == Constants.KSDATAFORMAT_SUBTYPE_MPEG2_VIDEO) { m_Stream = new TS.VideoStream(this, 514, true); } else { m_Stream = new TS.HDTVStream(this, 514, true); } // Make sure that length in PES header is accepted ((TS.VideoStream)m_Stream).AcceptAnyLength = true; } else { // Create audio stream if (minorType == Constants.KSDATAFORMAT_SUBTYPE_MPEG2_AUDIO) { m_Stream = new TS.AudioStream(this, 515, false); } else { m_Stream = new TS.DolbyStream(this, 515, false); } } }