/// <summary> /// Beendet die Datenübertragung in den DirectShow Graphen und zusätzlich /// eine eventuell laufende Aufzeichnung. /// </summary> /// <param name="pictureOnly">Gesetzt, wenn die Aufzeichnung selbst weiter laufen soll.</param> private void StopReceivers(bool pictureOnly) { // Stop all consumers we registered Device.RemoveProgramGuideConsumer(ReceiveEPG); Device.SetConsumerState(VideoId, null); Device.SetConsumerState(AudioId, null); Device.SetConsumerState(TextId, null); // Restart videotext caching from scratch VideoText.Deactivate(true); // Partial mode if (pictureOnly) { return; } // Stop reader using (var reader = m_InfoReader) { // Forget m_InfoReader = null; // Enforce proper shutdown if (reader != null) { reader.Cancel(); } } // Reset flag m_HasPendingGroupInformation = false; // Stop portal parser if (null != ServiceParser) { // Stop it ServiceParser.Disable(); // Forget it ServiceParser = null; } // Stop recording, too using (SourceStreamsManager recording = RecordingStream) RecordingStream = null; }
/// <summary> /// Beendet die Auswertung der programmzeitschrift für die NVOD Dienste. /// </summary> private void DisableServiceParser() { // Stop service parser if (m_ServiceParser != null) { try { // Shut down m_ServiceParser.Disable(); } catch { // Ignore any error } finally { // Forget m_ServiceParser = null; } } }